Ultra Detailed Player Audit - 20260910

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.

20260910_COL@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": 8, "confidence": 0.58, "home_win_probability": 0.58, "away_win_probability": 0.42000000000000004, "predicted_score_text": "COL 4 - 8 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": "COL", "original_runs": 5, "run_delta": -0.522, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": -0.16376840210126506, "contact": -0.33740712442031456, "power": -0.19040572755078755, "discipline": -0.052601587723175, "xwoba": 0.305125, "recent_xwoba": 0.305125, "barrel": 7.525, "ab_hard_contact": -0.17759074149193887, "ab_bat_speed": 69.97506420422458, "ab_strikeout_rate": 0.26997517048961517, "available_players": 9, "top_players": [{"player_id": "687597", "player_name": "Jordan Beck", "position": "RF", "weight": 3.0, "quality": -0.5627868406058503, "contact": -1.325180598187985, "power": -0.9625844718479555, "discipline": -0.704977585906157, "xwoba": 0.243, "recent_xwoba": 0.243, "barrel": 4.3, "ab_hard_contact": -0.44787991314958364, "ab_bat_speed": 72.32421937321938, "ab_strikeout_rate": 0.2764957264957265, "available": 1.0}, {"player_id": "696100", "player_name": "Hunter Goodman", "position": "C", "weight": 4.0, "quality": 0.28234783274795705, "contact": -0.03052998404657092, "power": 1.1374054490672032, "discipline": -0.813771902700474, "xwoba": 0.323, "recent_xwoba": 0.323, "barrel": 15.5, "ab_hard_contact": 0.4488708861059757, "ab_bat_speed": 74.18169717030115, "ab_strikeout_rate": 0.3425757575757576, "available": 1.0}, {"player_id": "681393", "player_name": "Connor Norby", "position": "2B", "weight": 4.0, "quality": -0.5119234442344235, "contact": -0.6853688562921657, "power": -0.46141099377252026, "discipline": -0.22523839864584305, "xwoba": 0.298, "recent_xwoba": 0.298, "barrel": 6.5, "ab_hard_contact": -0.29488654211707177, "ab_bat_speed": 69.25058802816902, "ab_strikeout_rate": 0.3070422535211268, "available": 1.0}, {"player_id": "678662", "player_name": "Ezequiel Tovar", "position": "SS", "weight": 3.0, "quality": -0.538446179423109, "contact": -0.7727180067626237, "power": -0.3771037354185639, "discipline": -0.6137151084622637, "xwoba": 0.275, "recent_xwoba": 0.275, "barrel": 6.4, "ab_hard_contact": -0.6605508988474692, "ab_bat_speed": 69.78692180413832, "ab_strikeout_rate": 0.2493046776232617, "available": 1.0}, {"player_id": "691720", "player_name": "Kyle Karros", "position": "3B", "weight": 3.0, "quality": 0.31791583273715385, "contact": 0.4197049708670513, "power": 0.2025864125072622, "discipline": 0.48997074406086477, "xwoba": 0.337, "recent_xwoba": 0.337, "barrel": 7.8, "ab_hard_contact": 0.4334425358595356, "ab_bat_speed": 68.6863300200339, "ab_strikeout_rate": 0.21054739652870494, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "608331", "player_name": "Max Fried", "quality": 0.782565961039348, "contact": 1.5666333577054201, "command": -0.06374314574314563, "movement": -0.041684235729632535, "xwoba": 0.248, "whiff": 24.5, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}, "home": {"team": "NYY", "original_runs": 8, "run_delta": 0.4864, "adjusted_runs": 8, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": 0.2606424703655285, "contact": 0.21259392948395706, "power": 0.38995576279960653, "discipline": -0.1348764121424979, "xwoba": 0.31915625, "recent_xwoba": 0.31915625, "barrel": 9.16875, "ab_hard_contact": 0.26415097027784906, "ab_bat_speed": 71.84616444983256, "ab_strikeout_rate": 0.2485641955892102, "available_players": 9, "top_players": [{"player_id": "700250", "player_name": "Ben Rice", "position": "DH", "weight": 4.0, "quality": 1.0778016333763476, "contact": 1.0756712619492321, "power": 1.475325053191783, "discipline": 0.29443816500959374, "xwoba": 0.376, "recent_xwoba": 0.376, "barrel": 14.3, "ab_hard_contact": 1.002120111454715, "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.833810036853106, "contact": 0.9890727290561302, "power": 1.1851099562536083, "discipline": -0.16106888732504468, "xwoba": 0.348, "recent_xwoba": 0.348, "barrel": 12.1, "ab_hard_contact": 0.4842943631674167, "ab_bat_speed": 73.18823680124224, "ab_strikeout_rate": 0.16522988505747127, "available": 1.0}, {"player_id": "682987", "player_name": "Spencer Jones", "position": "CF", "weight": 4.0, "quality": 0.39532725371607225, "contact": 0.32164273789883036, "power": 1.3781728343710067, "discipline": -0.8910839002267571, "xwoba": 0.324, "recent_xwoba": 0.324, "barrel": 15.8, "ab_hard_contact": 0.009361449324910953, "ab_bat_speed": 76.17769841269842, "ab_strikeout_rate": 0.40510204081632656, "available": 1.0}, {"player_id": "683011", "player_name": "Anthony Volpe", "position": "2B", "weight": 3.0, "quality": -0.3601949919952661, "contact": -0.4285094114466221, "power": -0.693726508200064, "discipline": 0.24614512471655361, "xwoba": 0.29, "recent_xwoba": 0.29, "barrel": 4.0, "ab_hard_contact": -0.2090063544774618, "ab_bat_speed": 69.8453948801743, "ab_strikeout_rate": 0.24444444444444444, "available": 1.0}, {"player_id": "641355", "player_name": "Cody Bellinger", "position": "LF", "weight": 4.0, "quality": 0.33214474187554033, "contact": 0.5308743067457059, "power": 0.018658040797060474, "discipline": 0.7021054421768709, "xwoba": 0.339, "recent_xwoba": 0.339, "barrel": 5.8, "ab_hard_contact": 0.35639891117930633, "ab_bat_speed": 68.8087738295655, "ab_strikeout_rate": 0.15912698412698412, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "663372", "player_name": "Ryan Feltner", "quality": -0.46546803363469147, "contact": -0.5967787689093415, "command": -0.5564574314574315, "movement": -0.18807760373049315, "xwoba": 0.348, "whiff": 23.7, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 4, "home_runs": 8, "winner_side": "home"}, "adjusted_score": {"away_runs": 4, "home_runs": 8, "winner_side": "home"}, "signals": {"season_quality_edge_home_minus_away": 1.7195, "recent_form_edge_home_minus_away": 1.254, "pitcher_matchup_edge_home_minus_away": 0.0924, "composite_home_edge": 2.1825, "existing_home_win_probability": 0.6858, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 2.1825}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.685756, "uncapped_away_win_probability": 0.314244, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.685756, "discount_factor": 0.85, "published_confidence": 0.58, "guardrail_confidence_cap": 0.58, "guardrail_cap_enforced": true, "applied_discounts": [{"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.7, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.58, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 8, "predicted_score_text": "COL 4 - 8 NYY", "confidence": 0.58, "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": 8, "score_text": "COL 4 - 8 NYY", "winner": "NYY"}, "final_simulation_score": {"away_runs": 4, "home_runs": 8, "score_text": "COL 4 - 8 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": true, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": 0.0924, "recent_form_edge_home_minus_away": 1.254, "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": 8, "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": 5, "published_winner": "NYY", "published_winner_draw_share": 1.0, "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": true, "margin_widening_capped": false, "model_margin": 4, "simulation_margin": 4, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 8}, "simulation_score": {"away_runs": 4, "home_runs": 8}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 4, "final_margin": 4, "winner_quality_edge": 1.7195, "winner": "NYY", "score_reviewed": {"away_runs": 4, "home_runs": 8, "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.58, "internal_signal_score": 0.72, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.58, "confidence_compression_detected": false, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "volatile_margin_profile", "totals_fit": "high_volatility_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 4, "winner_quality_edge": 1.7195, "winner_recent_form_edge": 0.904, "winner_pitcher_matchup_edge": 0.0924, "winner_simulation_draw_rate": 1.0, "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": 5, "median": 9, "max": 13, "range": 8}}, "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 - 8 NYYNYY0.580enhanced_prediction.pre_simulation_targetTrue
Simulation drawCOL 4 - 8 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.8561; empirical=0.5477; weight=0.5000; final=0.7019
P1H2H margin as base featureavailablehome net=7; abs=7; home delta=0.0525; away delta=-0.0525
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=1.7500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=2.1586; recent edge=0.9040; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.9000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5800
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.7696.357-Base ML historical model prediction
2variance_applied46-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction580.5800Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
4embedded_savant_run_environment48-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review48-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target48-Capped at max 12 realistic runs
7simulation_result48-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.5277641707317076,
  "base_low_score_probability": 0.4307491289198606,
  "low_score_signal_threshold": 0.5107491289198606,
  "low_score_signal_strength": 0.09701504181184695,
  "confidence": 0.7126120000000002,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.1,
    "team_form": 1.0,
    "situational": 1.04,
    "combined": 1.2252240000000005
  },
  "prediction": "low_scoring",
  "expected_total_runs": 12,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.9,
  "low_score_model_expected_total_runs": 6.9,
  "final_simulation_total_runs": 12,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 199,
  "near_bucket_sample_size": 27,
  "medium_bucket_sample_size": 199,
  "wide_bucket_sample_size": 283,
  "global_sample_size": 882,
  "bucket_scope": "pooled_0.08",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5477,
  "bayesian_hit_rate": 0.5438,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.7103,
  "raw_pick_probability_unclamped": 0.7103,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.6793,
  "margin_implied_pick_probability": 0.6793,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.6963,
  "score_implied_floor_pick_probability": 0.6696,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.710271,
  "uncapped_away_win_probability": 0.289729,
  "calibrated_pick_probability": 0.6858,
  "predicted_side": "home",
  "reliability": 0.917051,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.946083
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.856144,
  "sample_size": 199,
  "empirical_hit_rate": 0.5477,
  "empirical_weight": 0.5,
  "blended_confidence": 0.701922,
  "published_confidence": 0.58,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 2,
  "sample_weight": 0.03,
  "home_net_margin": 7.0,
  "absolute_net_margin": 7.0,
  "home_average_margin": 3.5,
  "home_run_delta": 0.0525,
  "away_run_delta": -0.0525,
  "evidence": [
    {
      "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": true,
  "home": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724137931034483,
    "runs_scored": 657,
    "runs_allowed": 533,
    "run_differential": 124,
    "run_differential_per_game": 0.8551724137931035,
    "available": true
  },
  "away": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793103448275862,
    "runs_scored": 683,
    "runs_allowed": 830,
    "run_differential": -147,
    "run_differential_per_game": -1.013793103448276,
    "available": true
  },
  "run_differential_edge_per_game": 1.869,
  "win_pct_edge": 0.1931,
  "quality_edge": 1.7195,
  "season_quality_edge": 2.1586,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 2.1586,
    "recent_quality_edge": 0.904,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": 1.7195
  },
  "margin_adjustment": 2.7512,
  "reason": "season-to-date run differential and record moved the score toward the stronger team",
  "margin_adjustment_policy": {
    "adjustment": 2.7512,
    "cap": 4.0,
    "scale": 1.6,
    "quality_edge": 1.7195,
    "season_quality_edge": 2.1586,
    "recent_alignment": "aligned",
    "large_edge_supported_by_recent_form": true,
    "method": "supported_large_edge_up_to_four_runs"
  },
  "adjusted_score": {
    "away_runs": 0.666,
    "home_runs": 11.451,
    "home_win_probability": 0.92
  }
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 8,
      "away_runs": 5,
      "probability": 0.014733644768376334
    },
    {
      "home_runs": 7,
      "away_runs": 5,
      "probability": 0.014631443001248273
    },
    {
      "home_runs": 8,
      "away_runs": 6,
      "probability": 0.014485209416361566
    },
    {
      "home_runs": 7,
      "away_runs": 6,
      "probability": 0.014384730952081657
    },
    {
      "home_runs": 9,
      "away_runs": 5,
      "probability": 0.013760911365369284
    }
  ],
  "home_distribution": {
    "0": 0.01268682180978032,
    "1": 0.021636056130109552,
    "2": 0.03422294085629955,
    "3": 0.050207722546619656,
    "4": 0.06831839974522524,
    "5": 0.08622214367969465,
    "6": 0.10092852240891537,
    "7": 0.10957790228245243,
    "8": 0.11034331245084779,
    "9": 0.10305831084352236,
    "10": 0.08927584936849998,
    "11": 0.07172968596382598,
    "12": 0.05345370790407465,
    "13": 0.036946279446701764,
    "14": 0.023685227103614447,
    "15": 0.014083103264087066,
    "16": 0.007766639409907446,
    "17": 0.003972664490963175,
    "18": 0.0018847102948586333
  },
  "away_distribution": {
    "0": 0.02920966967589919,
    "1": 0.04903009867246978,
    "2": 0.07394938750275298,
    "3": 0.10021715913982318,
    "4": 0.12203524753332382,
    "5": 0.13352548914044435,
    "6": 0.13127401284798274,
    "7": 0.11596556203297297,
    "8": 0.0920481375276564,
    "9": 0.06565029264408996,
    "10": 0.042072083480827985,
    "11": 0.024226298564049096,
    "12": 0.012534753653419106,
    "13": 0.0058274725108343845,
    "14": 0.002434335073454049
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.75,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.58,
  "winner_flipped": false,
  "reasons": [
    "local prediction memory shows 2 straight prior same-side picks"
  ],
  "signals": {
    "predicted_team": "NYY",
    "opponent_team": "COL",
    "h2h_net_margin": 7,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": false,
    "recent_h2h": [
      {
        "date": "2026-09-09",
        "predicted_team_runs": 6,
        "opponent_runs": 1,
        "margin_for_predicted_team": 5,
        "winner": "NYY"
      },
      {
        "date": "2026-09-08",
        "predicted_team_runs": 5,
        "opponent_runs": 3,
        "margin_for_predicted_team": 2,
        "winner": "NYY"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 2,
      "consecutive_same_pick_count": 2,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260909",
          "away": "COL",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 5,
          "raw_pick_probability": 0.783866,
          "artifact": "20260909_COL@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260908",
          "away": "COL",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 2,
          "raw_pick_probability": 0.644809,
          "artifact": "20260908_COL@NYY.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "NYY",
    "guardrail_opponent_team": "COL",
    "output_pre_simulation_winner": "NYY",
    "output_opponent_team": "COL",
    "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": 8,
      "score_text": "COL 4 - 8 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 8,
      "score_text": "COL 4 - 8 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": true,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0924,
      "recent_form_edge_home_minus_away": 1.254,
      "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": 8,
      "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": 5,
        "published_winner": "NYY",
        "published_winner_draw_share": 1.0,
        "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": true,
      "margin_widening_capped": false,
      "model_margin": 4,
      "simulation_margin": 4,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 8
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 8
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 4,
      "final_margin": 4,
      "winner_quality_edge": 1.7195,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 8,
        "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": 145,
      "wins": 83,
      "losses": 62,
      "win_pct": 0.5724137931034483,
      "runs_scored": 657,
      "runs_allowed": 533,
      "run_differential": 124,
      "run_differential_per_game": 0.8551724137931035,
      "available": true
    },
    "away": {
      "team": "COL",
      "games": 145,
      "wins": 55,
      "losses": 90,
      "win_pct": 0.3793103448275862,
      "runs_scored": 683,
      "runs_allowed": 830,
      "run_differential": -147,
      "run_differential_per_game": -1.013793103448276,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.8,
  "final_margin": 0.8,
  "margin_cap": 4.25,
  "season_quality_edge": 1.7195,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.58,
  "final_confidence": 0.6858,
  "calibrated_pick_probability": 0.6858,
  "shrinkage_weight": 0.946083,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 2.2514,
  "calibration_sample_size": 199,
  "calibration_empirical_hit_rate": 0.5477,
  "calibration_bayesian_hit_rate": 0.5438,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 1.7195,
  "reasons": [
    "confidence aligned to the calibrated pick probability",
    "season run-differential edge supports the pick"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 5,
      "home_runs": 8
    },
    "margin": 3,
    "probability_before": 0.685756,
    "margin_implied_home_probability": 0.732588,
    "shrinkage_weight": 0.946083,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.685756,
    "aligned_pick_probability": 0.685756
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 17,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 8,
    "score_text": "COL 4 - 8 NYY",
    "winner": "NYY"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 8,
    "score_text": "COL 4 - 8 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": true,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": 0.0924,
    "recent_form_edge_home_minus_away": 1.254,
    "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": 8,
    "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": 5,
      "published_winner": "NYY",
      "published_winner_draw_share": 1.0,
      "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": true,
    "margin_widening_capped": false,
    "model_margin": 4,
    "simulation_margin": 4,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 8
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 8
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 4,
    "final_margin": 4,
    "winner_quality_edge": 1.7195,
    "winner": "NYY",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 8,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 8,
  "confidence": 0.58,
  "home_win_probability": 0.58,
  "away_win_probability": 0.42000000000000004,
  "predicted_score_text": "COL 4 - 8 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": "COL",
      "original_runs": 5,
      "run_delta": -0.522,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": -0.16376840210126506,
        "contact": -0.33740712442031456,
        "power": -0.19040572755078755,
        "discipline": -0.052601587723175,
        "xwoba": 0.305125,
        "recent_xwoba": 0.305125,
        "barrel": 7.525,
        "ab_hard_contact": -0.17759074149193887,
        "ab_bat_speed": 69.97506420422458,
        "ab_strikeout_rate": 0.26997517048961517,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "687597",
            "player_name": "Jordan Beck",
            "position": "RF",
            "weight": 3.0,
            "quality": -0.5627868406058503,
            "contact": -1.325180598187985,
            "power": -0.9625844718479555,
            "discipline": -0.704977585906157,
            "xwoba": 0.243,
            "recent_xwoba": 0.243,
            "barrel": 4.3,
            "ab_hard_contact": -0.44787991314958364,
            "ab_bat_speed": 72.32421937321938,
            "ab_strikeout_rate": 0.2764957264957265,
            "available": 1.0
          },
          {
            "player_id": "696100",
            "player_name": "Hunter Goodman",
            "position": "C",
            "weight": 4.0,
            "quality": 0.28234783274795705,
            "contact": -0.03052998404657092,
            "power": 1.1374054490672032,
            "discipline": -0.813771902700474,
            "xwoba": 0.323,
            "recent_xwoba": 0.323,
            "barrel": 15.5,
            "ab_hard_contact": 0.4488708861059757,
            "ab_bat_speed": 74.18169717030115,
            "ab_strikeout_rate": 0.3425757575757576,
            "available": 1.0
          },
          {
            "player_id": "681393",
            "player_name": "Connor Norby",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.5119234442344235,
            "contact": -0.6853688562921657,
            "power": -0.46141099377252026,
            "discipline": -0.22523839864584305,
            "xwoba": 0.298,
            "recent_xwoba": 0.298,
            "barrel": 6.5,
            "ab_hard_contact": -0.29488654211707177,
            "ab_bat_speed": 69.25058802816902,
            "ab_strikeout_rate": 0.3070422535211268,
            "available": 1.0
          },
          {
            "player_id": "678662",
            "player_name": "Ezequiel Tovar",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.538446179423109,
            "contact": -0.7727180067626237,
            "power": -0.3771037354185639,
            "discipline": -0.6137151084622637,
            "xwoba": 0.275,
            "recent_xwoba": 0.275,
            "barrel": 6.4,
            "ab_hard_contact": -0.6605508988474692,
            "ab_bat_speed": 69.78692180413832,
            "ab_strikeout_rate": 0.2493046776232617,
            "available": 1.0
          },
          {
            "player_id": "691720",
            "player_name": "Kyle Karros",
            "position": "3B",
            "weight": 3.0,
            "quality": 0.31791583273715385,
            "contact": 0.4197049708670513,
            "power": 0.2025864125072622,
            "discipline": 0.48997074406086477,
            "xwoba": 0.337,
            "recent_xwoba": 0.337,
            "barrel": 7.8,
            "ab_hard_contact": 0.4334425358595356,
            "ab_bat_speed": 68.6863300200339,
            "ab_strikeout_rate": 0.21054739652870494,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "608331",
        "player_name": "Max Fried",
        "quality": 0.782565961039348,
        "contact": 1.5666333577054201,
        "command": -0.06374314574314563,
        "movement": -0.041684235729632535,
        "xwoba": 0.248,
        "whiff": 24.5,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    },
    "home": {
      "team": "NYY",
      "original_runs": 8,
      "run_delta": 0.4864,
      "adjusted_runs": 8,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": 0.2606424703655285,
        "contact": 0.21259392948395706,
        "power": 0.38995576279960653,
        "discipline": -0.1348764121424979,
        "xwoba": 0.31915625,
        "recent_xwoba": 0.31915625,
        "barrel": 9.16875,
        "ab_hard_contact": 0.26415097027784906,
        "ab_bat_speed": 71.84616444983256,
        "ab_strikeout_rate": 0.2485641955892102,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "700250",
            "player_name": "Ben Rice",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.0778016333763476,
            "contact": 1.0756712619492321,
            "power": 1.475325053191783,
            "discipline": 0.29443816500959374,
            "xwoba": 0.376,
            "recent_xwoba": 0.376,
            "barrel": 14.3,
            "ab_hard_contact": 1.002120111454715,
            "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.833810036853106,
            "contact": 0.9890727290561302,
            "power": 1.1851099562536083,
            "discipline": -0.16106888732504468,
            "xwoba": 0.348,
            "recent_xwoba": 0.348,
            "barrel": 12.1,
            "ab_hard_contact": 0.4842943631674167,
            "ab_bat_speed": 73.18823680124224,
            "ab_strikeout_rate": 0.16522988505747127,
            "available": 1.0
          },
          {
            "player_id": "682987",
            "player_name": "Spencer Jones",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.39532725371607225,
            "contact": 0.32164273789883036,
            "power": 1.3781728343710067,
            "discipline": -0.8910839002267571,
            "xwoba": 0.324,
            "recent_xwoba": 0.324,
            "barrel": 15.8,
            "ab_hard_contact": 0.009361449324910953,
            "ab_bat_speed": 76.17769841269842,
            "ab_strikeout_rate": 0.40510204081632656,
            "available": 1.0
          },
          {
            "player_id": "683011",
            "player_name": "Anthony Volpe",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.3601949919952661,
            "contact": -0.4285094114466221,
            "power": -0.693726508200064,
            "discipline": 0.24614512471655361,
            "xwoba": 0.29,
            "recent_xwoba": 0.29,
            "barrel": 4.0,
            "ab_hard_contact": -0.2090063544774618,
            "ab_bat_speed": 69.8453948801743,
            "ab_strikeout_rate": 0.24444444444444444,
            "available": 1.0
          },
          {
            "player_id": "641355",
            "player_name": "Cody Bellinger",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.33214474187554033,
            "contact": 0.5308743067457059,
            "power": 0.018658040797060474,
            "discipline": 0.7021054421768709,
            "xwoba": 0.339,
            "recent_xwoba": 0.339,
            "barrel": 5.8,
            "ab_hard_contact": 0.35639891117930633,
            "ab_bat_speed": 68.8087738295655,
            "ab_strikeout_rate": 0.15912698412698412,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "663372",
        "player_name": "Ryan Feltner",
        "quality": -0.46546803363469147,
        "contact": -0.5967787689093415,
        "command": -0.5564574314574315,
        "movement": -0.18807760373049315,
        "xwoba": 0.348,
        "whiff": 23.7,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 4,
      "home_runs": 8,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 8,
      "winner_side": "home"
    },
    "signals": {
      "season_quality_edge_home_minus_away": 1.7195,
      "recent_form_edge_home_minus_away": 1.254,
      "pitcher_matchup_edge_home_minus_away": 0.0924,
      "composite_home_edge": 2.1825,
      "existing_home_win_probability": 0.6858,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 2.1825
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.685756,
  "uncapped_away_win_probability": 0.314244,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.685756,
    "discount_factor": 0.85,
    "published_confidence": 0.58,
    "guardrail_confidence_cap": 0.58,
    "guardrail_cap_enforced": true,
    "applied_discounts": [
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.7,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.58,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 8,
    "predicted_score_text": "COL 4 - 8 NYY",
    "confidence": 0.58,
    "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": 8,
      "score_text": "COL 4 - 8 NYY",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 8,
      "score_text": "COL 4 - 8 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": true,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": 0.0924,
      "recent_form_edge_home_minus_away": 1.254,
      "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": 8,
      "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": 5,
        "published_winner": "NYY",
        "published_winner_draw_share": 1.0,
        "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": true,
      "margin_widening_capped": false,
      "model_margin": 4,
      "simulation_margin": 4,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 8
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 8
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 4,
      "final_margin": 4,
      "winner_quality_edge": 1.7195,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 8,
        "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.58,
    "internal_signal_score": 0.72,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.58,
    "confidence_compression_detected": false,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "volatile_margin_profile",
    "totals_fit": "high_volatility_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 4,
      "winner_quality_edge": 1.7195,
      "winner_recent_form_edge": 0.904,
      "winner_pitcher_matchup_edge": 0.0924,
      "winner_simulation_draw_rate": 1.0,
      "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": 5,
        "median": 9,
        "max": 13,
        "range": 8
      }
    },
    "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.00141.0014190
Home NYYTrue1.03121.0312190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CHunter Goodman871.04110.5479negative_batter_regression0.32300.22700.457015.5045.5090.3018.5035.4032.608.20-1.0571
CFCole Carrigg2211.00730.0974neutral0.31700.25200.39105.6034.2087.2016.8024.6022.609.10-0.6571
1BTJ Rumfield391.00890.1185negative_batter_regression0.33500.26000.39005.102884.4015.8019.4013.9011.60-1.1429
DHAdael Amador3100.9773-0.3025negative_batter_regression0.27300.20000.345011.1029.6084.2020.6013.4016.2010.80-2
RFJordan Beck6180.9607-0.5234neutral0.24300.20700.28704.3030.1086.7018.7030.7030.406.80-0.0571
LFJake McCarthy1621.00980.1308negative_batter_regression0.32200.27500.41205.3028.7085.6012.6021.5016.205.40-0.8857
2BConnor Norby3340.9826-0.2318neutral0.29800.21100.34006.5035.3086.7018.203129.6010.80-0.2571
3BKyle Karros1841.04540.6060neutral0.33700.25500.40107.8040.9089.3013.3023.5020.4011.80-0.1429
SSEzequiel Tovar6450.9797-0.2709neutral0.27500.22200.36006.4033.2087.4017.702925.805.900.4571

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFJasson Domínguez5110.9984-0.0211neutral0.29100.25300.37005.7039.6088.3015.5024.3021.204.100.2571
1BLuis García Jr.601.07761.0347neutral0.34800.28300.497012.1046.5091.6011.5020.4017.104.70-0.5429
DHBen Rice711.11051.4740neutral0.37600.26700.510014.3048.609214.6025.8024.7012.100
LFCody Bellinger311.04610.6153neutral0.33900.27300.40805.8036.208917.402015.9011.200.1429
SSGeorge Lombard Jr.2140.9887-0.1506neutral0.28300.23100.32806.3034.4085.504.5025.3029.107.80-0.1429
2BAnthony Volpe1990.9810-0.2535neutral0.29000.23100.3150435.4087.8012.3025.7023.2011.30-0.1143
3BRyan McMahon3351.02640.3518neutral0.30400.23500.39009.2047.2090.9013.2030.9029.808.100.4857
CAustin Wells2751.00210.0286neutral0.29000.21000.35106.7043.3089.402028.1027.3010.800.7714
CFSpencer Jones1941.04960.6610neutral0.32400.23500.438015.8055.5094.1018.6038.3036.609.70-0.1714
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0312,
    "raw_average_factor": 1.0312,
    "team_espn_average_rank": 210.0,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "691176",
        "player_name": "Jasson Domínguez",
        "offense_factor": 0.9984,
        "quality_score": -0.0211,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "691176",
          "espn_id": 42401,
          "player_name": "Jasson Dominguez",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 511,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 511,
            "gp_value": 56.0,
            "gp_rank": 371,
            "ab_value": 205.0,
            "ab_rank": 308,
            "r_value": 21.0,
            "r_rank": 341,
            "h_value": 47.0,
            "h_rank": 309,
            "avg_value": 0.2292682,
            "avg_rank": null,
            "2b_value": 12.0,
            "2b_rank": 243,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 6.0,
            "hr_rank": 280,
            "rbi_value": 14.0,
            "rbi_rank": 380,
            "tb_value": 77.0,
            "tb_rank": 1970,
            "bb_value": 9.0,
            "bb_rank": 407,
            "so_value": 46.0,
            "so_rank": 326,
            "sb_value": 7.0,
            "sb_rank": 136,
            "obp_value": 0.2685185,
            "obp_rank": "-",
            "slg_value": 0.3756097,
            "slg_rank": "-",
            "ops_value": 0.6441282,
            "ops_rank": null,
            "war_value": -0.18,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 212.0,
          "k_percent": 21.2,
          "bb_percent": 4.1,
          "woba": 0.282,
          "xwoba": 0.291,
          "xba": 0.253,
          "xslg": 0.37,
          "sweet_spot_percent": 30.8,
          "barrel_batted_rate": 5.7,
          "hard_hit_percent": 39.6,
          "exit_velocity_avg": 88.3,
          "launch_angle_avg": 15.5,
          "whiff_percent": 24.3,
          "swing_percent": 50.9
        },
        "components": {
          "expected_quality": -0.0673,
          "regression_edge": 0.2571,
          "xwoba_edge": -0.2571,
          "xba_edge": 0.4857,
          "xslg_edge": 0.0714,
          "barrel_edge": -0.2,
          "hard_hit_edge": 0.3286,
          "exit_velocity_edge": -0.04,
          "sweet_spot_edge": -0.4167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "671277",
        "player_name": "Luis García Jr.",
        "offense_factor": 1.0776,
        "quality_score": 1.0347,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "671277",
          "espn_id": 40459,
          "player_name": "Luis Garcia Jr.",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 60,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 60,
            "gp_value": 135.0,
            "gp_rank": 82,
            "ab_value": 469.0,
            "ab_rank": 95,
            "r_value": 64.0,
            "r_rank": 96,
            "h_value": 135.0,
            "h_rank": 50,
            "avg_value": 0.2878464,
            "avg_rank": 14.0,
            "2b_value": 26.0,
            "2b_rank": 47,
            "3b_value": 5.0,
            "3b_rank": 14,
            "hr_value": 29.0,
            "hr_rank": 18,
            "rbi_value": 89.0,
            "rbi_rank": 11,
            "tb_value": 258.0,
            "tb_rank": 179,
            "bb_value": 23.0,
            "bb_rank": 260,
            "so_value": 86.0,
            "so_rank": 158,
            "sb_value": 5.0,
            "sb_rank": 175,
            "obp_value": 0.319838,
            "obp_rank": "88",
            "slg_value": 0.5501066,
            "slg_rank": "3",
            "ops_value": 0.8699446,
            "ops_rank": 13.0,
            "war_value": 3.06,
            "war_rank": 55.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 424.0,
          "k_percent": 17.1,
          "bb_percent": 4.7,
          "woba": 0.367,
          "xwoba": 0.348,
          "xba": 0.283,
          "xslg": 0.497,
          "sweet_spot_percent": 33.4,
          "barrel_batted_rate": 12.1,
          "hard_hit_percent": 46.5,
          "exit_velocity_avg": 91.6,
          "launch_angle_avg": 11.5,
          "whiff_percent": 20.4,
          "swing_percent": 52.8
        },
        "components": {
          "expected_quality": 1.2916,
          "regression_edge": -0.5429,
          "xwoba_edge": 1.3714,
          "xba_edge": 1.3429,
          "xslg_edge": 1.8857,
          "barrel_edge": 1.2222,
          "hard_hit_edge": 1.3143,
          "exit_velocity_edge": 1.28,
          "sweet_spot_edge": 0.0167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "700250",
        "player_name": "Ben Rice",
        "offense_factor": 1.1105,
        "quality_score": 1.474,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "700250",
          "espn_id": 5016968,
          "player_name": "Ben Rice",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 71,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 71,
            "gp_value": 139.0,
            "gp_rank": 54,
            "ab_value": 519.0,
            "ab_rank": 48,
            "r_value": 90.0,
            "r_rank": 10,
            "h_value": 133.0,
            "h_rank": 57,
            "avg_value": 0.256262,
            "avg_rank": 70.0,
            "2b_value": 22.0,
            "2b_rank": 98,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 36.0,
            "hr_rank": 7,
            "rbi_value": 88.0,
            "rbi_rank": 12,
            "tb_value": 269.0,
            "tb_rank": 208,
            "bb_value": 72.0,
            "bb_rank": 23,
            "so_value": 148.0,
            "so_rank": 28,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3522537,
            "obp_rank": "39",
            "slg_value": 0.5183044,
            "slg_rank": "9",
            "ops_value": 0.8705581,
            "ops_rank": 12.0,
            "war_value": 2.85,
            "war_rank": 64.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 507.0,
          "k_percent": 24.7,
          "bb_percent": 12.1,
          "woba": 0.376,
          "xwoba": 0.376,
          "xba": 0.267,
          "xslg": 0.51,
          "sweet_spot_percent": 38.9,
          "barrel_batted_rate": 14.3,
          "hard_hit_percent": 48.6,
          "exit_velocity_avg": 92.0,
          "launch_angle_avg": 14.6,
          "whiff_percent": 25.8,
          "swing_percent": 43.9
        },
        "components": {
          "expected_quality": 1.7139,
          "regression_edge": 0.0,
          "xwoba_edge": 2.1714,
          "xba_edge": 0.8857,
          "xslg_edge": 2.0714,
          "barrel_edge": 1.7111,
          "hard_hit_edge": 1.6143,
          "exit_velocity_edge": 1.44,
          "sweet_spot_edge": 0.9333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "641355",
        "player_name": "Cody Bellinger",
        "offense_factor": 1.0461,
        "quality_score": 0.6153,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "641355",
          "espn_id": 33912,
          "player_name": "Cody Bellinger",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 31,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 31,
            "gp_value": 118.0,
            "gp_rank": 150,
            "ab_value": 440.0,
            "ab_rank": 111,
            "r_value": 65.0,
            "r_rank": 86,
            "h_value": 116.0,
            "h_rank": 93,
            "avg_value": 0.2636363,
            "avg_rank": 59.0,
            "2b_value": 23.0,
            "2b_rank": 83,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 13.0,
            "hr_rank": 142,
            "rbi_value": 63.0,
            "rbi_rank": 84,
            "tb_value": 184.0,
            "tb_rank": 490,
            "bb_value": 56.0,
            "bb_rank": 57,
            "so_value": 80.0,
            "so_rank": 185,
            "sb_value": 10.0,
            "sb_rank": 88,
            "obp_value": 0.3426294,
            "obp_rank": "51",
            "slg_value": 0.4181818,
            "slg_rank": "78",
            "ops_value": 0.7608112,
            "ops_rank": 62.0,
            "war_value": 4.23,
            "war_rank": 31.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 427.0,
          "k_percent": 15.9,
          "bb_percent": 11.2,
          "woba": 0.334,
          "xwoba": 0.339,
          "xba": 0.273,
          "xslg": 0.408,
          "sweet_spot_percent": 38.8,
          "barrel_batted_rate": 5.8,
          "hard_hit_percent": 36.2,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 17.4,
          "whiff_percent": 20.0,
          "swing_percent": 46.8
        },
        "components": {
          "expected_quality": 0.6922,
          "regression_edge": 0.1429,
          "xwoba_edge": 1.1143,
          "xba_edge": 1.0571,
          "xslg_edge": 0.6143,
          "barrel_edge": -0.1778,
          "hard_hit_edge": -0.1571,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": 0.9167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "806146",
        "player_name": "George Lombard Jr.",
        "offense_factor": 0.9887,
        "quality_score": -0.1506,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "806146",
          "espn_id": 5149070,
          "player_name": "George Lombard Jr.",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 214,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 214,
            "gp_value": 28.0,
            "gp_rank": 482,
            "ab_value": 96.0,
            "ab_rank": 439,
            "r_value": 14.0,
            "r_rank": 403,
            "h_value": 23.0,
            "h_rank": 418,
            "avg_value": 0.2395833,
            "avg_rank": null,
            "2b_value": 2.0,
            "2b_rank": 481,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 3.0,
            "hr_rank": 369,
            "rbi_value": 11.0,
            "rbi_rank": 414,
            "tb_value": 36.0,
            "tb_rank": 2284,
            "bb_value": 8.0,
            "bb_rank": 422,
            "so_value": 30.0,
            "so_rank": 422,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.2990654,
            "obp_rank": "-",
            "slg_value": 0.375,
            "slg_rank": "-",
            "ops_value": 0.6740654,
            "ops_rank": null,
            "war_value": 0.97,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 49.0,
          "k_percent": 29.1,
          "bb_percent": 7.8,
          "woba": 0.288,
          "xwoba": 0.283,
          "xba": 0.231,
          "xslg": 0.328,
          "sweet_spot_percent": 37.5,
          "barrel_batted_rate": 6.3,
          "hard_hit_percent": 34.4,
          "exit_velocity_avg": 85.5,
          "launch_angle_avg": 4.5,
          "whiff_percent": 25.3,
          "swing_percent": 44.3
        },
        "components": {
          "expected_quality": -0.3658,
          "regression_edge": -0.1429,
          "xwoba_edge": -0.4857,
          "xba_edge": -0.1429,
          "xslg_edge": -0.5286,
          "barrel_edge": -0.0667,
          "hard_hit_edge": -0.4143,
          "exit_velocity_edge": -1.16,
          "sweet_spot_edge": 0.7,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "683011",
        "player_name": "Anthony Volpe",
        "offense_factor": 0.981,
        "quality_score": -0.2535,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "683011",
          "espn_id": 42547,
          "player_name": "Anthony Volpe",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 199,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 199,
            "gp_value": 56.0,
            "gp_rank": 371,
            "ab_value": 171.0,
            "ab_rank": 352,
            "r_value": 20.0,
            "r_rank": 351,
            "h_value": 41.0,
            "h_rank": 336,
            "avg_value": 0.239766,
            "avg_rank": null,
            "2b_value": 9.0,
            "2b_rank": 291,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 1.0,
            "hr_rank": 463,
            "rbi_value": 19.0,
            "rbi_rank": 346,
            "tb_value": 55.0,
            "tb_rank": 2294,
            "bb_value": 22.0,
            "bb_rank": 269,
            "so_value": 45.0,
            "so_rank": 328,
            "sb_value": 7.0,
            "sb_rank": 136,
            "obp_value": 0.3247422,
            "obp_rank": "-",
            "slg_value": 0.3216374,
            "slg_rank": "-",
            "ops_value": 0.6463796,
            "ops_rank": null,
            "war_value": 1.07,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 186.0,
          "k_percent": 23.2,
          "bb_percent": 11.3,
          "woba": 0.294,
          "xwoba": 0.29,
          "xba": 0.231,
          "xslg": 0.315,
          "sweet_spot_percent": 32.3,
          "barrel_batted_rate": 4.0,
          "hard_hit_percent": 35.4,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 12.3,
          "whiff_percent": 25.7,
          "swing_percent": 44.6
        },
        "components": {
          "expected_quality": -0.33,
          "regression_edge": -0.1143,
          "xwoba_edge": -0.2857,
          "xba_edge": -0.1429,
          "xslg_edge": -0.7143,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -0.2714,
          "exit_velocity_edge": -0.24,
          "sweet_spot_edge": -0.1667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "641857",
        "player_name": "Ryan McMahon",
        "offense_factor": 1.0264,
        "quality_score": 0.3518,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "641857",
          "espn_id": 33247,
          "player_name": "Ryan McMahon",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 335,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 335,
            "gp_value": 113.0,
            "gp_rank": 163,
            "ab_value": 296.0,
            "ab_rank": 229,
            "r_value": 29.0,
            "r_rank": 280,
            "h_value": 63.0,
            "h_rank": 256,
            "avg_value": 0.2128378,
            "avg_rank": null,
            "2b_value": 13.0,
            "2b_rank": 222,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 10.0,
            "hr_rank": 183,
            "rbi_value": 33.0,
            "rbi_rank": 254,
            "tb_value": 106.0,
            "tb_rank": 1605,
            "bb_value": 26.0,
            "bb_rank": 232,
            "so_value": 97.0,
            "so_rank": 125,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.28,
            "obp_rank": "-",
            "slg_value": 0.3581081,
            "slg_rank": "-",
            "ops_value": 0.6381081,
            "ops_rank": null,
            "war_value": 0.28,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 299.0,
          "k_percent": 29.8,
          "bb_percent": 8.1,
          "woba": 0.287,
          "xwoba": 0.304,
          "xba": 0.235,
          "xslg": 0.39,
          "sweet_spot_percent": 32.8,
          "barrel_batted_rate": 9.2,
          "hard_hit_percent": 47.2,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 13.2,
          "whiff_percent": 30.9,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": 0.3301,
          "regression_edge": 0.4857,
          "xwoba_edge": 0.1143,
          "xba_edge": -0.0286,
          "xslg_edge": 0.3571,
          "barrel_edge": 0.5778,
          "hard_hit_edge": 1.4143,
          "exit_velocity_edge": 1.0,
          "sweet_spot_edge": -0.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "669224",
        "player_name": "Austin Wells",
        "offense_factor": 1.0021,
        "quality_score": 0.0286,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669224",
          "espn_id": 4683349,
          "player_name": "Austin Wells",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 275,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 275,
            "gp_value": 110.0,
            "gp_rank": 174,
            "ab_value": 303.0,
            "ab_rank": 224,
            "r_value": 31.0,
            "r_rank": 263,
            "h_value": 55.0,
            "h_rank": 277,
            "avg_value": 0.1815181,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": 330,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 10.0,
            "hr_rank": 183,
            "rbi_value": 28.0,
            "rbi_rank": 283,
            "tb_value": 92.0,
            "tb_rank": 1734,
            "bb_value": 38.0,
            "bb_rank": 148,
            "so_value": 94.0,
            "so_rank": 137,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.2774566,
            "obp_rank": "-",
            "slg_value": 0.3036303,
            "slg_rank": "-",
            "ops_value": 0.5810869,
            "ops_rank": null,
            "war_value": 0.55,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 279.0,
          "k_percent": 27.3,
          "bb_percent": 10.8,
          "woba": 0.263,
          "xwoba": 0.29,
          "xba": 0.21,
          "xslg": 0.351,
          "sweet_spot_percent": 33.8,
          "barrel_batted_rate": 6.7,
          "hard_hit_percent": 43.3,
          "exit_velocity_avg": 89.4,
          "launch_angle_avg": 20.0,
          "whiff_percent": 28.1,
          "swing_percent": 47.0
        },
        "components": {
          "expected_quality": -0.0923,
          "regression_edge": 0.7714,
          "xwoba_edge": -0.2857,
          "xba_edge": -0.7429,
          "xslg_edge": -0.2,
          "barrel_edge": 0.0222,
          "hard_hit_edge": 0.8571,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": 0.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "682987",
        "player_name": "Spencer Jones",
        "offense_factor": 1.0496,
        "quality_score": 0.661,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "682987",
          "espn_id": 4867424,
          "player_name": "Spencer Jones",
          "team": "NYY",
          "role": "batter",
          "espn_rank": 194,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 194,
            "gp_value": 72.0,
            "gp_rank": 325,
            "ab_value": 204.0,
            "ab_rank": 311,
            "r_value": 30.0,
            "r_rank": 273,
            "h_value": 50.0,
            "h_rank": 293,
            "avg_value": 0.245098,
            "avg_rank": null,
            "2b_value": 12.0,
            "2b_rank": 243,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 9.0,
            "hr_rank": 209,
            "rbi_value": 31.0,
            "rbi_rank": 263,
            "tb_value": 91.0,
            "tb_rank": 1441,
            "bb_value": 24.0,
            "bb_rank": 250,
            "so_value": 83.0,
            "so_rank": 174,
            "sb_value": 9.0,
            "sb_rank": 105,
            "obp_value": 0.3260869,
            "obp_rank": "-",
            "slg_value": 0.4460784,
            "slg_rank": "-",
            "ops_value": 0.7721653,
            "ops_rank": null,
            "war_value": 1.12,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 160.0,
          "k_percent": 36.6,
          "bb_percent": 9.7,
          "woba": 0.33,
          "xwoba": 0.324,
          "xba": 0.235,
          "xslg": 0.438,
          "sweet_spot_percent": 43.3,
          "barrel_batted_rate": 15.8,
          "hard_hit_percent": 55.5,
          "exit_velocity_avg": 94.1,
          "launch_angle_avg": 18.6,
          "whiff_percent": 38.3,
          "swing_percent": 53.2
        },
        "components": {
          "expected_quality": 1.0847,
          "regression_edge": -0.1714,
          "xwoba_edge": 0.6857,
          "xba_edge": -0.0286,
          "xslg_edge": 1.0429,
          "barrel_edge": 2.0444,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.28,
          "sweet_spot_edge": 1.6667,
          "launch_angle_hr_bonus": 0.45
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0014,
    "raw_average_factor": 1.0014,
    "team_espn_average_rank": 288.89,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "C",
        "player_id": "696100",
        "player_name": "Hunter Goodman",
        "offense_factor": 1.0411,
        "quality_score": 0.5479,
        "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": 87,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 87,
            "gp_value": 125.0,
            "gp_rank": 127,
            "ab_value": 466.0,
            "ab_rank": 97,
            "r_value": 78.0,
            "r_rank": 39,
            "h_value": 115.0,
            "h_rank": 94,
            "avg_value": 0.2467811,
            "avg_rank": 86.0,
            "2b_value": 18.0,
            "2b_rank": 149,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 37.0,
            "hr_rank": 5,
            "rbi_value": 78.0,
            "rbi_rank": 40,
            "tb_value": 246.0,
            "tb_rank": 536,
            "bb_value": 42.0,
            "bb_rank": 118,
            "so_value": 167.0,
            "so_rank": 11,
            "sb_value": 5.0,
            "sb_rank": 175,
            "obp_value": 0.3133462,
            "obp_rank": "103",
            "slg_value": 0.5278969,
            "slg_rank": "6",
            "ops_value": 0.8412431,
            "ops_rank": 19.0,
            "war_value": 2.49,
            "war_rank": 72.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 453.0,
          "k_percent": 32.6,
          "bb_percent": 8.2,
          "woba": 0.36,
          "xwoba": 0.323,
          "xba": 0.227,
          "xslg": 0.457,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 15.5,
          "hard_hit_percent": 45.5,
          "exit_velocity_avg": 90.3,
          "launch_angle_avg": 18.5,
          "whiff_percent": 35.4,
          "swing_percent": 54.2
        },
        "components": {
          "expected_quality": 0.8092,
          "regression_edge": -1.0571,
          "xwoba_edge": 0.6571,
          "xba_edge": -0.2571,
          "xslg_edge": 1.3143,
          "barrel_edge": 1.9778,
          "hard_hit_edge": 1.1714,
          "exit_velocity_edge": 0.76,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "CF",
        "player_id": "694249",
        "player_name": "Cole Carrigg",
        "offense_factor": 1.0073,
        "quality_score": 0.0974,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694249",
          "espn_id": 5149102,
          "player_name": "Cole Carrigg",
          "team": "COL",
          "role": "batter",
          "espn_rank": 221,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 221,
            "gp_value": 76.0,
            "gp_rank": 315,
            "ab_value": 264.0,
            "ab_rank": 254,
            "r_value": 42.0,
            "r_rank": 199,
            "h_value": 69.0,
            "h_rank": 235,
            "avg_value": 0.2613636,
            "avg_rank": null,
            "2b_value": 19.0,
            "2b_rank": 133,
            "3b_value": 4.0,
            "3b_rank": 19,
            "hr_value": 7.0,
            "hr_rank": 252,
            "rbi_value": 39.0,
            "rbi_rank": 206,
            "tb_value": 117.0,
            "tb_rank": 1162,
            "bb_value": 28.0,
            "bb_rank": 209,
            "so_value": 69.0,
            "so_rank": 231,
            "sb_value": 9.0,
            "sb_rank": 105,
            "obp_value": 0.3366666,
            "obp_rank": "-",
            "slg_value": 0.4431818,
            "slg_rank": "-",
            "ops_value": 0.7798484,
            "ops_rank": null,
            "war_value": 0.93,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 229.0,
          "k_percent": 22.6,
          "bb_percent": 9.1,
          "woba": 0.34,
          "xwoba": 0.317,
          "xba": 0.252,
          "xslg": 0.391,
          "sweet_spot_percent": 36.2,
          "barrel_batted_rate": 5.6,
          "hard_hit_percent": 34.2,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 16.8,
          "whiff_percent": 24.6,
          "swing_percent": 51.7
        },
        "components": {
          "expected_quality": 0.2202,
          "regression_edge": -0.6571,
          "xwoba_edge": 0.4857,
          "xba_edge": 0.4571,
          "xslg_edge": 0.3714,
          "barrel_edge": -0.2222,
          "hard_hit_edge": -0.4429,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": 0.4833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "681198",
        "player_name": "TJ Rumfield",
        "offense_factor": 1.0089,
        "quality_score": 0.1185,
        "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": 39,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 39,
            "gp_value": 141.0,
            "gp_rank": 33,
            "ab_value": 495.0,
            "ab_rank": 76,
            "r_value": 62.0,
            "r_rank": 104,
            "h_value": 147.0,
            "h_rank": 22,
            "avg_value": 0.2969696,
            "avg_rank": 8.0,
            "2b_value": 28.0,
            "2b_rank": 33,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 15.0,
            "hr_rank": 120,
            "rbi_value": 67.0,
            "rbi_rank": 68,
            "tb_value": 226.0,
            "tb_rank": 489,
            "bb_value": 67.0,
            "bb_rank": 33,
            "so_value": 79.0,
            "so_rank": 189,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.3891797,
            "obp_rank": "4",
            "slg_value": 0.4565656,
            "slg_rank": "44",
            "ops_value": 0.8457453,
            "ops_rank": 16.0,
            "war_value": 3.68,
            "war_rank": 37.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 486.0,
          "k_percent": 13.9,
          "bb_percent": 11.6,
          "woba": 0.375,
          "xwoba": 0.335,
          "xba": 0.26,
          "xslg": 0.39,
          "sweet_spot_percent": 37.1,
          "barrel_batted_rate": 5.1,
          "hard_hit_percent": 28.0,
          "exit_velocity_avg": 84.4,
          "launch_angle_avg": 15.8,
          "whiff_percent": 19.4,
          "swing_percent": 48.7
        },
        "components": {
          "expected_quality": 0.3238,
          "regression_edge": -1.1429,
          "xwoba_edge": 1.0,
          "xba_edge": 0.6857,
          "xslg_edge": 0.3571,
          "barrel_edge": -0.3333,
          "hard_hit_edge": -1.3286,
          "exit_velocity_edge": -1.6,
          "sweet_spot_edge": 0.6333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "691182",
        "player_name": "Adael Amador",
        "offense_factor": 0.9773,
        "quality_score": -0.3025,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "691182",
          "espn_id": 4917787,
          "player_name": "Adael Amador",
          "team": "COL",
          "role": "batter",
          "espn_rank": 310,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 310,
            "gp_value": 11.0,
            "gp_rank": 576,
            "ab_value": 32.0,
            "ab_rank": 550,
            "r_value": 10.0,
            "r_rank": 451,
            "h_value": 11.0,
            "h_rank": 503,
            "avg_value": 0.34375,
            "avg_rank": null,
            "2b_value": 2.0,
            "2b_rank": 481,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 3.0,
            "hr_rank": 369,
            "rbi_value": 10.0,
            "rbi_rank": 432,
            "tb_value": 22.0,
            "tb_rank": 2669,
            "bb_value": 4.0,
            "bb_rank": 494,
            "so_value": 6.0,
            "so_rank": 581,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.4166666,
            "obp_rank": "-",
            "slg_value": 0.6875,
            "slg_rank": "-",
            "ops_value": 1.1041666,
            "ops_rank": null,
            "war_value": 0.38,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 13.0,
          "k_percent": 16.2,
          "bb_percent": 10.8,
          "woba": 0.46,
          "xwoba": 0.273,
          "xba": 0.2,
          "xslg": 0.345,
          "sweet_spot_percent": 29.6,
          "barrel_batted_rate": 11.1,
          "hard_hit_percent": 29.6,
          "exit_velocity_avg": 84.2,
          "launch_angle_avg": 20.6,
          "whiff_percent": 13.4,
          "swing_percent": 51.5
        },
        "components": {
          "expected_quality": -0.456,
          "regression_edge": -2.0,
          "xwoba_edge": -0.7714,
          "xba_edge": -1.0286,
          "xslg_edge": -0.2857,
          "barrel_edge": 1.0,
          "hard_hit_edge": -1.1,
          "exit_velocity_edge": -1.68,
          "sweet_spot_edge": -0.6167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "687597",
        "player_name": "Jordan Beck",
        "offense_factor": 0.9607,
        "quality_score": -0.5234,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "687597",
          "espn_id": 4619460,
          "player_name": "Jordan Beck",
          "team": "COL",
          "role": "batter",
          "espn_rank": 618,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 618,
            "gp_value": 51.0,
            "gp_rank": 390,
            "ab_value": 137.0,
            "ab_rank": 383,
            "r_value": 13.0,
            "r_rank": 418,
            "h_value": 27.0,
            "h_rank": 401,
            "avg_value": 0.1970802,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": 330,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 1.0,
            "hr_rank": 463,
            "rbi_value": 11.0,
            "rbi_rank": 414,
            "tb_value": 41.0,
            "tb_rank": 2272,
            "bb_value": 10.0,
            "bb_rank": 388,
            "so_value": 45.0,
            "so_rank": 328,
            "sb_value": 2.0,
            "sb_rank": 278,
            "obp_value": 0.25,
            "obp_rank": "-",
            "slg_value": 0.29927,
            "slg_rank": "-",
            "ops_value": 0.54927,
            "ops_rank": null,
            "war_value": -0.63,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 121.0,
          "k_percent": 30.4,
          "bb_percent": 6.8,
          "woba": 0.245,
          "xwoba": 0.243,
          "xba": 0.207,
          "xslg": 0.287,
          "sweet_spot_percent": 29.0,
          "barrel_batted_rate": 4.3,
          "hard_hit_percent": 30.1,
          "exit_velocity_avg": 86.7,
          "launch_angle_avg": 18.7,
          "whiff_percent": 30.7,
          "swing_percent": 52.5
        },
        "components": {
          "expected_quality": -1.0973,
          "regression_edge": -0.0571,
          "xwoba_edge": -1.6286,
          "xba_edge": -0.8286,
          "xslg_edge": -1.1143,
          "barrel_edge": -0.5111,
          "hard_hit_edge": -1.0286,
          "exit_velocity_edge": -0.68,
          "sweet_spot_edge": -0.7167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "664983",
        "player_name": "Jake McCarthy",
        "offense_factor": 1.0098,
        "quality_score": 0.1308,
        "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": 162,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 162,
            "gp_value": 130.0,
            "gp_rank": 104,
            "ab_value": 479.0,
            "ab_rank": 88,
            "r_value": 71.0,
            "r_rank": 60,
            "h_value": 140.0,
            "h_rank": 35,
            "avg_value": 0.2922755,
            "avg_rank": 12.0,
            "2b_value": 29.0,
            "2b_rank": 22,
            "3b_value": 8.0,
            "3b_rank": 3,
            "hr_value": 15.0,
            "hr_rank": 120,
            "rbi_value": 75.0,
            "rbi_rank": 44,
            "tb_value": 230.0,
            "tb_rank": 411,
            "bb_value": 28.0,
            "bb_rank": 209,
            "so_value": 85.0,
            "so_rank": 164,
            "sb_value": 29.0,
            "sb_rank": 11,
            "obp_value": 0.3359073,
            "obp_rank": "65",
            "slg_value": 0.480167,
            "slg_rank": "24",
            "ops_value": 0.8160743,
            "ops_rank": 34.0,
            "war_value": 1.5,
            "war_rank": 106.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 424.0,
          "k_percent": 16.2,
          "bb_percent": 5.4,
          "woba": 0.353,
          "xwoba": 0.322,
          "xba": 0.275,
          "xslg": 0.412,
          "sweet_spot_percent": 38.5,
          "barrel_batted_rate": 5.3,
          "hard_hit_percent": 28.7,
          "exit_velocity_avg": 85.6,
          "launch_angle_avg": 12.6,
          "whiff_percent": 21.5,
          "swing_percent": 57.6
        },
        "components": {
          "expected_quality": 0.2963,
          "regression_edge": -0.8857,
          "xwoba_edge": 0.6286,
          "xba_edge": 1.1143,
          "xslg_edge": 0.6714,
          "barrel_edge": -0.2889,
          "hard_hit_edge": -1.2286,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": 0.8667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "681393",
        "player_name": "Connor Norby",
        "offense_factor": 0.9826,
        "quality_score": -0.2318,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "681393",
          "espn_id": 4417606,
          "player_name": "Connor Norby",
          "team": "COL",
          "role": "batter",
          "espn_rank": 334,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 334,
            "gp_value": 91.0,
            "gp_rank": 253,
            "ab_value": 282.0,
            "ab_rank": 238,
            "r_value": 31.0,
            "r_rank": 263,
            "h_value": 64.0,
            "h_rank": 252,
            "avg_value": 0.2269503,
            "avg_rank": null,
            "2b_value": 18.0,
            "2b_rank": 149,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 7.0,
            "hr_rank": 252,
            "rbi_value": 28.0,
            "rbi_rank": 283,
            "tb_value": 103.0,
            "tb_rank": 1735,
            "bb_value": 35.0,
            "bb_rank": 174,
            "so_value": 97.0,
            "so_rank": 125,
            "sb_value": 8.0,
            "sb_rank": 120,
            "obp_value": 0.3302752,
            "obp_rank": "-",
            "slg_value": 0.3652482,
            "slg_rank": "-",
            "ops_value": 0.6955234,
            "ops_rank": null,
            "war_value": 0.29,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 256.0,
          "k_percent": 29.6,
          "bb_percent": 10.8,
          "woba": 0.307,
          "xwoba": 0.298,
          "xba": 0.211,
          "xslg": 0.34,
          "sweet_spot_percent": 33.7,
          "barrel_batted_rate": 6.5,
          "hard_hit_percent": 35.3,
          "exit_velocity_avg": 86.7,
          "launch_angle_avg": 18.2,
          "whiff_percent": 31.0,
          "swing_percent": 49.8
        },
        "components": {
          "expected_quality": -0.2277,
          "regression_edge": -0.2571,
          "xwoba_edge": -0.0571,
          "xba_edge": -0.7143,
          "xslg_edge": -0.3571,
          "barrel_edge": -0.0222,
          "hard_hit_edge": -0.2857,
          "exit_velocity_edge": -0.68,
          "sweet_spot_edge": 0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "691720",
        "player_name": "Kyle Karros",
        "offense_factor": 1.0454,
        "quality_score": 0.606,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "691720",
          "espn_id": 5203102,
          "player_name": "Kyle Karros",
          "team": "COL",
          "role": "batter",
          "espn_rank": 184,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 184,
            "gp_value": 116.0,
            "gp_rank": 157,
            "ab_value": 353.0,
            "ab_rank": 184,
            "r_value": 58.0,
            "r_rank": 116,
            "h_value": 92.0,
            "h_rank": 157,
            "avg_value": 0.2606232,
            "avg_rank": null,
            "2b_value": 20.0,
            "2b_rank": 122,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 10.0,
            "hr_rank": 183,
            "rbi_value": 44.0,
            "rbi_rank": 179,
            "tb_value": 148.0,
            "tb_rank": 902,
            "bb_value": 48.0,
            "bb_rank": 85,
            "so_value": 84.0,
            "so_rank": 169,
            "sb_value": 5.0,
            "sb_rank": 175,
            "obp_value": 0.3560975,
            "obp_rank": "-",
            "slg_value": 0.4192634,
            "slg_rank": "-",
            "ops_value": 0.7753609,
            "ops_rank": null,
            "war_value": 1.25,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 388.0,
          "k_percent": 20.4,
          "bb_percent": 11.8,
          "woba": 0.342,
          "xwoba": 0.337,
          "xba": 0.255,
          "xslg": 0.401,
          "sweet_spot_percent": 41.6,
          "barrel_batted_rate": 7.8,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 13.3,
          "whiff_percent": 23.5,
          "swing_percent": 44.7
        },
        "components": {
          "expected_quality": 0.7279,
          "regression_edge": -0.1429,
          "xwoba_edge": 1.0571,
          "xba_edge": 0.5429,
          "xslg_edge": 0.5143,
          "barrel_edge": 0.2667,
          "hard_hit_edge": 0.5143,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 1.3833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "678662",
        "player_name": "Ezequiel Tovar",
        "offense_factor": 0.9797,
        "quality_score": -0.2709,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "678662",
          "espn_id": 4905919,
          "player_name": "Ezequiel Tovar",
          "team": "COL",
          "role": "batter",
          "espn_rank": 645,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 645,
            "gp_value": 132.0,
            "gp_rank": 97,
            "ab_value": 423.0,
            "ab_rank": 121,
            "r_value": 46.0,
            "r_rank": 178,
            "h_value": 89.0,
            "h_rank": 164,
            "avg_value": 0.2104018,
            "avg_rank": 139.0,
            "2b_value": 21.0,
            "2b_rank": 107,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 10.0,
            "hr_rank": 183,
            "rbi_value": 41.0,
            "rbi_rank": 195,
            "tb_value": 140.0,
            "tb_rank": 1398,
            "bb_value": 27.0,
            "bb_rank": 217,
            "so_value": 119.0,
            "so_rank": 68,
            "sb_value": 7.0,
            "sb_rank": 136,
            "obp_value": 0.2565217,
            "obp_rank": "147",
            "slg_value": 0.3309692,
            "slg_rank": "143",
            "ops_value": 0.5874909,
            "ops_rank": 146.0,
            "war_value": -0.85,
            "war_rank": 147.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 414.0,
          "k_percent": 25.8,
          "bb_percent": 5.9,
          "woba": 0.259,
          "xwoba": 0.275,
          "xba": 0.222,
          "xslg": 0.36,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 33.2,
          "exit_velocity_avg": 87.4,
          "launch_angle_avg": 17.7,
          "whiff_percent": 29.0,
          "swing_percent": 61.6
        },
        "components": {
          "expected_quality": -0.3895,
          "regression_edge": 0.4571,
          "xwoba_edge": -0.7143,
          "xba_edge": -0.4,
          "xslg_edge": -0.0714,
          "barrel_edge": -0.0444,
          "hard_hit_edge": -0.5857,
          "exit_velocity_edge": -0.4,
          "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 COLTrue251-0.437011.03710.96341.01601.0781neutral0.34800.372016.901023.701037
Home NYYTrue240.833910.92911.00630.97400.8008neutral0.24800.242023.607.9024.501.6029.60

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away COLTrueNone8989.45233200000000-0.0237
Home NYYTrueNone8088.45224700000000-0.0799
Run FactorValue
away_runs_vs_home_pitcher0.9575
home_runs_vs_away_pitcher1.0209
home_pitcher_starter_only_factor0.9291
away_pitcher_starter_only_factor1.0371
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.5556
home_pitcher_quality_edge0.7987
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "608331",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 331.0,
      "k_percent": 23.6,
      "bb_percent": 7.9,
      "woba": 0.242,
      "xwoba": 0.248,
      "sweet_spot_percent": 29.6,
      "barrel_batted_rate": 1.6,
      "hard_hit_percent": 29.6,
      "avg_best_speed": 74.4956,
      "avg_hyper_speed": 92.5459,
      "whiff_percent": 24.5,
      "swing_percent": 45.8
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 1.4649,
      "command_and_miss": 0.1429,
      "regression_edge": -0.1714,
      "xwoba_edge": 1.8,
      "barrel_edge": 1.2222,
      "hard_hit_edge": 1.1857,
      "whiff_edge": -0.0714,
      "bb_edge": 0.325,
      "pitch_design_score": -0.0799
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "608331",
      "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.44857385808628,
        "release_spin_rate": 2247.08543068494,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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.44857385808628,
          "release_spin_rate": 2247.08543068494,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.4486,
        "release_spin_rate": 2247.0854,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0799,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.5706,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.8339,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9291,
    "strikeout_factor": 1.0063,
    "walk_factor": 0.974,
    "homer_factor": 0.8008,
    "woba_minus_xwoba": -0.006,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "608331",
      "espn_id": 32685,
      "player_name": "Max Fried",
      "team": "NYY",
      "role": "pitcher",
      "espn_rank": 24,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 24,
        "gp_value": 17.0,
        "gp_rank": 432,
        "gs_value": 17.0,
        "gs_rank": 122,
        "qs_value": 7.0,
        "qs_rank": 82,
        "era_value": 2.7282,
        "era_rank": null,
        "w_value": 4.0,
        "w_rank": 190,
        "l_value": 4.0,
        "l_rank": 186,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 95.2,
        "ip_rank": 134,
        "h_value": 66.0,
        "h_rank": 177,
        "er_value": 29.0,
        "er_rank": 197,
        "hr_value": 3.0,
        "hr_rank": 441,
        "bb_value": 29.0,
        "bb_rank": 174,
        "k_value": 87.0,
        "k_rank": 138,
        "k_per_9_value": 8.184669,
        "k_per_9_rank": 27,
        "whip_value": 0.993,
        "whip_rank": null,
        "war_value": 3.28,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "663372",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 408.0,
      "k_percent": 16.9,
      "bb_percent": 10.0,
      "woba": 0.372,
      "xwoba": 0.348,
      "sweet_spot_percent": 31.8,
      "barrel_batted_rate": 10.0,
      "hard_hit_percent": 37.0,
      "avg_best_speed": 75.5132,
      "avg_hyper_speed": 93.5425,
      "whiff_percent": 23.7,
      "swing_percent": 48.6
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.6985,
      "command_and_miss": -0.4329,
      "regression_edge": 0.6857,
      "xwoba_edge": -1.0571,
      "barrel_edge": -0.6444,
      "hard_hit_edge": 0.1286,
      "whiff_edge": -0.1857,
      "bb_edge": -0.2,
      "pitch_design_score": -0.0237
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "663372",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 89,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 89,
        "pitch_usage": 0.0,
        "release_speed": 89.45121101288434,
        "release_spin_rate": 2332.457513921126,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 89,
          "pitch_usage": 0.0,
          "release_speed": 89.45121101288434,
          "release_spin_rate": 2332.457513921126,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.4512,
        "release_spin_rate": 2332.4575,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0237,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.1696,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.437,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0371,
    "strikeout_factor": 0.9634,
    "walk_factor": 1.016,
    "homer_factor": 1.0781,
    "woba_minus_xwoba": 0.024,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "663372",
      "espn_id": 4019484,
      "player_name": "Ryan Feltner",
      "team": "COL",
      "role": "pitcher",
      "espn_rank": 251,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 251,
        "gp_value": 22.0,
        "gp_rank": 366,
        "gs_value": 21.0,
        "gs_rank": 93,
        "qs_value": 5.0,
        "qs_rank": 109,
        "era_value": 5.9062,
        "era_rank": null,
        "w_value": 5.0,
        "w_rank": 144,
        "l_value": 9.0,
        "l_rank": 31,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 106.2,
        "ip_rank": 116,
        "h_value": 120.0,
        "h_rank": 76,
        "er_value": 70.0,
        "er_rank": 29,
        "hr_value": 19.0,
        "hr_rank": 48,
        "bb_value": 48.0,
        "bb_rank": 49,
        "k_value": 81.0,
        "k_rank": 153,
        "k_per_9_value": 6.8343754,
        "k_per_9_rank": 35,
        "whip_value": 1.575,
        "whip_rank": null,
        "war_value": 0.53,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9575,
    "home_runs_vs_away_pitcher": 1.0209,
    "home_pitcher_starter_only_factor": 0.9291,
    "away_pitcher_starter_only_factor": 1.0371,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.5556,
    "home_pitcher_quality_edge": 0.7987
  },
  "score_before": {
    "away_runs": 2.0,
    "home_runs": 9.0
  },
  "score_after": {
    "away_runs": 1.915,
    "home_runs": 9.1879,
    "home_win_probability": 0.92
  },
  "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 COL3-70.3004.204.90-73Laverageaverage
Home NYY7-30.70063.10292Whotstrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away COL55-900.379-147-1.014True
Home NYY83-620.5721240.855True
Signal--1.8691.720applied=True

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-09COL @ NYY1 - 6NYY5blowout
2026-09-08COL @ NYY3 - 5NYY2close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target COL--4----
Game target NYY--8----
Player finalized COL32741439
Player finalized NYY32841448
Player model fractional COL31.727.144.301.164.082.808.09
Player model fractional NYY31.358.034.321.144.203.207.33
Simulation box COL358424411
Simulation box NYY341083809

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 COLStarterRyan Feltner4.2045706.471.79True
Away COLCloserJordan Romano112103.990.99True
Away COLSetup ManBrennan Bernardino1.1022202.000.82True
Away COLMiddle Reliever (High Leverage)Jimmy Herget100006.141.42True
Home NYYStarterMax Fried627712.841.10True
Home NYYSetup ManBrent Headrick102012.941.08True
Home NYYCloserDavid Bednar101014.351.20True
Home NYYMiddle Reliever (High Leverage)Paul Blackburn121112.131.06True
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
homeNYYbatterRFJasson Domínguezbetter117465predicted_RBI3.8300boostbetter
homeNYYbatter3BRyan McMahonbetter117465predicted_RBI2.6900boostbetter
awayCOLbatter3BKyle Karrosworse1129110predicted_SO2.2680boostworse
awayCOLbatterLFJake McCarthyworse124839predicted_AB-2.2500deboostworse
awayCOLbatterDHAdael Amadorbetter117465predicted_RBI2.0910boostbetter
awayCOLbatterSSEzequiel Tovarworse114738predicted_SO2.0860boostworse
awayCOLbatter2BConnor Norbyworse113829predicted_AB1.8670boostbetter
awayCOLbatterCHunter Goodmanworse114756predicted_SO-1.3360deboostbetter
awayCOLbatterRFJordan Beckworse92718predicted_AB1.2040boostbetter
homeNYYbatter2BAnthony Volpeworse83526predicted_SO1.1510boostworse
homeNYYbatterCFSpencer Jonesworse102837predicted_AB1.0430boostbetter
awayCOLbatter1BTJ Rumfieldworse102837predicted_H-1.0100deboostworse
awayCOLbatterCFCole Carriggworse124857predicted_SO-0.9450deboostbetter
homeNYYbatterSSGeorge Lombard Jr.worse116556predicted_SO0.9290boostworse
awayCOLpitcherMiddle Reliever (High Leverage)Jimmy Hergetbetter11010predicted_IP0.9000boostbetter
awayCOLpitcherStarterRyan Feltnerworse10101predicted_IP-0.8000deboostworse
homeNYYbatterLFCody Bellingerworse114756predicted_H0.7200boostbetter
homeNYYbatter1BLuis García Jr.better115665predicted_SO-0.6370deboostbetter
homeNYYbatterDHBen Riceworse113847predicted_BB-0.5290deboostworse
awayCOLpitcherSetup ManBrennan Bernardinobetter11010predicted_IP0.4333boostbetter
homeNYYbatterCAustin Wellsworse1129110predicted_H-0.4000deboostworse

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
PitcherRyan Feltner
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.4370
ESPN Rank251
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0237
Avg Velo89.4512
Avg Spin2332.4575
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.2000
Pre ER4
Pre H7
Pre BB0
Pre SO5
Season ERA5.9062
Season WHIP1.5656
Role Avg IP4.8890
Recent Avg IP5.2000
Last Start IP5
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793,
    "runs_scored": 683.0,
    "runs_allowed": 830.0,
    "run_differential": -147.0,
    "run_differential_per_game": -1.0138,
    "avg_runs_scored": 4.7103,
    "avg_runs_allowed": 5.7241,
    "offense_index": 1.0475,
    "defense_index": 0.7856,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 4.9,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.2966
  },
  "opponent": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724,
    "runs_scored": 657.0,
    "runs_allowed": 533.0,
    "run_differential": 124.0,
    "run_differential_per_game": 0.8552,
    "avg_runs_scored": 4.531,
    "avg_runs_allowed": 3.6759,
    "offense_index": 1.0076,
    "defense_index": 1.2233,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.1,
      "avg_runs_allowed": 3.5,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.2011
  },
  "edges": {
    "quality_edge": -0.4977,
    "offense_edge": 0.0475,
    "opponent_offense_edge": 0.0076,
    "defense_strength": -0.2144,
    "opponent_defense_weakness": -0.2233,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9734,
    "run_prevention": 1.0475,
    "strikeout": 0.9845
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663372",
    "profile": {
      "available": true,
      "pitcher_id": "663372",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 408.0,
        "k_percent": 16.9,
        "bb_percent": 10.0,
        "woba": 0.372,
        "xwoba": 0.348,
        "sweet_spot_percent": 31.8,
        "barrel_batted_rate": 10.0,
        "hard_hit_percent": 37.0,
        "avg_best_speed": 75.5132,
        "avg_hyper_speed": 93.5425,
        "whiff_percent": 23.7,
        "swing_percent": 48.6
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.6985,
        "command_and_miss": -0.4329,
        "regression_edge": 0.6857,
        "xwoba_edge": -1.0571,
        "barrel_edge": -0.6444,
        "hard_hit_edge": 0.1286,
        "whiff_edge": -0.1857,
        "bb_edge": -0.2,
        "pitch_design_score": -0.0237
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663372",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 89,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 89,
          "pitch_usage": 0.0,
          "release_speed": 89.45121101288434,
          "release_spin_rate": 2332.457513921126,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 89,
            "pitch_usage": 0.0,
            "release_speed": 89.45121101288434,
            "release_spin_rate": 2332.457513921126,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4512,
          "release_spin_rate": 2332.4575,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0237,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.1696,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.437,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0371,
      "strikeout_factor": 0.9634,
      "walk_factor": 1.016,
      "homer_factor": 1.0781,
      "woba_minus_xwoba": 0.024,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "663372",
        "espn_id": 4019484,
        "player_name": "Ryan Feltner",
        "team": "COL",
        "role": "pitcher",
        "espn_rank": 251,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 251,
          "gp_value": 22.0,
          "gp_rank": 366,
          "gs_value": 21.0,
          "gs_rank": 93,
          "qs_value": 5.0,
          "qs_rank": 109,
          "era_value": 5.9062,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 144,
          "l_value": 9.0,
          "l_rank": 31,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 106.2,
          "ip_rank": 116,
          "h_value": 120.0,
          "h_rank": 76,
          "er_value": 70.0,
          "er_rank": 29,
          "hr_value": 19.0,
          "hr_rank": 48,
          "bb_value": 48.0,
          "bb_rank": 49,
          "k_value": 81.0,
          "k_rank": 153,
          "k_per_9_value": 6.8343754,
          "k_per_9_rank": 35,
          "whip_value": 1.575,
          "whip_rank": null,
          "war_value": 0.53,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 4.0,
        "factor": 1.0371,
        "adjusted": 4
      },
      "predicted_H": {
        "original": 6.0,
        "factor": 1.0371,
        "adjusted": 6
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.016,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0781,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9634,
        "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": 42,
    "H": 67,
    "BB": 28,
    "SO": 37,
    "HR": 10,
    "ERA": 7.930069930069929,
    "WHIP": 1.993006993006993,
    "K9": 6.986013986013985,
    "HR9": 1.888111888111888,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663372",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 89,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 89,
    "pitch_usage": 0.0,
    "release_speed": 89.45121101288434,
    "release_spin_rate": 2332.457513921126,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 89,
      "pitch_usage": 0.0,
      "release_speed": 89.45121101288434,
      "release_spin_rate": 2332.457513921126,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4512,
    "release_spin_rate": 2332.4575,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0237,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.1696,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 22.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8148,
    "prior_weight": 0.1852
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663372",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 22,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 24.2,
        "ER": 18.0,
        "R": 21.0,
        "H": 33.0,
        "BB": 15.0,
        "SO": 22.0,
        "HR": 1.0,
        "BF": 121.0,
        "Pitches": 445.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 3.6,
        "R": 4.2,
        "H": 6.6,
        "BB": 3.0,
        "SO": 4.4,
        "HR": 0.2,
        "BF": 24.2,
        "Pitches": 89.0
      },
      "rates": {
        "ERA": 6.5676,
        "WHIP": 1.9459,
        "ER_per_IP": 0.72973,
        "H_per_IP": 1.33784,
        "BB_per_IP": 0.60811,
        "SO_per_IP": 0.89189,
        "HR_per_IP": 0.04054
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 47.2,
        "ER": 42.0,
        "R": 45.0,
        "H": 67.0,
        "BB": 28.0,
        "SO": 37.0,
        "HR": 10.0,
        "BF": 235.0,
        "Pitches": 868.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 4.2,
        "R": 4.5,
        "H": 6.7,
        "BB": 2.8,
        "SO": 3.7,
        "HR": 1.0,
        "BF": 23.5,
        "Pitches": 86.8
      },
      "rates": {
        "ERA": 7.9301,
        "WHIP": 1.993,
        "ER_per_IP": 0.88112,
        "H_per_IP": 1.40559,
        "BB_per_IP": 0.58741,
        "SO_per_IP": 0.77622,
        "HR_per_IP": 0.20979
      }
    },
    "season": {
      "games": 22,
      "totals": {
        "IP": 106.2,
        "ER": 70.0,
        "R": 76.0,
        "H": 119.0,
        "BB": 48.0,
        "SO": 81.0,
        "HR": 19.0,
        "BF": 479.0,
        "Pitches": 1780.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 3.1818,
        "R": 3.4545,
        "H": 5.4091,
        "BB": 2.1818,
        "SO": 3.6818,
        "HR": 0.8636,
        "BF": 21.7727,
        "Pitches": 80.9091
      },
      "rates": {
        "ERA": 5.9062,
        "WHIP": 1.5656,
        "ER_per_IP": 0.65625,
        "H_per_IP": 1.11562,
        "BB_per_IP": 0.45,
        "SO_per_IP": 0.75937,
        "HR_per_IP": 0.17813
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 3.526,
    "predicted_H": 6.148,
    "predicted_BB": 2.612,
    "predicted_SO": 4.151,
    "predicted_HR": 0.642,
    "predicted_ERA": 6.4704,
    "predicted_WHIP": 1.786
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4282,
  "form_weight": 0.5718,
  "form_reliability": 0.8148,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 22.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8148,
    "prior_weight": 0.1852
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 5.0,
      "form": 3.526,
      "final": 4.1572,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 7.0,
      "form": 6.148,
      "final": 6.5129,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 2.612,
      "final": 1.4934,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 4.151,
      "final": 4.5146,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.642,
      "final": 0.7953,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.4704,
      "final": 6.4704,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.786,
      "final": 1.786,
      "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.1838
ESPN Rank315
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO2
Season ERA3.9036
Season WHIP1.2289
Role Avg IP0.8920
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793,
    "runs_scored": 683.0,
    "runs_allowed": 830.0,
    "run_differential": -147.0,
    "run_differential_per_game": -1.0138,
    "avg_runs_scored": 4.7103,
    "avg_runs_allowed": 5.7241,
    "offense_index": 1.0475,
    "defense_index": 0.7856,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 4.9,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.2966
  },
  "opponent": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724,
    "runs_scored": 657.0,
    "runs_allowed": 533.0,
    "run_differential": 124.0,
    "run_differential_per_game": 0.8552,
    "avg_runs_scored": 4.531,
    "avg_runs_allowed": 3.6759,
    "offense_index": 1.0076,
    "defense_index": 1.2233,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.1,
      "avg_runs_allowed": 3.5,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.2011
  },
  "edges": {
    "quality_edge": -0.4977,
    "offense_edge": 0.0475,
    "opponent_offense_edge": 0.0076,
    "defense_strength": -0.2144,
    "opponent_defense_weakness": -0.2233,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9734,
    "run_prevention": 1.0475,
    "strikeout": 0.9845
  },
  "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.0,
        "woba": 0.288,
        "xwoba": 0.288,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 3.8,
        "hard_hit_percent": 30.8,
        "avg_best_speed": 75.8518,
        "avg_hyper_speed": 92.6046,
        "whiff_percent": 28.5,
        "swing_percent": 45.0
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6295,
        "command_and_miss": 0.215,
        "regression_edge": 0.0,
        "xwoba_edge": 0.6571,
        "barrel_edge": 0.7333,
        "hard_hit_edge": 1.0143,
        "whiff_edge": 0.5,
        "bb_edge": -0.7,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "605447",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.1838,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9844,
      "strikeout_factor": 1.0162,
      "walk_factor": 1.0252,
      "homer_factor": 0.9465,
      "woba_minus_xwoba": 0.0,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "605447",
        "espn_id": 36380,
        "player_name": "Jordan Romano",
        "team": "COL",
        "role": "pitcher",
        "espn_rank": 315,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 315,
          "gp_value": 32.0,
          "gp_rank": 207,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 4.8795,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 535,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 15.0,
          "sv_rank": 21,
          "hld_value": 1.0,
          "hld_rank": 271,
          "ip_value": 27.2,
          "ip_rank": 452,
          "h_value": 24.0,
          "h_rank": 470,
          "er_value": 15.0,
          "er_rank": 423,
          "hr_value": 2.0,
          "hr_rank": 525,
          "bb_value": 15.0,
          "bb_rank": 382,
          "k_value": 31.0,
          "k_rank": 409,
          "k_per_9_value": 10.084337,
          "k_per_9_rank": 24,
          "whip_value": 1.4096,
          "whip_rank": null,
          "war_value": 0.27,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.993,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.993,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0113,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9759,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0073,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.0,
    "ER": 2,
    "H": 2,
    "BB": 3,
    "SO": 5,
    "HR": 1,
    "ERA": 2.0,
    "WHIP": 0.5555555555555556,
    "K9": 5.0,
    "HR9": 1.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "605447",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.584,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5276,
    "prior_weight": 0.4724
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "605447",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 16.0,
        "Pitches": 60.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.6,
        "H": 0.2,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 3.2,
        "Pitches": 12.0
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 0.5,
        "ER_per_IP": 0.5,
        "H_per_IP": 0.25,
        "BB_per_IP": 0.25,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.25
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 2.0,
        "BB": 3.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 34.0,
        "Pitches": 130.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.2,
        "BB": 0.3,
        "SO": 0.5,
        "HR": 0.1,
        "BF": 3.4,
        "Pitches": 13.0
      },
      "rates": {
        "ERA": 2.0,
        "WHIP": 0.5556,
        "ER_per_IP": 0.22222,
        "H_per_IP": 0.22222,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 0.55556,
        "HR_per_IP": 0.11111
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 27.2,
        "ER": 12.0,
        "R": 13.0,
        "H": 21.0,
        "BB": 13.0,
        "SO": 31.0,
        "HR": 1.0,
        "BF": 120.0,
        "Pitches": 506.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3871,
        "R": 0.4194,
        "H": 0.6774,
        "BB": 0.4194,
        "SO": 1.0,
        "HR": 0.0323,
        "BF": 3.871,
        "Pitches": 16.3226
      },
      "rates": {
        "ERA": 3.9036,
        "WHIP": 1.2289,
        "ER_per_IP": 0.43373,
        "H_per_IP": 0.75904,
        "BB_per_IP": 0.46988,
        "SO_per_IP": 1.12048,
        "HR_per_IP": 0.03614
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.408,
    "predicted_H": 0.59,
    "predicted_BB": 0.319,
    "predicted_SO": 0.831,
    "predicted_HR": 0.141,
    "predicted_ERA": 3.988,
    "predicted_WHIP": 0.9861
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5496,
  "form_weight": 0.4504,
  "form_reliability": 0.5276,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 5.584,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5276,
    "prior_weight": 0.4724
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.408,
      "final": 0.7334,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.59,
      "final": 0.8153,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.319,
      "final": 0.1437,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.831,
      "final": 1.4735,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.141,
      "final": 0.6131,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.988,
      "final": 3.988,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9861,
      "final": 0.9861,
      "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.0706
ESPN Rank104
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER2
Pre H2
Pre BB0
Pre SO2
Season ERA2.5116
Season WHIP1.1163
Role Avg IP0.8620
Recent Avg IP0.6670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793,
    "runs_scored": 683.0,
    "runs_allowed": 830.0,
    "run_differential": -147.0,
    "run_differential_per_game": -1.0138,
    "avg_runs_scored": 4.7103,
    "avg_runs_allowed": 5.7241,
    "offense_index": 1.0475,
    "defense_index": 0.7856,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 4.9,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.2966
  },
  "opponent": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724,
    "runs_scored": 657.0,
    "runs_allowed": 533.0,
    "run_differential": 124.0,
    "run_differential_per_game": 0.8552,
    "avg_runs_scored": 4.531,
    "avg_runs_allowed": 3.6759,
    "offense_index": 1.0076,
    "defense_index": 1.2233,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.1,
      "avg_runs_allowed": 3.5,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.2011
  },
  "edges": {
    "quality_edge": -0.4977,
    "offense_edge": 0.0475,
    "opponent_offense_edge": 0.0076,
    "defense_strength": -0.2144,
    "opponent_defense_weakness": -0.2233,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9734,
    "run_prevention": 1.0475,
    "strikeout": 0.9845
  },
  "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": 17.1,
        "bb_percent": 6.3,
        "woba": 0.3,
        "xwoba": 0.305,
        "sweet_spot_percent": 31.1,
        "barrel_batted_rate": 5.6,
        "hard_hit_percent": 30.6,
        "avg_best_speed": 76.1234,
        "avg_hyper_speed": 92.7817,
        "whiff_percent": 21.4,
        "swing_percent": 46.3
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.3425,
        "command_and_miss": -0.35,
        "regression_edge": -0.1429,
        "xwoba_edge": 0.1714,
        "barrel_edge": 0.3333,
        "hard_hit_edge": 1.0429,
        "whiff_edge": -0.5143,
        "bb_edge": 0.725,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "657514",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.0706,
      "sample_weight": 0.816,
      "run_prevention_factor": 0.994,
      "strikeout_factor": 0.9604,
      "walk_factor": 0.9527,
      "homer_factor": 0.94,
      "woba_minus_xwoba": -0.005,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "657514",
        "espn_id": 35876,
        "player_name": "Brennan Bernardino",
        "team": "COL",
        "role": "pitcher",
        "espn_rank": 104,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 104,
          "gp_value": 68.0,
          "gp_rank": 8,
          "gs_value": 2.0,
          "gs_rank": 272,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.9825,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 190,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 1.0,
          "sv_rank": 139,
          "hld_value": 12.0,
          "hld_rank": 63,
          "ip_value": 57.1,
          "ip_rank": 252,
          "h_value": 53.0,
          "h_rank": 228,
          "er_value": 19.0,
          "er_rank": 331,
          "hr_value": 5.0,
          "hr_rank": 319,
          "bb_value": 15.0,
          "bb_rank": 382,
          "k_value": 41.0,
          "k_rank": 340,
          "k_per_9_value": 6.4360466,
          "k_per_9_rank": 36,
          "whip_value": 1.186,
          "whip_rank": null,
          "war_value": 1.67,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9951,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9951,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9614,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.951,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 0.9677,
        "adjusted": 0
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 6.2,
    "ER": 0,
    "H": 2,
    "BB": 0,
    "SO": 4,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.30000000000000004,
    "K9": 5.4,
    "HR9": 0.0,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "657514",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.571,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6983,
    "prior_weight": 0.3017
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "657514",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 67,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 11.0,
        "Pitches": 43.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.0,
        "SO": 0.0,
        "HR": 0.0,
        "BF": 2.2,
        "Pitches": 8.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.3,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 103.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.5,
        "BB": 0.0,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 2.7,
        "Pitches": 10.3
      },
      "rates": {
        "ERA": 1.1739,
        "WHIP": 0.6522,
        "ER_per_IP": 0.13043,
        "H_per_IP": 0.65217,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.52174,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 67,
      "totals": {
        "IP": 57.1,
        "ER": 16.0,
        "R": 21.0,
        "H": 50.0,
        "BB": 14.0,
        "SO": 41.0,
        "HR": 4.0,
        "BF": 236.0,
        "Pitches": 897.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2388,
        "R": 0.3134,
        "H": 0.7463,
        "BB": 0.209,
        "SO": 0.6119,
        "HR": 0.0597,
        "BF": 3.5224,
        "Pitches": 13.3881
      },
      "rates": {
        "ERA": 2.5116,
        "WHIP": 1.1163,
        "ER_per_IP": 0.27907,
        "H_per_IP": 0.87209,
        "BB_per_IP": 0.24419,
        "SO_per_IP": 0.71512,
        "HR_per_IP": 0.06977
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.159,
    "predicted_H": 0.477,
    "predicted_BB": 0.104,
    "predicted_SO": 0.364,
    "predicted_HR": 0.039,
    "predicted_ERA": 2.0034,
    "predicted_WHIP": 0.8152
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4775,
  "form_weight": 0.5225,
  "form_reliability": 0.6983,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.571,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6983,
    "prior_weight": 0.3017
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.159,
      "final": 1.038,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.477,
      "final": 1.2042,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.104,
      "final": 0.0543,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.364,
      "final": 1.1451,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.039,
      "final": 0.4978,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0034,
      "final": 2.0034,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8152,
      "final": 0.8152,
      "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.1262
ESPN Rank653
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA6.0448
Season WHIP1.5448
Role Avg IP0.9920
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793,
    "runs_scored": 683.0,
    "runs_allowed": 830.0,
    "run_differential": -147.0,
    "run_differential_per_game": -1.0138,
    "avg_runs_scored": 4.7103,
    "avg_runs_allowed": 5.7241,
    "offense_index": 1.0475,
    "defense_index": 0.7856,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 4.9,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.2966
  },
  "opponent": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724,
    "runs_scored": 657.0,
    "runs_allowed": 533.0,
    "run_differential": 124.0,
    "run_differential_per_game": 0.8552,
    "avg_runs_scored": 4.531,
    "avg_runs_allowed": 3.6759,
    "offense_index": 1.0076,
    "defense_index": 1.2233,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.1,
      "avg_runs_allowed": 3.5,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.2011
  },
  "edges": {
    "quality_edge": -0.4977,
    "offense_edge": 0.0475,
    "opponent_offense_edge": 0.0076,
    "defense_strength": -0.2144,
    "opponent_defense_weakness": -0.2233,
    "recent_win_pct_edge": -0.3
  },
  "player_factors": {
    "ip": 0.9734,
    "run_prevention": 1.0475,
    "strikeout": 0.9845
  },
  "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.0,
        "bb_percent": 11.5,
        "woba": 0.376,
        "xwoba": 0.328,
        "sweet_spot_percent": 32.8,
        "barrel_batted_rate": 9.0,
        "hard_hit_percent": 38.1,
        "avg_best_speed": 76.4933,
        "avg_hyper_speed": 94.1674,
        "whiff_percent": 25.8,
        "swing_percent": 47.6
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.4918,
        "command_and_miss": -0.2036,
        "regression_edge": 1.3714,
        "xwoba_edge": -0.4857,
        "barrel_edge": -0.4222,
        "hard_hit_edge": -0.0286,
        "whiff_edge": 0.1143,
        "bb_edge": -0.575,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "623474",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": -0.1262,
      "sample_weight": 0.66,
      "run_prevention_factor": 1.0107,
      "strikeout_factor": 0.9955,
      "walk_factor": 1.0304,
      "homer_factor": 1.0327,
      "woba_minus_xwoba": 0.048,
      "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": 653,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 653,
          "gp_value": 46.0,
          "gp_rank": 130,
          "gs_value": 3.0,
          "gs_rank": 253,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 6.0447,
          "era_rank": null,
          "w_value": 0.0,
          "w_rank": 535,
          "l_value": 6.0,
          "l_rank": 113,
          "sv_value": 3.0,
          "sv_rank": 68,
          "hld_value": 10.0,
          "hld_rank": 85,
          "ip_value": 44.2,
          "ip_rank": 334,
          "h_value": 48.0,
          "h_rank": 255,
          "er_value": 30.0,
          "er_rank": 191,
          "hr_value": 8.0,
          "hr_rank": 205,
          "bb_value": 23.0,
          "bb_rank": 245,
          "k_value": 40.0,
          "k_rank": 349,
          "k_per_9_value": 8.059701,
          "k_per_9_rank": 28,
          "whip_value": 1.5895,
          "whip_rank": null,
          "war_value": -0.2,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0071,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0071,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0201,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0216,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.997,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.2,
    "ER": 6,
    "H": 9,
    "BB": 4,
    "SO": 6,
    "HR": 2,
    "ERA": 5.0625,
    "WHIP": 1.21875,
    "K9": 5.0625,
    "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-09-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "623474",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.015,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6432,
    "prior_weight": 0.3568
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "623474",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 45,
  "reference_playing_time": 0.1,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 5.0,
        "R": 5.0,
        "H": 7.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 2.0,
        "BF": 22.0,
        "Pitches": 83.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 1.4,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.4,
        "BF": 4.4,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 1.6,
        "ER_per_IP": 1.0,
        "H_per_IP": 1.4,
        "BB_per_IP": 0.2,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.4
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 6.0,
        "R": 7.0,
        "H": 9.0,
        "BB": 4.0,
        "SO": 6.0,
        "HR": 2.0,
        "BF": 42.0,
        "Pitches": 166.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.7,
        "H": 0.9,
        "BB": 0.4,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 4.2,
        "Pitches": 16.6
      },
      "rates": {
        "ERA": 5.0625,
        "WHIP": 1.2188,
        "ER_per_IP": 0.5625,
        "H_per_IP": 0.84375,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.5625,
        "HR_per_IP": 0.1875
      }
    },
    "season": {
      "games": 45,
      "totals": {
        "IP": 44.2,
        "ER": 30.0,
        "R": 32.0,
        "H": 47.0,
        "BB": 22.0,
        "SO": 40.0,
        "HR": 8.0,
        "BF": 198.0,
        "Pitches": 802.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6667,
        "R": 0.7111,
        "H": 1.0444,
        "BB": 0.4889,
        "SO": 0.8889,
        "HR": 0.1778,
        "BF": 4.4,
        "Pitches": 17.8222
      },
      "rates": {
        "ERA": 6.0448,
        "WHIP": 1.5448,
        "ER_per_IP": 0.67164,
        "H_per_IP": 1.05224,
        "BB_per_IP": 0.49254,
        "SO_per_IP": 0.89552,
        "HR_per_IP": 0.1791
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.52,
    "predicted_H": 0.821,
    "predicted_BB": 0.258,
    "predicted_SO": 0.616,
    "predicted_HR": 0.178,
    "predicted_ERA": 6.1373,
    "predicted_WHIP": 1.4159
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5007,
  "form_weight": 0.4993,
  "form_reliability": 0.6432,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.015,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6432,
    "prior_weight": 0.3568
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.52,
      "final": 0.2596,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.821,
      "final": 0.4099,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.258,
      "final": 0.1288,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.616,
      "final": 0.3075,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.178,
      "final": 0.0889,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.1373,
      "final": 6.1373,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4159,
      "final": 1.4159,
      "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."
}
Hunter Goodman (696100) · BATTER · C · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 474
All-history rows before 20260910: 474
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2589
Diff (system - data): -0.0119
System opponent_avg: 0.2240

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1440.0000.000Hitting_2B0.1600.000-0.1600.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.7804.0004.000Hitting_AB3.9034.0000.0970.000
predicted_AVG0.1930.5000.250Hitting_AVG0.2590.0000.2410.500
predicted_BB0.3360.0000.000Hitting_BB0.3860.000-0.3860.000
predicted_CS-0.0000.000BaseRunning_CS0.0420.000-0.0420.000
predicted_H0.9202.0001.000Hitting_H1.0110.0000.9892.000
predicted_HR0.2601.0001.000Hitting_HR0.3440.0000.6561.000
predicted_OBP0.2830.6000.250Hitting_OBP0.3290.0000.2710.600
predicted_R0.6241.0001.000Hitting_R0.6860.0000.3141.000
predicted_RBI0.8201.0001.000Hitting_RBI0.6960.0000.3041.000
predicted_SLG0.4181.2501.000Hitting_SLG0.5690.0000.6811.250
predicted_SO1.3360.0001.000Hitting_SO1.3990.000-1.3990.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.9200 -> 2.0000 (boost 1.0800, better)
Biggest Deboostpredicted_SO: 1.3360 -> 0.0000 (deboost -1.3360, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51423predicted_SLG: 0.4180 -> 0.4231 (boost 0.0051, better)predicted_AB: 4.7800 -> 4.2879 (deboost -0.4921, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot40404-predicted_RBI: 0.7549 -> 0.6990 (deboost -0.0559, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82635predicted_RBI: 0.6990 -> 1.0000 (boost 0.3010, better)predicted_BB: 0.3153 -> 0.0000 (deboost -0.3153, worse)AB rounded to 4 (raw=4.78), rates preserved: AVG=0.155 HR/AB=0.050
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.5718 -> 1.0000 (boost 0.4282, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_SO: 1.0000 -> 1.5431 (boost 0.5431, worse)predicted_RBI: 1.0000 -> 0.5844 (deboost -0.4156, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63342predicted_HR: 0.2872 -> 1.0000 (boost 0.7128, better)predicted_SO: 1.5431 -> 1.0000 (deboost -0.5431, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3888 -> 0.4940 (boost 0.1052, better)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference43140predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4940 -> 0.3888 (deboost -0.1052, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "696100",
  "player_name": "Hunter Goodman",
  "position": "C",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.144,
        "predicted_3B": 0.008,
        "predicted_AB": 4.78,
        "predicted_AVG": 0.193,
        "predicted_BB": 0.336,
        "predicted_H": 0.92,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.283,
        "predicted_R": 0.624,
        "predicted_RBI": 0.82,
        "predicted_SLG": 0.418,
        "predicted_SO": 1.336
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1371,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2879,
        "predicted_AVG": 0.1969,
        "predicted_BB": 0.3195,
        "predicted_H": 0.8406,
        "predicted_HBP": 0.084,
        "predicted_HR": 0.2474,
        "predicted_OBP": 0.279,
        "predicted_R": 0.6175,
        "predicted_RBI": 0.7549,
        "predicted_SLG": 0.4231,
        "predicted_SO": 1.2496
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.144,
          "after": 0.1371,
          "delta": -0.0069,
          "percent_delta": -0.0479,
          "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.78,
          "after": 4.2879,
          "delta": -0.4921,
          "percent_delta": -0.1029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.193,
          "after": 0.1969,
          "delta": 0.0039,
          "percent_delta": 0.0202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.336,
          "after": 0.3195,
          "delta": -0.0165,
          "percent_delta": -0.0491,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.92,
          "after": 0.8406,
          "delta": -0.0794,
          "percent_delta": -0.0863,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.2474,
          "delta": -0.0126,
          "percent_delta": -0.0485,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.279,
          "delta": -0.004,
          "percent_delta": -0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.624,
          "after": 0.6175,
          "delta": -0.0065,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.82,
          "after": 0.7549,
          "delta": -0.0651,
          "percent_delta": -0.0794,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4231,
          "delta": 0.0051,
          "percent_delta": 0.0122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.336,
          "after": 1.2496,
          "delta": -0.0864,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4231,
          "delta": 0.0051,
          "percent_delta": 0.0122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.78,
          "after": 4.2879,
          "delta": -0.4921,
          "percent_delta": -0.1029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1371,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2879,
        "predicted_AVG": 0.1878,
        "predicted_BB": 0.3153,
        "predicted_H": 0.8053,
        "predicted_HBP": 0.084,
        "predicted_HR": 0.2371,
        "predicted_OBP": 0.2434,
        "predicted_R": 0.5718,
        "predicted_RBI": 0.699,
        "predicted_SLG": 0.3888,
        "predicted_SO": 1.2658
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1371,
          "after": 0.1371,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2879,
          "after": 4.2879,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1969,
          "after": 0.1878,
          "delta": -0.0091,
          "percent_delta": -0.0462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3195,
          "after": 0.3153,
          "delta": -0.0042,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8406,
          "after": 0.8053,
          "delta": -0.0353,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.084,
          "after": 0.084,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2474,
          "after": 0.2371,
          "delta": -0.0103,
          "percent_delta": -0.0416,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.279,
          "after": 0.2434,
          "delta": -0.0356,
          "percent_delta": -0.1276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6175,
          "after": 0.5718,
          "delta": -0.0457,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7549,
          "after": 0.699,
          "delta": -0.0559,
          "percent_delta": -0.074,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4231,
          "after": 0.3888,
          "delta": -0.0343,
          "percent_delta": -0.0811,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2496,
          "after": 1.2658,
          "delta": 0.0162,
          "percent_delta": 0.013,
          "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": 0.7549,
          "after": 0.699,
          "delta": -0.0559,
          "percent_delta": -0.074,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.78), rates preserved: AVG=0.155 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.1371,
          "after": 0.0,
          "delta": -0.1371,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2879,
          "after": 4.0,
          "delta": -0.2879,
          "percent_delta": -0.0671,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3153,
          "after": 0.0,
          "delta": -0.3153,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8053,
          "after": 1.0,
          "delta": 0.1947,
          "percent_delta": 0.2418,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.084,
          "after": 0.0,
          "delta": -0.084,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2371,
          "after": 0.0,
          "delta": -0.2371,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.699,
          "after": 1.0,
          "delta": 0.301,
          "percent_delta": 0.4306,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2658,
          "after": 1.0,
          "delta": -0.2658,
          "percent_delta": -0.21,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.699,
          "after": 1.0,
          "delta": 0.301,
          "percent_delta": 0.4306,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3153,
          "after": 0.0,
          "delta": -0.3153,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5718,
          "after": 1.0,
          "delta": 0.4282,
          "percent_delta": 0.7489,
          "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.5718,
          "after": 1.0,
          "delta": 0.4282,
          "percent_delta": 0.7489,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1719,
        "predicted_3B": 0.0133,
        "predicted_BB": 0.3885,
        "predicted_H": 0.8649,
        "predicted_HR": 0.2872,
        "predicted_RBI": 0.5844,
        "predicted_SO": 1.5431
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1719,
          "delta": 0.1719,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0133,
          "delta": 0.0133,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3885,
          "delta": 0.3885,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8649,
          "delta": -0.1351,
          "percent_delta": -0.1351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2872,
          "delta": 0.2872,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5844,
          "delta": -0.4156,
          "percent_delta": -0.4156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.5431,
          "delta": 0.5431,
          "percent_delta": 0.5431,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.5431,
          "delta": 0.5431,
          "percent_delta": 0.5431,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5844,
          "delta": -0.4156,
          "percent_delta": -0.4156,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1719,
          "after": 0.0,
          "delta": -0.1719,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0133,
          "after": 0.0,
          "delta": -0.0133,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3885,
          "after": 0.0,
          "delta": -0.3885,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8649,
          "after": 1.0,
          "delta": 0.1351,
          "percent_delta": 0.1562,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2872,
          "after": 1.0,
          "delta": 0.7128,
          "percent_delta": 2.4819,
          "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.5844,
          "after": 1.0,
          "delta": 0.4156,
          "percent_delta": 0.7112,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5431,
          "after": 1.0,
          "delta": -0.5431,
          "percent_delta": -0.352,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2872,
          "after": 1.0,
          "delta": 0.7128,
          "percent_delta": 2.4819,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.5431,
          "after": 1.0,
          "delta": -0.5431,
          "percent_delta": -0.352,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.494,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1878,
          "after": 0.222,
          "delta": 0.0342,
          "percent_delta": 0.1821,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2434,
          "after": 0.298,
          "delta": 0.0546,
          "percent_delta": 0.2243,
          "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.3888,
          "after": 0.494,
          "delta": 0.1052,
          "percent_delta": 0.2706,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3888,
          "after": 0.494,
          "delta": 0.1052,
          "percent_delta": 0.2706,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "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": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1878,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2434,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3888,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.1878,
          "delta": -0.0342,
          "percent_delta": -0.154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.298,
          "after": 0.2434,
          "delta": -0.0546,
          "percent_delta": -0.1831,
          "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.494,
          "after": 0.3888,
          "delta": -0.1052,
          "percent_delta": -0.2129,
          "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.494,
          "after": 0.3888,
          "delta": -0.1052,
          "percent_delta": -0.2129,
          "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.144,
        "after": 0.0,
        "delta": -0.144,
        "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.78,
        "after": 4.0,
        "delta": -0.78,
        "percent_delta": -0.1632,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.193,
        "after": 0.1878,
        "delta": -0.0052,
        "percent_delta": -0.0269,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.336,
        "after": 0.0,
        "delta": -0.336,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.92,
        "after": 2.0,
        "delta": 1.08,
        "percent_delta": 1.1739,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 1.0,
        "delta": 0.74,
        "percent_delta": 2.8462,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.283,
        "after": 0.2434,
        "delta": -0.0396,
        "percent_delta": -0.1399,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.624,
        "after": 1.0,
        "delta": 0.376,
        "percent_delta": 0.6026,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.82,
        "after": 1.0,
        "delta": 0.18,
        "percent_delta": 0.2195,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.418,
        "after": 0.3888,
        "delta": -0.0292,
        "percent_delta": -0.0699,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.336,
        "after": 0.0,
        "delta": -1.336,
        "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.92,
        "after": 2.0,
        "delta": 1.08,
        "percent_delta": 1.1739,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.336,
        "after": 0.0,
        "delta": -1.336,
        "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.144-
predicted_3B0.008-
predicted_AB4.780-
predicted_AVG0.193-
predicted_BB0.336-
predicted_H0.920-
predicted_HR0.260-
predicted_OBP0.283-
predicted_R0.624-
predicted_RBI0.820-
predicted_SLG0.418-
predicted_SO1.336-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.007
predicted_3B0.007-0.001
predicted_AB4.288-0.492
predicted_AVG0.1970.004
predicted_BB0.320-0.017
predicted_H0.841-0.079
predicted_HBP0.084-
predicted_HR0.247-0.013
predicted_OBP0.279-0.004
predicted_R0.618-0.006
predicted_RBI0.755-0.065
predicted_SLG0.4230.005
predicted_SO1.250-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.1370.000
predicted_3B0.0070.000
predicted_AB4.2880.000
predicted_AVG0.188-0.009
predicted_BB0.315-0.004
predicted_H0.805-0.035
predicted_HBP0.0840.000
predicted_HR0.237-0.010
predicted_OBP0.243-0.036
predicted_R0.572-0.046
predicted_RBI0.699-0.056
predicted_SLG0.389-0.034
predicted_SO1.2660.016
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.78), rates preserved: AVG=0.155 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-
6. bvp_blend

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1720.172
3B0.0130.013
BB0.3890.389
H0.865-0.135
HR0.2870.287
RBI0.584-0.416
SO1.5430.543
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.172
3B0.000-0.013
AB4.0000.000
BB0.000-0.389
H1.0000.135
HR1.0000.713
R1.0000.000
RBI1.0000.416
SO1.000-0.543
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.137
predicted_3B0.000-0.007
predicted_AB4.000-0.288
predicted_AVG0.2220.034
predicted_BB0.000-0.315
predicted_H1.0000.195
predicted_HR0.000-0.237
predicted_OBP0.2980.055
predicted_R1.0000.428
predicted_RBI1.0000.301
predicted_SLG0.4940.105
predicted_SO1.000-0.266
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP1.0001.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: 125
Reference playing time: 4.780
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.0005.0003.0001.0003.0000.11760.20000.29410.11770.05880.29410.05880.1765
last_100.2010-36.0005.0002.0000.0001.0005.0006.0003.00012.0000.13890.21950.27780.13890.02780.13890.08330.3333
season0.60125-466.000115.00018.0001.00037.00078.00078.00042.000167.0000.24680.31330.52790.24680.07940.16740.09010.3584
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1280
predicted_3B0.0050
predicted_AB3.6460
predicted_AVG0.2020
predicted_BB0.2980
predicted_H0.7370
predicted_HBP0.0840
predicted_HR0.2310
predicted_OBP0.2737
predicted_R0.6090
predicted_RBI0.6700
predicted_SLG0.4298
predicted_SO1.1370
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14400.12800.1371model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB4.78003.64604.2879model_form_blend
predicted_AVG0.19300.20200.1969model_form_blend
predicted_BB0.33600.29800.3195model_form_blend
predicted_H0.92000.73700.8406model_form_blend
predicted_HBP-0.08400.0840form_only
predicted_HR0.26000.23100.2474model_form_blend
predicted_OBP0.28300.27370.2790model_form_blend
predicted_R0.62400.60900.6175model_form_blend
predicted_RBI0.82000.67000.7549model_form_blend
predicted_SLG0.41800.42980.4231model_form_blend
predicted_SO1.33601.13701.2496model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date474
Season rows before report date474
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
AB4
H2
2B0
3B0
HR1
R1
RBI1
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.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_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
gameID20260909_COL@NYY
game_typefull
mlbID696100
playerID696100
playerNameHunter Goodman
posC
startedTrue
startingPositionDH
teamCOL
teamID9
game_date2026-09-09
sl_k_percent32.6
sl_bb_percent8.2
sl_woba0.36
sl_xwoba0.323
sl_xba0.227
sl_xslg0.457
sl_sweet_spot_percent33.1
sl_barrel_batted_rate15.5
sl_hard_hit_percent45.5
sl_exit_velocity_avg90.3
sl_launch_angle_avg18.5
sl_whiff_percent35.4
sl_swing_percent54.2
Cole Carrigg (694249) · BATTER · CF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 253
All-history rows before 20260910: 253
System season_avg: 0.2610
Data season_avg (2026 season-to-date): 0.2805
Diff (system - data): -0.0195
System opponent_avg: 0.0000
System season_avg diverges from 2026 season-to-date by -0.0195. 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.2600.0001.000Hitting_2B0.3040.000-0.3040.000
predicted_3B0.0550.0000.000Hitting_3B0.0590.000-0.0590.000
predicted_AB3.6164.0004.000Hitting_AB3.6923.0000.3081.000
predicted_AVG0.2610.2500.250Hitting_AVG0.2810.000-0.0310.250
predicted_BB0.3841.0001.000Hitting_BB0.4471.0000.5530.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H0.9451.0001.000Hitting_H1.0360.000-0.0361.000
predicted_HR0.0960.0000.000Hitting_HR0.0870.000-0.0870.000
predicted_OBP0.3320.4000.400Hitting_OBP0.3620.2500.0380.150
predicted_R0.5751.0001.000Hitting_R0.6560.0000.3441.000
predicted_RBI0.5340.0001.000Hitting_RBI0.6400.000-0.6400.000
predicted_SLG0.4430.2500.500Hitting_SLG0.4660.000-0.2160.250
predicted_SO0.9450.0001.000Hitting_SO0.8892.000-0.889-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics4
Deboosted Metrics8
Better Metrics5
Worse Metrics7
Biggest Boostpredicted_BB: 0.3840 -> 1.0000 (boost 0.6160, better)
Biggest Deboostpredicted_SO: 0.9450 -> 0.0000 (deboost -0.9450, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_OBP: 0.3320 -> 0.3237 (deboost -0.0083, worse)Final model input calibrated 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.4462 -> 0.4319 (deboost -0.0143, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72525predicted_AB: 3.6516 -> 4.0000 (boost 0.3484, better)predicted_RBI: 0.4671 -> 0.0000 (deboost -0.4671, worse)AB rounded to 4 (raw=3.65), rates preserved: AVG=0.229 HR/AB=0.028
6consistency_constraints11010predicted_R: 0.5191 -> 1.0000 (boost 0.4809, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5331 (boost 0.5331, better)predicted_H: 1.0000 -> 0.8747 (deboost -0.1253, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64251predicted_2B: 0.2091 -> 1.0000 (boost 0.7909, better)predicted_HR: 0.1366 -> 0.0000 (deboost -0.1366, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50505-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_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
11current_json_final22020predicted_SLG: 0.3980 -> 0.4319 (boost 0.0339, better)-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.26,
        "predicted_3B": 0.055,
        "predicted_AB": 3.616,
        "predicted_AVG": 0.261,
        "predicted_BB": 0.384,
        "predicted_H": 0.945,
        "predicted_HR": 0.096,
        "predicted_OBP": 0.332,
        "predicted_R": 0.575,
        "predicted_RBI": 0.534,
        "predicted_SLG": 0.443,
        "predicted_SO": 0.945
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2337,
        "predicted_3B": 0.0673,
        "predicted_AB": 3.6516,
        "predicted_AVG": 0.2589,
        "predicted_BB": 0.3442,
        "predicted_H": 0.9458,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.1053,
        "predicted_OBP": 0.3237,
        "predicted_R": 0.5606,
        "predicted_RBI": 0.5044,
        "predicted_SLG": 0.4462,
        "predicted_SO": 0.9928
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.26,
          "after": 0.2337,
          "delta": -0.0263,
          "percent_delta": -0.1012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.055,
          "after": 0.0673,
          "delta": 0.0123,
          "percent_delta": 0.2236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.616,
          "after": 3.6516,
          "delta": 0.0356,
          "percent_delta": 0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.261,
          "after": 0.2589,
          "delta": -0.0021,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.384,
          "after": 0.3442,
          "delta": -0.0398,
          "percent_delta": -0.1036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.945,
          "after": 0.9458,
          "delta": 0.0008,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.096,
          "after": 0.1053,
          "delta": 0.0093,
          "percent_delta": 0.0969,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.3237,
          "delta": -0.0083,
          "percent_delta": -0.025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.575,
          "after": 0.5606,
          "delta": -0.0144,
          "percent_delta": -0.025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.534,
          "after": 0.5044,
          "delta": -0.0296,
          "percent_delta": -0.0554,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.443,
          "after": 0.4462,
          "delta": 0.0032,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.945,
          "after": 0.9928,
          "delta": 0.0478,
          "percent_delta": 0.0506,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.332,
          "after": 0.3237,
          "delta": -0.0083,
          "percent_delta": -0.025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.2337,
        "predicted_3B": 0.0673,
        "predicted_AB": 3.6516,
        "predicted_AVG": 0.2481,
        "predicted_BB": 0.3397,
        "predicted_H": 0.9061,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.1009,
        "predicted_OBP": 0.3121,
        "predicted_R": 0.5191,
        "predicted_RBI": 0.4671,
        "predicted_SLG": 0.4319,
        "predicted_SO": 1.0057
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2337,
          "after": 0.2337,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0673,
          "after": 0.0673,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6516,
          "after": 3.6516,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2589,
          "after": 0.2481,
          "delta": -0.0108,
          "percent_delta": -0.0417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3442,
          "after": 0.3397,
          "delta": -0.0045,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9458,
          "after": 0.9061,
          "delta": -0.0397,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.033,
          "after": 0.033,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1053,
          "after": 0.1009,
          "delta": -0.0044,
          "percent_delta": -0.0418,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3237,
          "after": 0.3121,
          "delta": -0.0116,
          "percent_delta": -0.0358,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5606,
          "after": 0.5191,
          "delta": -0.0415,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5044,
          "after": 0.4671,
          "delta": -0.0373,
          "percent_delta": -0.0739,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4462,
          "after": 0.4319,
          "delta": -0.0143,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9928,
          "after": 1.0057,
          "delta": 0.0129,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4462,
          "after": 0.4319,
          "delta": -0.0143,
          "percent_delta": -0.032,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.65), rates preserved: AVG=0.229 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2337,
          "after": 0.0,
          "delta": -0.2337,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0673,
          "after": 0.0,
          "delta": -0.0673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6516,
          "after": 4.0,
          "delta": 0.3484,
          "percent_delta": 0.0954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3397,
          "after": 0.0,
          "delta": -0.3397,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9061,
          "after": 1.0,
          "delta": 0.0939,
          "percent_delta": 0.1036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.033,
          "after": 0.0,
          "delta": -0.033,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1009,
          "after": 0.0,
          "delta": -0.1009,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4671,
          "after": 0.0,
          "delta": -0.4671,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0057,
          "after": 1.0,
          "delta": -0.0057,
          "percent_delta": -0.0057,
          "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": 3.6516,
          "after": 4.0,
          "delta": 0.3484,
          "percent_delta": 0.0954,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4671,
          "after": 0.0,
          "delta": -0.4671,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5191,
          "after": 1.0,
          "delta": 0.4809,
          "percent_delta": 0.9264,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.5191,
          "after": 1.0,
          "delta": 0.4809,
          "percent_delta": 0.9264,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.2091,
        "predicted_3B": 0.0271,
        "predicted_BB": 0.4317,
        "predicted_H": 0.8747,
        "predicted_HR": 0.1366,
        "predicted_RBI": 0.5331,
        "predicted_SO": 1.092
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2091,
          "delta": 0.2091,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0271,
          "delta": 0.0271,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4317,
          "delta": 0.4317,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8747,
          "delta": -0.1253,
          "percent_delta": -0.1253,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1366,
          "delta": 0.1366,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5331,
          "delta": 0.5331,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.092,
          "delta": 0.092,
          "percent_delta": 0.092,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5331,
          "delta": 0.5331,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8747,
          "delta": -0.1253,
          "percent_delta": -0.1253,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2091,
          "after": 1.0,
          "delta": 0.7909,
          "percent_delta": 3.7824,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0271,
          "after": 0.0,
          "delta": -0.0271,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4317,
          "after": 1.0,
          "delta": 0.5683,
          "percent_delta": 1.3164,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8747,
          "after": 1.0,
          "delta": 0.1253,
          "percent_delta": 0.1432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1366,
          "after": 0.0,
          "delta": -0.1366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.5331,
          "after": 1.0,
          "delta": 0.4669,
          "percent_delta": 0.8758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.092,
          "after": 1.0,
          "delta": -0.092,
          "percent_delta": -0.0842,
          "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.2091,
          "after": 1.0,
          "delta": 0.7909,
          "percent_delta": 3.7824,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1366,
          "after": 0.0,
          "delta": -0.1366,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.398,
        "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.2481,
          "after": 0.225,
          "delta": -0.0231,
          "percent_delta": -0.0931,
          "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.3121,
          "after": 0.308,
          "delta": -0.0041,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4319,
          "after": 0.398,
          "delta": -0.0339,
          "percent_delta": -0.0785,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2481,
        "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.3121,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4319,
        "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.225,
          "after": 0.2481,
          "delta": 0.0231,
          "percent_delta": 0.1028,
          "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.308,
          "after": 0.3121,
          "delta": 0.0041,
          "percent_delta": 0.0134,
          "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.398,
          "after": 0.4319,
          "delta": 0.0339,
          "percent_delta": 0.0852,
          "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.398,
          "after": 0.4319,
          "delta": 0.0339,
          "percent_delta": 0.0852,
          "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.055,
        "after": 0.0,
        "delta": -0.055,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.616,
        "after": 4.0,
        "delta": 0.384,
        "percent_delta": 0.1062,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.261,
        "after": 0.2481,
        "delta": -0.0129,
        "percent_delta": -0.0494,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.384,
        "after": 1.0,
        "delta": 0.616,
        "percent_delta": 1.6042,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.945,
        "after": 1.0,
        "delta": 0.055,
        "percent_delta": 0.0582,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.096,
        "after": 0.0,
        "delta": -0.096,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.332,
        "after": 0.3121,
        "delta": -0.0199,
        "percent_delta": -0.0599,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.575,
        "after": 1.0,
        "delta": 0.425,
        "percent_delta": 0.7391,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.534,
        "after": 0.0,
        "delta": -0.534,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.443,
        "after": 0.4319,
        "delta": -0.0111,
        "percent_delta": -0.0251,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.945,
        "after": 0.0,
        "delta": -0.945,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 4,
      "deboosted_metrics": 8,
      "better_metrics": 5,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.384,
        "after": 1.0,
        "delta": 0.616,
        "percent_delta": 1.6042,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.945,
        "after": 0.0,
        "delta": -0.945,
        "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.055-
predicted_AB3.616-
predicted_AVG0.261-
predicted_BB0.384-
predicted_H0.945-
predicted_HR0.096-
predicted_OBP0.332-
predicted_R0.575-
predicted_RBI0.534-
predicted_SLG0.443-
predicted_SO0.945-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.234-0.026
predicted_3B0.0670.012
predicted_AB3.6520.036
predicted_AVG0.259-0.002
predicted_BB0.344-0.040
predicted_H0.9460.001
predicted_HBP0.033-
predicted_HR0.1050.009
predicted_OBP0.324-0.008
predicted_R0.561-0.014
predicted_RBI0.504-0.030
predicted_SLG0.4460.003
predicted_SO0.9930.048
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2340.000
predicted_3B0.0670.000
predicted_AB3.6520.000
predicted_AVG0.248-0.011
predicted_BB0.340-0.005
predicted_H0.906-0.040
predicted_HBP0.0330.000
predicted_HR0.101-0.004
predicted_OBP0.312-0.012
predicted_R0.519-0.041
predicted_RBI0.467-0.037
predicted_SLG0.432-0.014
predicted_SO1.0060.013
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.2090.209
3B0.0270.027
BB0.4320.432
H0.875-0.125
HR0.1370.137
RBI0.5330.533
SO1.0920.092
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.791
3B0.000-0.027
AB4.0000.000
BB1.0000.568
H1.0000.125
HR0.000-0.137
R1.0000.000
RBI1.0000.467
SO1.000-0.092
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.234
predicted_3B0.000-0.067
predicted_AB4.0000.348
predicted_AVG0.225-0.023
predicted_BB0.000-0.340
predicted_H1.0000.094
predicted_HR0.000-0.101
predicted_OBP0.308-0.004
predicted_R1.0000.481
predicted_RBI0.000-0.467
predicted_SLG0.398-0.034
predicted_SO1.000-0.006
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB1.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
SO0.000-1.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: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0000.0001.0001.0002.0003.0001.0008.0000.25000.28570.50000.25000.05000.10000.05000.4000
last_100.2010-36.0009.0002.0001.0001.0003.0004.0001.00010.0000.25000.27030.44440.25000.02780.08330.02780.2778
season0.6073-264.00069.00019.0004.0007.00039.00042.00028.00069.0000.26140.33670.44320.26140.02650.14770.10610.2614
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1980
predicted_3B0.0840
predicted_AB3.7000
predicted_AVG0.2560
predicted_BB0.2900
predicted_H0.9470
predicted_HBP0.0330
predicted_HR0.1180
predicted_OBP0.3125
predicted_R0.5410
predicted_RBI0.4640
predicted_SLG0.4505
predicted_SO1.0580
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.26000.19800.2337model_form_blend
predicted_3B0.05500.08400.0673model_form_blend
predicted_AB3.61603.70003.6516model_form_blend
predicted_AVG0.26100.25600.2589model_form_blend
predicted_BB0.38400.29000.3442model_form_blend
predicted_H0.94500.94700.9458model_form_blend
predicted_HBP-0.03300.0330form_only
predicted_HR0.09600.11800.1053model_form_blend
predicted_OBP0.33200.31250.3237model_form_blend
predicted_R0.57500.54100.5606model_form_blend
predicted_RBI0.53400.46400.5044model_form_blend
predicted_SLG0.44300.45050.4462model_form_blend
predicted_SO0.94501.05800.9928model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 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
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_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260909_COL@NYY
game_typefull
mlbID694249
playerID694249
playerNameCole Carrigg
posOF
startedTrue
startingPositionSS
teamCOL
teamID9
game_date2026-09-09
sl_k_percent22.6
sl_bb_percent9.1
sl_woba0.34
sl_xwoba0.317
sl_xba0.252
sl_xslg0.391
sl_sweet_spot_percent36.2
sl_barrel_batted_rate5.6
sl_hard_hit_percent34.2
sl_exit_velocity_avg87.2
sl_launch_angle_avg16.8
sl_whiff_percent24.6
sl_swing_percent51.7
TJ Rumfield (681198) · BATTER · 1B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 513
All-history rows before 20260910: 513
System season_avg: 0.2990
Data season_avg (2026 season-to-date): 0.2924
Diff (system - data): 0.0066
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.2030.0000.000Hitting_2B0.2240.000-0.2240.000
predicted_3B0.0220.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB3.5654.0004.000Hitting_AB3.7603.0000.2401.000
predicted_AVG0.3000.0000.250Hitting_AVG0.2920.000-0.2920.000
predicted_BB0.4781.0000.000Hitting_BB0.4441.0000.5560.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0100.0001.000Hitting_H1.0990.000-1.0990.000
predicted_HR0.1000.0000.000Hitting_HR0.1150.000-0.1150.000
predicted_OBP0.4300.2000.250Hitting_OBP0.3770.250-0.177-0.050
predicted_R0.4490.0000.000Hitting_R0.4850.000-0.4850.000
predicted_RBI0.4400.0000.000Hitting_RBI0.5130.000-0.5130.000
predicted_SLG0.4860.0000.250Hitting_SLG0.4550.000-0.4550.000
predicted_SO0.5650.0001.000Hitting_SO0.5950.000-0.5950.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.4780 -> 1.0000 (boost 0.5220, better)
Biggest Deboostpredicted_H: 1.0100 -> 0.0000 (deboost -1.0100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_H: 1.0100 -> 1.1032 (boost 0.0932, 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.4289 -> 0.3800 (deboost -0.0489, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.5591 -> 1.0000 (boost 0.4409, worse)predicted_BB: 0.4873 -> 0.0000 (deboost -0.4873, worse)AB rounded to 4 (raw=3.58), rates preserved: AVG=0.273 HR/AB=0.032
6consistency_constraints10101-predicted_R: 0.4783 -> 0.0000 (deboost -0.4783, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4673 (boost 0.4673, better)predicted_SO: 1.0000 -> 0.6782 (deboost -0.3218, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_SO: 0.6782 -> 1.0000 (boost 0.3218, worse)predicted_RBI: 0.4673 -> 0.0000 (deboost -0.4673, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_SLG: 0.4766 -> 0.3990 (deboost -0.0776, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference31221predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3990 -> 0.4766 (boost 0.0776, 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.203,
        "predicted_3B": 0.022,
        "predicted_AB": 3.565,
        "predicted_AVG": 0.3,
        "predicted_BB": 0.478,
        "predicted_H": 1.01,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.43,
        "predicted_R": 0.449,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.486,
        "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.2187,
        "predicted_3B": 0.0429,
        "predicted_AB": 3.5759,
        "predicted_AVG": 0.3178,
        "predicted_BB": 0.4937,
        "predicted_H": 1.1032,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.1192,
        "predicted_OBP": 0.4289,
        "predicted_R": 0.5165,
        "predicted_RBI": 0.477,
        "predicted_SLG": 0.5213,
        "predicted_SO": 0.5519
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.203,
          "after": 0.2187,
          "delta": 0.0157,
          "percent_delta": 0.0773,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0429,
          "delta": 0.0209,
          "percent_delta": 0.95,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.565,
          "after": 3.5759,
          "delta": 0.0109,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3,
          "after": 0.3178,
          "delta": 0.0178,
          "percent_delta": 0.0593,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.478,
          "after": 0.4937,
          "delta": 0.0157,
          "percent_delta": 0.0328,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.01,
          "after": 1.1032,
          "delta": 0.0932,
          "percent_delta": 0.0923,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1192,
          "delta": 0.0192,
          "percent_delta": 0.192,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.43,
          "after": 0.4289,
          "delta": -0.0011,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.449,
          "after": 0.5165,
          "delta": 0.0675,
          "percent_delta": 0.1503,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.477,
          "delta": 0.037,
          "percent_delta": 0.0841,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.486,
          "after": 0.5213,
          "delta": 0.0353,
          "percent_delta": 0.0726,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.565,
          "after": 0.5519,
          "delta": -0.0131,
          "percent_delta": -0.0232,
          "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.01,
          "after": 1.1032,
          "delta": 0.0932,
          "percent_delta": 0.0923,
          "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": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2187,
        "predicted_3B": 0.0429,
        "predicted_AB": 3.5759,
        "predicted_AVG": 0.2956,
        "predicted_BB": 0.4873,
        "predicted_H": 1.0569,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.1143,
        "predicted_OBP": 0.38,
        "predicted_R": 0.4783,
        "predicted_RBI": 0.4417,
        "predicted_SLG": 0.4766,
        "predicted_SO": 0.5591
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2187,
          "after": 0.2187,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0429,
          "after": 0.0429,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5759,
          "after": 3.5759,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3178,
          "after": 0.2956,
          "delta": -0.0222,
          "percent_delta": -0.0699,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4937,
          "after": 0.4873,
          "delta": -0.0064,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1032,
          "after": 1.0569,
          "delta": -0.0463,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.035,
          "after": 0.035,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1192,
          "after": 0.1143,
          "delta": -0.0049,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4289,
          "after": 0.38,
          "delta": -0.0489,
          "percent_delta": -0.114,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5165,
          "after": 0.4783,
          "delta": -0.0382,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.477,
          "after": 0.4417,
          "delta": -0.0353,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5213,
          "after": 0.4766,
          "delta": -0.0447,
          "percent_delta": -0.0857,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5519,
          "after": 0.5591,
          "delta": 0.0072,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4289,
          "after": 0.38,
          "delta": -0.0489,
          "percent_delta": -0.114,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.58), rates preserved: AVG=0.273 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.2187,
          "after": 0.0,
          "delta": -0.2187,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0429,
          "after": 0.0,
          "delta": -0.0429,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5759,
          "after": 4.0,
          "delta": 0.4241,
          "percent_delta": 0.1186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4873,
          "after": 0.0,
          "delta": -0.4873,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0569,
          "after": 1.0,
          "delta": -0.0569,
          "percent_delta": -0.0538,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.035,
          "after": 0.0,
          "delta": -0.035,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1143,
          "after": 0.0,
          "delta": -0.1143,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4417,
          "after": 0.0,
          "delta": -0.4417,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5591,
          "after": 1.0,
          "delta": 0.4409,
          "percent_delta": 0.7886,
          "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.5591,
          "after": 1.0,
          "delta": 0.4409,
          "percent_delta": 0.7886,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4873,
          "after": 0.0,
          "delta": -0.4873,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4783,
          "after": 0.0,
          "delta": -0.4783,
          "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.4783,
          "after": 0.0,
          "delta": -0.4783,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1611,
        "predicted_3B": 0.021,
        "predicted_BB": 0.402,
        "predicted_H": 0.8575,
        "predicted_HR": 0.1168,
        "predicted_RBI": 0.4673,
        "predicted_SO": 0.6782
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1611,
          "delta": 0.1611,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.021,
          "delta": 0.021,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.402,
          "delta": 0.402,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8575,
          "delta": -0.1425,
          "percent_delta": -0.1425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1168,
          "delta": 0.1168,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4673,
          "delta": 0.4673,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6782,
          "delta": -0.3218,
          "percent_delta": -0.3218,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4673,
          "delta": 0.4673,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6782,
          "delta": -0.3218,
          "percent_delta": -0.3218,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1611,
          "after": 0.0,
          "delta": -0.1611,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.021,
          "after": 0.0,
          "delta": -0.021,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.402,
          "after": 0.0,
          "delta": -0.402,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8575,
          "after": 1.0,
          "delta": 0.1425,
          "percent_delta": 0.1662,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1168,
          "after": 0.0,
          "delta": -0.1168,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4673,
          "after": 0.0,
          "delta": -0.4673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6782,
          "after": 1.0,
          "delta": 0.3218,
          "percent_delta": 0.4745,
          "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.6782,
          "after": 1.0,
          "delta": 0.3218,
          "percent_delta": 0.4745,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4673,
          "after": 0.0,
          "delta": -0.4673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.399,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2956,
          "after": 0.243,
          "delta": -0.0526,
          "percent_delta": -0.1779,
          "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.38,
          "after": 0.325,
          "delta": -0.055,
          "percent_delta": -0.1447,
          "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.4766,
          "after": 0.399,
          "delta": -0.0776,
          "percent_delta": -0.1628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4766,
          "after": 0.399,
          "delta": -0.0776,
          "percent_delta": -0.1628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 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": 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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2956,
        "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.38,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4766,
        "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.243,
          "after": 0.2956,
          "delta": 0.0526,
          "percent_delta": 0.2163,
          "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.325,
          "after": 0.38,
          "delta": 0.055,
          "percent_delta": 0.1693,
          "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.399,
          "after": 0.4766,
          "delta": 0.0776,
          "percent_delta": 0.1944,
          "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.399,
          "after": 0.4766,
          "delta": 0.0776,
          "percent_delta": 0.1944,
          "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.203,
        "after": 0.0,
        "delta": -0.203,
        "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.565,
        "after": 4.0,
        "delta": 0.435,
        "percent_delta": 0.122,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.3,
        "after": 0.2956,
        "delta": -0.0044,
        "percent_delta": -0.0147,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.478,
        "after": 1.0,
        "delta": 0.522,
        "percent_delta": 1.0921,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.01,
        "after": 0.0,
        "delta": -1.01,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.43,
        "after": 0.38,
        "delta": -0.05,
        "percent_delta": -0.1163,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.449,
        "after": 0.0,
        "delta": -0.449,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.486,
        "after": 0.4766,
        "delta": -0.0094,
        "percent_delta": -0.0193,
        "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": 2,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.478,
        "after": 1.0,
        "delta": 0.522,
        "percent_delta": 1.0921,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.01,
        "after": 0.0,
        "delta": -1.01,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.203-
predicted_3B0.022-
predicted_AB3.565-
predicted_AVG0.300-
predicted_BB0.478-
predicted_H1.010-
predicted_HR0.100-
predicted_OBP0.430-
predicted_R0.449-
predicted_RBI0.440-
predicted_SLG0.486-
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.2190.016
predicted_3B0.0430.021
predicted_AB3.5760.011
predicted_AVG0.3180.018
predicted_BB0.4940.016
predicted_H1.1030.093
predicted_HBP0.035-
predicted_HR0.1190.019
predicted_OBP0.429-0.001
predicted_R0.5160.067
predicted_RBI0.4770.037
predicted_SLG0.5210.035
predicted_SO0.552-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.2190.000
predicted_3B0.0430.000
predicted_AB3.5760.000
predicted_AVG0.296-0.022
predicted_BB0.487-0.006
predicted_H1.057-0.046
predicted_HBP0.0350.000
predicted_HR0.114-0.005
predicted_OBP0.380-0.049
predicted_R0.478-0.038
predicted_RBI0.442-0.035
predicted_SLG0.477-0.045
predicted_SO0.5590.007
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1610.161
3B0.0210.021
BB0.4020.402
H0.858-0.142
HR0.1170.117
RBI0.4670.467
SO0.678-0.322
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.161
3B0.000-0.021
AB4.0000.000
BB0.000-0.402
H1.0000.142
HR0.000-0.117
R0.0000.000
RBI0.000-0.467
SO1.0000.322
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.219
predicted_3B0.000-0.043
predicted_AB4.0000.424
predicted_AVG0.243-0.053
predicted_BB0.000-0.487
predicted_H1.000-0.057
predicted_HR0.000-0.114
predicted_OBP0.325-0.055
predicted_R0.000-0.478
predicted_RBI0.000-0.442
predicted_SLG0.399-0.078
predicted_SO1.0000.441
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.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: 138
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0008.0002.0001.0001.0003.0005.0003.0002.0000.44440.52380.83330.44440.05560.16670.16670.1111
last_100.2010-36.00014.0002.0001.0002.0006.0007.0006.0005.0000.38890.47620.66670.38890.05560.16670.16670.1389
season0.60138-492.000147.00028.0003.00015.00066.00062.00066.00078.0000.29880.38980.45930.29880.03050.13410.13410.1585
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2390
predicted_3B0.0700
predicted_AB3.5900
predicted_AVG0.3410
predicted_BB0.5140
predicted_H1.2240
predicted_HBP0.0350
predicted_HR0.1440
predicted_OBP0.4274
predicted_R0.6040
predicted_RBI0.5250
predicted_SLG0.5671
predicted_SO0.5350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20300.23900.2187model_form_blend
predicted_3B0.02200.07000.0429model_form_blend
predicted_AB3.56503.59003.5759model_form_blend
predicted_AVG0.30000.34100.3178model_form_blend
predicted_BB0.47800.51400.4937model_form_blend
predicted_H1.01001.22401.1032model_form_blend
predicted_HBP-0.03500.0350form_only
predicted_HR0.10000.14400.1192model_form_blend
predicted_OBP0.43000.42740.4289model_form_blend
predicted_R0.44900.60400.5165model_form_blend
predicted_RBI0.44000.52500.4770model_form_blend
predicted_SLG0.48600.56710.5213model_form_blend
predicted_SO0.56500.53500.5519model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
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_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260909_COL@NYY
game_typefull
mlbID681198
playerID681198
playerNameTJ Rumfield
pos1B
startedTrue
startingPosition1B
teamCOL
teamID9
game_date2026-09-09
sl_k_percent13.9
sl_bb_percent11.6
sl_woba0.375
sl_xwoba0.335
sl_xba0.26
sl_xslg0.39
sl_sweet_spot_percent37.1
sl_barrel_batted_rate5.1
sl_hard_hit_percent28.0
sl_exit_velocity_avg84.4
sl_launch_angle_avg15.8
sl_whiff_percent19.4
sl_swing_percent48.7
Adael Amador (691182) · BATTER · DH · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 19
All-history rows before 20260910: 19
System season_avg: 0.3440
Data season_avg (2026 season-to-date): 0.3455
Diff (system - data): -0.0015
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.1820.0000.000Hitting_2B0.2630.000-0.2630.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9093.0003.000Hitting_AB2.8953.0000.1050.000
predicted_AVG0.3440.6670.333Hitting_AVG0.3450.3330.3210.333
predicted_BB0.3641.0000.000Hitting_BB0.5790.0000.4211.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0002.0001.000Hitting_H1.0001.0001.0001.000
predicted_HR0.2731.0000.000Hitting_HR0.2631.0000.7370.000
predicted_OBP0.4170.7500.333Hitting_OBP0.4550.3330.2950.417
predicted_R0.9091.0001.000Hitting_R1.1581.000-0.1580.000
predicted_RBI0.9093.0001.000Hitting_RBI1.3161.0001.6842.000
predicted_SLG0.6881.6670.333Hitting_SLG0.7091.3330.9580.333
predicted_SO0.5451.0001.000Hitting_SO0.7890.0000.2111.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_RBI: 0.9090 -> 3.0000 (boost 2.0910, better)
Biggest Deboostpredicted_2B: 0.1820 -> 0.0000 (deboost -0.1820, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_AB: 2.9090 -> 3.0682 (boost 0.1592, better)predicted_RBI: 0.9090 -> 0.8516 (deboost -0.0574, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot50505-predicted_R: 0.8602 -> 0.7965 (deboost -0.0637, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_SO: 0.5814 -> 1.0000 (boost 0.4186, worse)predicted_BB: 0.3443 -> 0.0000 (deboost -0.3443, worse)AB rounded to 3 (raw=3.07), rates preserved: AVG=0.290 HR/AB=0.080
6consistency_constraints11010predicted_R: 0.7965 -> 1.0000 (boost 0.2035, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3761 (boost 0.3761, better)predicted_RBI: 1.0000 -> 0.5059 (deboost -0.4941, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_RBI: 0.5059 -> 1.0000 (boost 0.4941, better)predicted_BB: 0.3761 -> 0.0000 (deboost -0.3761, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_SLG: 0.6143 -> 0.4290 (deboost -0.1853, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference44040predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.4290 -> 0.6143 (boost 0.1853, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691182",
  "player_name": "Adael Amador",
  "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.182,
        "predicted_3B": 0.0,
        "predicted_AB": 2.909,
        "predicted_AVG": 0.344,
        "predicted_BB": 0.364,
        "predicted_H": 1.0,
        "predicted_HR": 0.273,
        "predicted_OBP": 0.417,
        "predicted_R": 0.909,
        "predicted_RBI": 0.909,
        "predicted_SLG": 0.688,
        "predicted_SO": 0.545
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1836,
        "predicted_3B": 0.0019,
        "predicted_AB": 3.0682,
        "predicted_AVG": 0.3301,
        "predicted_BB": 0.3488,
        "predicted_H": 1.0076,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.2546,
        "predicted_OBP": 0.3996,
        "predicted_R": 0.8602,
        "predicted_RBI": 0.8516,
        "predicted_SLG": 0.6437,
        "predicted_SO": 0.5739
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.182,
          "after": 0.1836,
          "delta": 0.0016,
          "percent_delta": 0.0088,
          "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.909,
          "after": 3.0682,
          "delta": 0.1592,
          "percent_delta": 0.0547,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.344,
          "after": 0.3301,
          "delta": -0.0139,
          "percent_delta": -0.0404,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.364,
          "after": 0.3488,
          "delta": -0.0152,
          "percent_delta": -0.0418,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0076,
          "delta": 0.0076,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.273,
          "after": 0.2546,
          "delta": -0.0184,
          "percent_delta": -0.0674,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.417,
          "after": 0.3996,
          "delta": -0.0174,
          "percent_delta": -0.0417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.909,
          "after": 0.8602,
          "delta": -0.0488,
          "percent_delta": -0.0537,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.909,
          "after": 0.8516,
          "delta": -0.0574,
          "percent_delta": -0.0631,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.688,
          "after": 0.6437,
          "delta": -0.0443,
          "percent_delta": -0.0644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.545,
          "after": 0.5739,
          "delta": 0.0289,
          "percent_delta": 0.053,
          "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.909,
          "after": 3.0682,
          "delta": 0.1592,
          "percent_delta": 0.0547,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.909,
          "after": 0.8516,
          "delta": -0.0574,
          "percent_delta": -0.0631,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 11
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1836,
        "predicted_3B": 0.0019,
        "predicted_AB": 3.0682,
        "predicted_AVG": 0.3146,
        "predicted_BB": 0.3443,
        "predicted_H": 0.9653,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.244,
        "predicted_OBP": 0.3838,
        "predicted_R": 0.7965,
        "predicted_RBI": 0.7886,
        "predicted_SLG": 0.6143,
        "predicted_SO": 0.5814
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1836,
          "after": 0.1836,
          "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": 3.0682,
          "after": 3.0682,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3301,
          "after": 0.3146,
          "delta": -0.0155,
          "percent_delta": -0.047,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3488,
          "after": 0.3443,
          "delta": -0.0045,
          "percent_delta": -0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0076,
          "after": 0.9653,
          "delta": -0.0423,
          "percent_delta": -0.042,
          "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.2546,
          "after": 0.244,
          "delta": -0.0106,
          "percent_delta": -0.0416,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3996,
          "after": 0.3838,
          "delta": -0.0158,
          "percent_delta": -0.0395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.8602,
          "after": 0.7965,
          "delta": -0.0637,
          "percent_delta": -0.0741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8516,
          "after": 0.7886,
          "delta": -0.063,
          "percent_delta": -0.074,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.6437,
          "after": 0.6143,
          "delta": -0.0294,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5739,
          "after": 0.5814,
          "delta": 0.0075,
          "percent_delta": 0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.8602,
          "after": 0.7965,
          "delta": -0.0637,
          "percent_delta": -0.0741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.07), rates preserved: AVG=0.290 HR/AB=0.080",
      "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.1836,
          "after": 0.0,
          "delta": -0.1836,
          "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": 3.0682,
          "after": 3.0,
          "delta": -0.0682,
          "percent_delta": -0.0222,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3443,
          "after": 0.0,
          "delta": -0.3443,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9653,
          "after": 1.0,
          "delta": 0.0347,
          "percent_delta": 0.0359,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.013,
          "after": 0.0,
          "delta": -0.013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.244,
          "after": 0.0,
          "delta": -0.244,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7886,
          "after": 1.0,
          "delta": 0.2114,
          "percent_delta": 0.2681,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5814,
          "after": 1.0,
          "delta": 0.4186,
          "percent_delta": 0.72,
          "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.5814,
          "after": 1.0,
          "delta": 0.4186,
          "percent_delta": 0.72,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3443,
          "after": 0.0,
          "delta": -0.3443,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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.7965,
          "after": 1.0,
          "delta": 0.2035,
          "percent_delta": 0.2555,
          "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.7965,
          "after": 1.0,
          "delta": 0.2035,
          "percent_delta": 0.2555,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.163,
        "predicted_3B": 0.0136,
        "predicted_BB": 0.3761,
        "predicted_H": 0.7562,
        "predicted_HR": 0.1633,
        "predicted_RBI": 0.5059,
        "predicted_SO": 0.8204
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.163,
          "delta": 0.163,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0136,
          "delta": 0.0136,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3761,
          "delta": 0.3761,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7562,
          "delta": -0.2438,
          "percent_delta": -0.2438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1633,
          "delta": 0.1633,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5059,
          "delta": -0.4941,
          "percent_delta": -0.4941,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8204,
          "delta": -0.1796,
          "percent_delta": -0.1796,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3761,
          "delta": 0.3761,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5059,
          "delta": -0.4941,
          "percent_delta": -0.4941,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.163,
          "after": 0.0,
          "delta": -0.163,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0136,
          "after": 0.0,
          "delta": -0.0136,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3761,
          "after": 0.0,
          "delta": -0.3761,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7562,
          "after": 1.0,
          "delta": 0.2438,
          "percent_delta": 0.3224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1633,
          "after": 0.0,
          "delta": -0.1633,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5059,
          "after": 1.0,
          "delta": 0.4941,
          "percent_delta": 0.9767,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8204,
          "after": 1.0,
          "delta": 0.1796,
          "percent_delta": 0.2189,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5059,
          "after": 1.0,
          "delta": 0.4941,
          "percent_delta": 0.9767,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3761,
          "after": 0.0,
          "delta": -0.3761,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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.3146,
          "after": 0.226,
          "delta": -0.0886,
          "percent_delta": -0.2816,
          "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.3838,
          "after": 0.309,
          "delta": -0.0748,
          "percent_delta": -0.1949,
          "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.6143,
          "after": 0.429,
          "delta": -0.1853,
          "percent_delta": -0.3016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.6143,
          "after": 0.429,
          "delta": -0.1853,
          "percent_delta": -0.3016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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_RBI",
          "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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.3146,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3838,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6143,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.226,
          "after": 0.3146,
          "delta": 0.0886,
          "percent_delta": 0.3921,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.3838,
          "delta": 0.0748,
          "percent_delta": 0.2419,
          "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": 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.429,
          "after": 0.6143,
          "delta": 0.1853,
          "percent_delta": 0.4319,
          "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.429,
          "after": 0.6143,
          "delta": 0.1853,
          "percent_delta": 0.4319,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.182,
        "after": 0.0,
        "delta": -0.182,
        "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.909,
        "after": 3.0,
        "delta": 0.091,
        "percent_delta": 0.0313,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.344,
        "after": 0.3146,
        "delta": -0.0294,
        "percent_delta": -0.0855,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.364,
        "after": 1.0,
        "delta": 0.636,
        "percent_delta": 1.7473,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.273,
        "after": 1.0,
        "delta": 0.727,
        "percent_delta": 2.663,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.417,
        "after": 0.3838,
        "delta": -0.0332,
        "percent_delta": -0.0796,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.909,
        "after": 1.0,
        "delta": 0.091,
        "percent_delta": 0.1001,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.909,
        "after": 3.0,
        "delta": 2.091,
        "percent_delta": 2.3003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.688,
        "after": 0.6143,
        "delta": -0.0737,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.545,
        "after": 1.0,
        "delta": 0.455,
        "percent_delta": 0.8349,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.909,
        "after": 3.0,
        "delta": 2.091,
        "percent_delta": 2.3003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_2B",
        "before": 0.182,
        "after": 0.0,
        "delta": -0.182,
        "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.182-
predicted_3B0.000-
predicted_AB2.909-
predicted_AVG0.344-
predicted_BB0.364-
predicted_H1.000-
predicted_HR0.273-
predicted_OBP0.417-
predicted_R0.909-
predicted_RBI0.909-
predicted_SLG0.688-
predicted_SO0.545-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1840.002
predicted_3B0.0020.002
predicted_AB3.0680.159
predicted_AVG0.330-0.014
predicted_BB0.349-0.015
predicted_H1.0080.008
predicted_HBP0.013-
predicted_HR0.255-0.018
predicted_OBP0.400-0.017
predicted_R0.860-0.049
predicted_RBI0.852-0.057
predicted_SLG0.644-0.044
predicted_SO0.5740.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.1840.000
predicted_3B0.0020.000
predicted_AB3.0680.000
predicted_AVG0.315-0.016
predicted_BB0.344-0.005
predicted_H0.965-0.042
predicted_HBP0.0130.000
predicted_HR0.244-0.011
predicted_OBP0.384-0.016
predicted_R0.796-0.064
predicted_RBI0.789-0.063
predicted_SLG0.614-0.029
predicted_SO0.5810.008
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1630.163
3B0.0140.014
BB0.3760.376
H0.756-0.244
HR0.1630.163
RBI0.506-0.494
SO0.820-0.180
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.163
3B0.000-0.014
AB3.0000.000
BB0.000-0.376
H1.0000.244
HR0.000-0.163
R1.0000.000
RBI1.0000.494
SO1.0000.180
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.184
predicted_3B0.000-0.002
predicted_AB3.000-0.068
predicted_AVG0.226-0.089
predicted_BB0.000-0.344
predicted_H1.0000.035
predicted_HR0.000-0.244
predicted_OBP0.309-0.075
predicted_R1.0000.204
predicted_RBI1.0000.211
predicted_SLG0.429-0.185
predicted_SO1.0000.419
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA4.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: 11
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0001.0000.0001.0003.0004.0001.0001.0000.33330.36840.55560.33330.05560.16670.05560.0556
last_100.2010-31.00011.0002.0000.0003.00010.00010.0004.0005.0000.35480.42860.70970.35480.09680.32260.12900.1613
season0.6011-32.00011.0002.0000.0003.00010.00010.0004.0006.0000.34380.41670.68750.34380.09380.31250.12500.1875
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1870
predicted_3B0.0060
predicted_AB3.4110
predicted_AVG0.3003
predicted_BB0.3160
predicted_H1.0240
predicted_HBP0.0130
predicted_HR0.2150
predicted_OBP0.3621
predicted_R0.7550
predicted_RBI0.7280
predicted_SLG0.5482
predicted_SO0.6360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18200.18700.1836model_form_blend
predicted_3B0.00000.00600.0019model_form_blend
predicted_AB2.90903.41103.0682model_form_blend
predicted_AVG0.34400.30030.3301model_form_blend
predicted_BB0.36400.31600.3488model_form_blend
predicted_H1.00001.02401.0076model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.27300.21500.2546model_form_blend
predicted_OBP0.41700.36210.3996model_form_blend
predicted_R0.90900.75500.8602model_form_blend
predicted_RBI0.90900.72800.8516model_form_blend
predicted_SLG0.68800.54820.6437model_form_blend
predicted_SO0.54500.63600.5739model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B0
3B0
HR1
R1
RBI3
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
allPositionsPlayed2B
gameID20260908_COL@NYY
game_typefull
mlbID691182
playerID691182
playerNameAdael Amador
pos2B
startedTrue
startingPosition2B
teamCOL
teamID9
game_date2026-09-08
sl_k_percent16.2
sl_bb_percent10.8
sl_woba0.46
sl_xwoba0.273
sl_xba0.2
sl_xslg0.345
sl_sweet_spot_percent29.6
sl_barrel_batted_rate11.1
sl_hard_hit_percent29.6
sl_exit_velocity_avg84.2
sl_launch_angle_avg20.6
sl_whiff_percent13.4
sl_swing_percent51.5
Jordan Beck (687597) · BATTER · RF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 134
All-history rows before 20260910: 134
System season_avg: 0.1970
Data season_avg (2026 season-to-date): 0.1778
Diff (system - data): 0.0192
System opponent_avg: 0.2380
System season_avg diverges from 2026 season-to-date by 0.0192. 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.1430.0000.000Hitting_2B0.1870.000-0.1870.000
predicted_3B0.0410.0000.000Hitting_3B0.0450.000-0.0450.000
predicted_AB2.7964.0003.000Hitting_AB3.2310.0000.7694.000
predicted_AVG0.1970.0000.000Hitting_AVG0.178--0.178-
predicted_BB0.2040.0000.000Hitting_BB0.2690.000-0.2690.000
predicted_CS-0.0000.000BaseRunning_CS0.0300.000-0.0300.000
predicted_H0.5510.0000.000Hitting_H0.5750.000-0.5750.000
predicted_HR0.0200.0000.000Hitting_HR0.0370.000-0.0370.000
predicted_OBP0.2520.0000.000Hitting_OBP0.238--0.238-
predicted_R0.2650.0000.000Hitting_R0.3660.000-0.3660.000
predicted_RBI0.2240.0000.000Hitting_RBI0.3130.000-0.3130.000
predicted_SLG0.2990.0000.000Hitting_SLG0.298--0.298-
predicted_SO0.9181.0001.000Hitting_SO0.9780.0000.0221.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: 2.7960 -> 4.0000 (boost 1.2040, better)
Biggest Deboostpredicted_H: 0.5510 -> 0.0000 (deboost -0.5510, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22011predicted_SO: 0.9180 -> 0.9821 (boost 0.0641, worse)-Final model input calibrated 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.2963 -> 0.2867 (deboost -0.0096, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling52323predicted_H: 0.5508 -> 1.0000 (boost 0.4492, better)predicted_RBI: 0.2111 -> 0.0000 (deboost -0.2111, worse)AB rounded to 3 (raw=2.82), rates preserved: AVG=0.180 HR/AB=0.008
6consistency_constraints10101-predicted_R: 0.2346 -> 0.0000 (deboost -0.2346, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3553 (boost 0.3553, better)predicted_H: 1.0000 -> 0.6915 (deboost -0.3085, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation60615-predicted_H: 0.6915 -> 0.0000 (deboost -0.6915, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3610 -> 0.2867 (deboost -0.0743, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687597",
  "player_name": "Jordan Beck",
  "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.143,
        "predicted_3B": 0.041,
        "predicted_AB": 2.796,
        "predicted_AVG": 0.197,
        "predicted_BB": 0.204,
        "predicted_H": 0.551,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.252,
        "predicted_R": 0.265,
        "predicted_RBI": 0.224,
        "predicted_SLG": 0.299,
        "predicted_SO": 0.918
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1238,
        "predicted_3B": 0.0338,
        "predicted_AB": 2.8176,
        "predicted_AVG": 0.204,
        "predicted_BB": 0.1848,
        "predicted_H": 0.575,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.0228,
        "predicted_OBP": 0.2532,
        "predicted_R": 0.2534,
        "predicted_RBI": 0.228,
        "predicted_SLG": 0.2963,
        "predicted_SO": 0.9821
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.143,
          "after": 0.1238,
          "delta": -0.0192,
          "percent_delta": -0.1343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.041,
          "after": 0.0338,
          "delta": -0.0072,
          "percent_delta": -0.1756,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.796,
          "after": 2.8176,
          "delta": 0.0216,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.197,
          "after": 0.204,
          "delta": 0.007,
          "percent_delta": 0.0355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.204,
          "after": 0.1848,
          "delta": -0.0192,
          "percent_delta": -0.0941,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.551,
          "after": 0.575,
          "delta": 0.024,
          "percent_delta": 0.0436,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.02,
          "after": 0.0228,
          "delta": 0.0028,
          "percent_delta": 0.14,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.252,
          "after": 0.2532,
          "delta": 0.0012,
          "percent_delta": 0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.265,
          "after": 0.2534,
          "delta": -0.0116,
          "percent_delta": -0.0438,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.224,
          "after": 0.228,
          "delta": 0.004,
          "percent_delta": 0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.299,
          "after": 0.2963,
          "delta": -0.0027,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.918,
          "after": 0.9821,
          "delta": 0.0641,
          "percent_delta": 0.0698,
          "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.918,
          "after": 0.9821,
          "delta": 0.0641,
          "percent_delta": 0.0698,
          "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": 49
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1238,
        "predicted_3B": 0.0338,
        "predicted_AB": 2.8176,
        "predicted_AVG": 0.1955,
        "predicted_BB": 0.1824,
        "predicted_H": 0.5508,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.0219,
        "predicted_OBP": 0.2444,
        "predicted_R": 0.2346,
        "predicted_RBI": 0.2111,
        "predicted_SLG": 0.2867,
        "predicted_SO": 0.9949
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1238,
          "after": 0.1238,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0338,
          "after": 0.0338,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8176,
          "after": 2.8176,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.204,
          "after": 0.1955,
          "delta": -0.0085,
          "percent_delta": -0.0417,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1848,
          "after": 0.1824,
          "delta": -0.0024,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.575,
          "after": 0.5508,
          "delta": -0.0242,
          "percent_delta": -0.0421,
          "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.0228,
          "after": 0.0219,
          "delta": -0.0009,
          "percent_delta": -0.0395,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2532,
          "after": 0.2444,
          "delta": -0.0088,
          "percent_delta": -0.0348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2534,
          "after": 0.2346,
          "delta": -0.0188,
          "percent_delta": -0.0742,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.228,
          "after": 0.2111,
          "delta": -0.0169,
          "percent_delta": -0.0741,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2963,
          "after": 0.2867,
          "delta": -0.0096,
          "percent_delta": -0.0324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9821,
          "after": 0.9949,
          "delta": 0.0128,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2963,
          "after": 0.2867,
          "delta": -0.0096,
          "percent_delta": -0.0324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.82), rates preserved: AVG=0.180 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.1238,
          "after": 0.0,
          "delta": -0.1238,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0338,
          "after": 0.0,
          "delta": -0.0338,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8176,
          "after": 3.0,
          "delta": 0.1824,
          "percent_delta": 0.0647,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1824,
          "after": 0.0,
          "delta": -0.1824,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5508,
          "after": 1.0,
          "delta": 0.4492,
          "percent_delta": 0.8155,
          "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.0219,
          "after": 0.0,
          "delta": -0.0219,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2111,
          "after": 0.0,
          "delta": -0.2111,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9949,
          "after": 1.0,
          "delta": 0.0051,
          "percent_delta": 0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5508,
          "after": 1.0,
          "delta": 0.4492,
          "percent_delta": 0.8155,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2111,
          "after": 0.0,
          "delta": -0.2111,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2346,
          "after": 0.0,
          "delta": -0.2346,
          "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.2346,
          "after": 0.0,
          "delta": -0.2346,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1583,
        "predicted_3B": 0.0187,
        "predicted_BB": 0.299,
        "predicted_H": 0.6915,
        "predicted_HR": 0.093,
        "predicted_RBI": 0.3553,
        "predicted_SO": 1.1199
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1583,
          "delta": 0.1583,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0187,
          "delta": 0.0187,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.299,
          "delta": 0.299,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6915,
          "delta": -0.3085,
          "percent_delta": -0.3085,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.093,
          "delta": 0.093,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3553,
          "delta": 0.3553,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1199,
          "delta": 0.1199,
          "percent_delta": 0.1199,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3553,
          "delta": 0.3553,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6915,
          "delta": -0.3085,
          "percent_delta": -0.3085,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1583,
          "after": 0.0,
          "delta": -0.1583,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.299,
          "after": 0.0,
          "delta": -0.299,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6915,
          "after": 0.0,
          "delta": -0.6915,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.093,
          "after": 0.0,
          "delta": -0.093,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3553,
          "after": 0.0,
          "delta": -0.3553,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1199,
          "after": 1.0,
          "delta": -0.1199,
          "percent_delta": -0.1071,
          "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.6915,
          "after": 0.0,
          "delta": -0.6915,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.214,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.361,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1955,
          "after": 0.214,
          "delta": 0.0185,
          "percent_delta": 0.0946,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2444,
          "after": 0.286,
          "delta": 0.0416,
          "percent_delta": 0.1702,
          "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.2867,
          "after": 0.361,
          "delta": 0.0743,
          "percent_delta": 0.2592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1955,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2444,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2867,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.1955,
          "delta": -0.0185,
          "percent_delta": -0.0864,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2444,
          "delta": -0.0416,
          "percent_delta": -0.1454,
          "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.361,
          "after": 0.2867,
          "delta": -0.0743,
          "percent_delta": -0.2058,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.361,
          "after": 0.2867,
          "delta": -0.0743,
          "percent_delta": -0.2058,
          "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.041,
        "after": 0.0,
        "delta": -0.041,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.796,
        "after": 4.0,
        "delta": 1.204,
        "percent_delta": 0.4306,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.197,
        "after": 0.1955,
        "delta": -0.0015,
        "percent_delta": -0.0076,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.204,
        "after": 0.0,
        "delta": -0.204,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.551,
        "after": 0.0,
        "delta": -0.551,
        "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.252,
        "after": 0.2444,
        "delta": -0.0076,
        "percent_delta": -0.0302,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.265,
        "after": 0.0,
        "delta": -0.265,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.224,
        "after": 0.0,
        "delta": -0.224,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.299,
        "after": 0.2867,
        "delta": -0.0123,
        "percent_delta": -0.0411,
        "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": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 1,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.796,
        "after": 4.0,
        "delta": 1.204,
        "percent_delta": 0.4306,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.551,
        "after": 0.0,
        "delta": -0.551,
        "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.041-
predicted_AB2.796-
predicted_AVG0.197-
predicted_BB0.204-
predicted_H0.551-
predicted_HR0.020-
predicted_OBP0.252-
predicted_R0.265-
predicted_RBI0.224-
predicted_SLG0.299-
predicted_SO0.918-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.124-0.019
predicted_3B0.034-0.007
predicted_AB2.8180.022
predicted_AVG0.2040.007
predicted_BB0.185-0.019
predicted_H0.5750.024
predicted_HBP0.004-
predicted_HR0.0230.003
predicted_OBP0.2530.001
predicted_R0.253-0.012
predicted_RBI0.2280.004
predicted_SLG0.296-0.003
predicted_SO0.9820.064
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1240.000
predicted_3B0.0340.000
predicted_AB2.8180.000
predicted_AVG0.196-0.008
predicted_BB0.182-0.002
predicted_H0.551-0.024
predicted_HBP0.0040.000
predicted_HR0.022-0.001
predicted_OBP0.244-0.009
predicted_R0.235-0.019
predicted_RBI0.211-0.017
predicted_SLG0.287-0.010
predicted_SO0.9950.013
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.82), rates preserved: AVG=0.180 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-
6. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1580.158
3B0.0190.019
BB0.2990.299
H0.692-0.308
HR0.0930.093
RBI0.3550.355
SO1.1200.120
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.158
3B0.000-0.019
AB3.0000.000
BB0.000-0.299
H0.000-0.692
HR0.000-0.093
R0.0000.000
RBI0.000-0.355
SO1.000-0.120
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.124
predicted_3B0.000-0.034
predicted_AB3.0000.182
predicted_AVG0.2140.018
predicted_BB0.000-0.182
predicted_H1.0000.449
predicted_HR0.000-0.022
predicted_OBP0.2860.042
predicted_R0.000-0.235
predicted_RBI0.000-0.211
predicted_SLG0.3610.074
predicted_SO1.0000.005
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.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: 49
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0002.0000.0000.0000.0001.0000.0000.0007.0000.16670.16670.16670.16670.00000.08330.00000.5833
last_100.2010-25.0007.0000.0000.0000.0001.0002.0001.00012.0000.28000.30770.28000.28000.00000.04000.04000.4800
season0.6049-137.00027.0007.0002.0001.00011.00013.00010.00045.0000.19710.25000.29930.19710.00730.08030.07300.3285
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0950
predicted_3B0.0230
predicted_AB2.8500
predicted_AVG0.2144
predicted_BB0.1560
predicted_H0.6110
predicted_HBP0.0040
predicted_HR0.0270
predicted_OBP0.2551
predicted_R0.2360
predicted_RBI0.2340
predicted_SLG0.2923
predicted_SO1.0780
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14300.09500.1238model_form_blend
predicted_3B0.04100.02300.0338model_form_blend
predicted_AB2.79602.85002.8176model_form_blend
predicted_AVG0.19700.21440.2040model_form_blend
predicted_BB0.20400.15600.1848model_form_blend
predicted_H0.55100.61100.5750model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.02000.02700.0228model_form_blend
predicted_OBP0.25200.25510.2532model_form_blend
predicted_R0.26500.23600.2534model_form_blend
predicted_RBI0.22400.23400.2280model_form_blend
predicted_SLG0.29900.29230.2963model_form_blend
predicted_SO0.91801.07800.9821model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
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 assists1
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_battingOrder8
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260908_COL@NYY
game_typeshort
mlbID687597
playerID687597
playerNameJordan Beck
posLF
startedFalse
startingPositionRF
teamCOL
teamID9
game_date2026-09-08
sl_k_percent30.4
sl_bb_percent6.8
sl_woba0.245
sl_xwoba0.243
sl_xba0.207
sl_xslg0.287
sl_sweet_spot_percent29.0
sl_barrel_batted_rate4.3
sl_hard_hit_percent30.1
sl_exit_velocity_avg86.7
sl_launch_angle_avg18.7
sl_whiff_percent30.7
sl_swing_percent52.5
Jake McCarthy (664983) · BATTER · LF · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 457
All-history rows before 20260910: 457
System season_avg: 0.2920
Data season_avg (2026 season-to-date): 0.2988
Diff (system - data): -0.0068
System opponent_avg: 0.4580

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2340.0000.000Hitting_2B0.2540.000-0.2540.000
predicted_3B0.0650.0000.000Hitting_3B0.0590.000-0.0590.000
predicted_AB5.2503.0004.000Hitting_AB3.9474.000-0.947-1.000
predicted_AVG0.2820.3330.250Hitting_AVG0.2990.2500.0350.083
predicted_BB0.2101.0000.000Hitting_BB0.2170.0000.7831.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H1.4801.0001.000Hitting_H1.1791.000-0.1790.000
predicted_HR0.1600.0000.000Hitting_HR0.1400.000-0.1400.000
predicted_OBP0.3510.6000.250Hitting_OBP0.3390.2500.2610.350
predicted_R0.5651.0001.000Hitting_R0.6320.0000.3681.000
predicted_RBI0.6900.0001.000Hitting_RBI0.6720.000-0.6720.000
predicted_SLG0.4350.3330.250Hitting_SLG0.4990.250-0.1660.083
predicted_SO0.6851.0001.000Hitting_SO0.7221.0000.2780.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics4
Deboosted Metrics8
Better Metrics3
Worse Metrics9
Biggest Boostpredicted_BB: 0.2100 -> 1.0000 (boost 0.7900, better)
Biggest Deboostpredicted_AB: 5.2500 -> 3.0000 (deboost -2.2500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_SLG: 0.4350 -> 0.4559 (boost 0.0209, better)predicted_AB: 5.2500 -> 4.6855 (deboost -0.5645, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot40404-predicted_H: 1.3424 -> 1.2860 (deboost -0.0564, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81708predicted_SO: 0.6772 -> 1.0000 (boost 0.3228, worse)predicted_AB: 4.6855 -> 4.0000 (deboost -0.6855, worse)AB rounded to 4 (raw=5.25), rates preserved: AVG=0.226 HR/AB=0.028
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500)
7consistency_constraints11010predicted_R: 0.5569 -> 1.0000 (boost 0.4431, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65160predicted_RBI: 0.0000 -> 0.6248 (boost 0.6248, better)predicted_SO: 1.0000 -> 0.9101 (deboost -0.0899, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_RBI: 0.6248 -> 1.0000 (boost 0.3752, better)predicted_BB: 0.2397 -> 0.0000 (deboost -0.2397, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context30303-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference32121predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final22020predicted_AVG: 0.2600 -> 0.2745 (boost 0.0145, 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.065,
        "predicted_AB": 5.25,
        "predicted_AVG": 0.282,
        "predicted_BB": 0.21,
        "predicted_H": 1.48,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.351,
        "predicted_R": 0.565,
        "predicted_RBI": 0.69,
        "predicted_SLG": 0.435,
        "predicted_SO": 0.685
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.211,
        "predicted_3B": 0.0611,
        "predicted_AB": 4.6855,
        "predicted_AVG": 0.2875,
        "predicted_BB": 0.2577,
        "predicted_H": 1.3424,
        "predicted_HBP": 0.048,
        "predicted_HR": 0.1561,
        "predicted_OBP": 0.3517,
        "predicted_R": 0.6014,
        "predicted_RBI": 0.6475,
        "predicted_SLG": 0.4559,
        "predicted_SO": 0.6685
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.234,
          "after": 0.211,
          "delta": -0.023,
          "percent_delta": -0.0983,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.065,
          "after": 0.0611,
          "delta": -0.0039,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.25,
          "after": 4.6855,
          "delta": -0.5645,
          "percent_delta": -0.1075,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2875,
          "delta": 0.0055,
          "percent_delta": 0.0195,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.21,
          "after": 0.2577,
          "delta": 0.0477,
          "percent_delta": 0.2271,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.48,
          "after": 1.3424,
          "delta": -0.1376,
          "percent_delta": -0.093,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1561,
          "delta": -0.0039,
          "percent_delta": -0.0244,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.3517,
          "delta": 0.0007,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.565,
          "after": 0.6014,
          "delta": 0.0364,
          "percent_delta": 0.0644,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.69,
          "after": 0.6475,
          "delta": -0.0425,
          "percent_delta": -0.0616,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.435,
          "after": 0.4559,
          "delta": 0.0209,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.685,
          "after": 0.6685,
          "delta": -0.0165,
          "percent_delta": -0.0241,
          "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.435,
          "after": 0.4559,
          "delta": 0.0209,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.25,
          "after": 4.6855,
          "delta": -0.5645,
          "percent_delta": -0.1075,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.211,
        "predicted_3B": 0.0611,
        "predicted_AB": 4.6855,
        "predicted_AVG": 0.2745,
        "predicted_BB": 0.2543,
        "predicted_H": 1.286,
        "predicted_HBP": 0.048,
        "predicted_HR": 0.1496,
        "predicted_OBP": 0.3118,
        "predicted_R": 0.5569,
        "predicted_RBI": 0.5996,
        "predicted_SLG": 0.4414,
        "predicted_SO": 0.6772
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.211,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0611,
          "after": 0.0611,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.6855,
          "after": 4.6855,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2875,
          "after": 0.2745,
          "delta": -0.013,
          "percent_delta": -0.0452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2577,
          "after": 0.2543,
          "delta": -0.0034,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3424,
          "after": 1.286,
          "delta": -0.0564,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.048,
          "after": 0.048,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1561,
          "after": 0.1496,
          "delta": -0.0065,
          "percent_delta": -0.0416,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3517,
          "after": 0.3118,
          "delta": -0.0399,
          "percent_delta": -0.1134,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6014,
          "after": 0.5569,
          "delta": -0.0445,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6475,
          "after": 0.5996,
          "delta": -0.0479,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4559,
          "after": 0.4414,
          "delta": -0.0145,
          "percent_delta": -0.0318,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6685,
          "after": 0.6772,
          "delta": 0.0087,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.3424,
          "after": 1.286,
          "delta": -0.0564,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.25), rates preserved: AVG=0.226 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.0,
          "delta": -0.211,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0611,
          "after": 0.0,
          "delta": -0.0611,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.6855,
          "after": 4.0,
          "delta": -0.6855,
          "percent_delta": -0.1463,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2543,
          "after": 0.0,
          "delta": -0.2543,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.286,
          "after": 1.0,
          "delta": -0.286,
          "percent_delta": -0.2224,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.048,
          "after": 0.0,
          "delta": -0.048,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1496,
          "after": 0.0,
          "delta": -0.1496,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5996,
          "after": 0.0,
          "delta": -0.5996,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6772,
          "after": 1.0,
          "delta": 0.3228,
          "percent_delta": 0.4767,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.6772,
          "after": 1.0,
          "delta": 0.3228,
          "percent_delta": 0.4767,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.6855,
          "after": 4.0,
          "delta": -0.6855,
          "percent_delta": -0.1463,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500)",
      "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": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5569,
          "after": 1.0,
          "delta": 0.4431,
          "percent_delta": 0.7957,
          "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.5569,
          "after": 1.0,
          "delta": 0.4431,
          "percent_delta": 0.7957,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1854,
        "predicted_3B": 0.0426,
        "predicted_BB": 0.2397,
        "predicted_H": 1.0624,
        "predicted_HR": 0.1371,
        "predicted_RBI": 0.6248,
        "predicted_SO": 0.9101
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1854,
          "delta": 0.1854,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0426,
          "delta": 0.0426,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2397,
          "delta": 0.2397,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0624,
          "delta": 0.0624,
          "percent_delta": 0.0624,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1371,
          "delta": 0.1371,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.6248,
          "delta": 0.6248,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9101,
          "delta": -0.0899,
          "percent_delta": -0.0899,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.6248,
          "delta": 0.6248,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9101,
          "delta": -0.0899,
          "percent_delta": -0.0899,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1854,
          "after": 0.0,
          "delta": -0.1854,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0426,
          "after": 0.0,
          "delta": -0.0426,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2397,
          "after": 0.0,
          "delta": -0.2397,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0624,
          "after": 1.0,
          "delta": -0.0624,
          "percent_delta": -0.0587,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1371,
          "after": 0.0,
          "delta": -0.1371,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6248,
          "after": 1.0,
          "delta": 0.3752,
          "percent_delta": 0.6005,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9101,
          "after": 1.0,
          "delta": 0.0899,
          "percent_delta": 0.0988,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6248,
          "after": 1.0,
          "delta": 0.3752,
          "percent_delta": 0.6005,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2397,
          "after": 0.0,
          "delta": -0.2397,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2745,
          "after": 0.26,
          "delta": -0.0145,
          "percent_delta": -0.0528,
          "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.3118,
          "after": 0.307,
          "delta": -0.0048,
          "percent_delta": -0.0154,
          "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.4414,
          "after": 0.427,
          "delta": -0.0144,
          "percent_delta": -0.0326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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": 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_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2745,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3118,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4414,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.26,
          "after": 0.2745,
          "delta": 0.0145,
          "percent_delta": 0.0556,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3118,
          "delta": 0.0048,
          "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.427,
          "after": 0.4414,
          "delta": 0.0144,
          "percent_delta": 0.0337,
          "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.26,
          "after": 0.2745,
          "delta": 0.0145,
          "percent_delta": 0.0556,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.234,
        "after": 0.0,
        "delta": -0.234,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.065,
        "after": 0.0,
        "delta": -0.065,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 5.25,
        "after": 3.0,
        "delta": -2.25,
        "percent_delta": -0.4286,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.282,
        "after": 0.2745,
        "delta": -0.0075,
        "percent_delta": -0.0266,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.21,
        "after": 1.0,
        "delta": 0.79,
        "percent_delta": 3.7619,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.48,
        "after": 1.0,
        "delta": -0.48,
        "percent_delta": -0.3243,
        "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.351,
        "after": 0.3118,
        "delta": -0.0392,
        "percent_delta": -0.1117,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.565,
        "after": 1.0,
        "delta": 0.435,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.69,
        "after": 0.0,
        "delta": -0.69,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.435,
        "after": 0.4414,
        "delta": 0.0064,
        "percent_delta": 0.0147,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.685,
        "after": 1.0,
        "delta": 0.315,
        "percent_delta": 0.4599,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 4,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.21,
        "after": 1.0,
        "delta": 0.79,
        "percent_delta": 3.7619,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.25,
        "after": 3.0,
        "delta": -2.25,
        "percent_delta": -0.4286,
        "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.065-
predicted_AB5.250-
predicted_AVG0.282-
predicted_BB0.210-
predicted_H1.480-
predicted_HR0.160-
predicted_OBP0.351-
predicted_R0.565-
predicted_RBI0.690-
predicted_SLG0.435-
predicted_SO0.685-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.023
predicted_3B0.061-0.004
predicted_AB4.686-0.564
predicted_AVG0.2870.006
predicted_BB0.2580.048
predicted_H1.342-0.138
predicted_HBP0.048-
predicted_HR0.156-0.004
predicted_OBP0.3520.001
predicted_R0.6010.036
predicted_RBI0.647-0.042
predicted_SLG0.4560.021
predicted_SO0.668-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.2110.000
predicted_3B0.0610.000
predicted_AB4.6860.000
predicted_AVG0.275-0.013
predicted_BB0.254-0.003
predicted_H1.286-0.056
predicted_HBP0.0480.000
predicted_HR0.150-0.006
predicted_OBP0.312-0.040
predicted_R0.557-0.045
predicted_RBI0.600-0.048
predicted_SLG0.441-0.015
predicted_SO0.6770.009
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1850.185
3B0.0430.043
BB0.2400.240
H1.0620.062
HR0.1370.137
RBI0.6250.625
SO0.910-0.090
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.185
3B0.000-0.043
AB4.0000.000
BB0.000-0.240
H1.000-0.062
HR0.000-0.137
R1.0000.000
RBI1.0000.375
SO1.0000.090
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.211
predicted_3B0.000-0.061
predicted_AB4.000-0.686
predicted_AVG0.260-0.015
predicted_BB0.000-0.254
predicted_H1.000-0.286
predicted_HR0.000-0.150
predicted_OBP0.307-0.005
predicted_R1.0000.443
predicted_RBI0.000-0.600
predicted_SLG0.427-0.014
predicted_SO1.0000.323
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP1.0001.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: 124
Reference playing time: 5.250
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.0003.0005.0003.0003.0000.30000.39130.45000.30000.05000.15000.15000.1500
last_100.2010-42.00013.0002.0001.0002.0006.0006.0004.0005.0000.30950.38300.54760.30950.04760.14290.09520.1191
season0.60124-479.000140.00029.0008.00015.00074.00070.00026.00085.0000.29230.33400.48020.29230.03130.15450.05430.1774
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1810
predicted_3B0.0560
predicted_AB3.9490
predicted_AVG0.2946
predicted_BB0.3200
predicted_H1.1630
predicted_HBP0.0480
predicted_HR0.1510
predicted_OBP0.3525
predicted_R0.6490
predicted_RBI0.5920
predicted_SLG0.4832
predicted_SO0.6470
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23400.18100.2110model_form_blend
predicted_3B0.06500.05600.0611model_form_blend
predicted_AB5.25003.94904.6855model_form_blend
predicted_AVG0.28200.29460.2875model_form_blend
predicted_BB0.21000.32000.2577model_form_blend
predicted_H1.48001.16301.3424model_form_blend
predicted_HBP-0.04800.0480form_only
predicted_HR0.16000.15100.1561model_form_blend
predicted_OBP0.35100.35250.3517model_form_blend
predicted_R0.56500.64900.6014model_form_blend
predicted_RBI0.69000.59200.6475model_form_blend
predicted_SLG0.43500.48320.4559model_form_blend
predicted_SO0.68500.64700.6685model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date457
Season rows before report date457
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
PA5
AB3
H1
2B0
3B0
HR0
R1
RBI0
BB1
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
gameID20260909_COL@NYY
game_typefull
mlbID664983
playerID664983
playerNameJake McCarthy
posLF
startedTrue
startingPositionCF
teamCOL
teamID9
game_date2026-09-09
sl_k_percent16.2
sl_bb_percent5.4
sl_woba0.353
sl_xwoba0.322
sl_xba0.275
sl_xslg0.412
sl_sweet_spot_percent38.5
sl_barrel_batted_rate5.3
sl_hard_hit_percent28.7
sl_exit_velocity_avg85.6
sl_launch_angle_avg12.6
sl_whiff_percent21.5
sl_swing_percent57.6
Connor Norby (681393) · BATTER · 2B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 45
All-history rows before 20260910: 45
System season_avg: 0.2270
Data season_avg (2026 season-to-date): 0.2662
Diff (system - data): -0.0392
System opponent_avg: 0.1360
System season_avg diverges from 2026 season-to-date by -0.0392. 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.0001.000Hitting_2B0.3561.000-0.356-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1335.0004.000Hitting_AB3.0893.0001.9112.000
predicted_AVG0.2620.2000.250Hitting_AVG0.2660.667-0.066-0.467
predicted_BB0.3890.0001.000Hitting_BB0.4890.000-0.4890.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8101.0001.000Hitting_H0.8222.0000.178-1.000
predicted_HR0.1400.0000.000Hitting_HR0.0671.000-0.067-1.000
predicted_OBP0.3690.2000.400Hitting_OBP0.3700.667-0.170-0.467
predicted_R0.3440.0000.000Hitting_R0.5331.000-0.533-1.000
predicted_RBI0.3300.0000.000Hitting_RBI0.3111.000-0.311-1.000
predicted_SB-0.0000.000BaseRunning_SB0.1330.000-0.1330.000
predicted_SLG0.4480.2000.500Hitting_SLG0.4462.000-0.246-1.800
predicted_SO1.0782.0001.000Hitting_SO0.9781.0001.0221.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.1330 -> 5.0000 (boost 1.8670, better)
Biggest Deboostpredicted_BB: 0.3890 -> 0.0000 (deboost -0.3890, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_R: 0.3440 -> 0.4078 (boost 0.0638, 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.3699 -> 0.3346 (deboost -0.0353, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82635predicted_AB: 3.1049 -> 4.0000 (boost 0.8951, better)predicted_BB: 0.3772 -> 0.0000 (deboost -0.3772, worse)AB rounded to 4 (raw=3.13), rates preserved: AVG=0.232 HR/AB=0.040
6consistency_constraints10101-predicted_R: 0.3776 -> 0.0000 (deboost -0.3776, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.4545 (boost 0.4545, better)predicted_H: 1.0000 -> 0.7860 (deboost -0.2140, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63342predicted_2B: 0.1913 -> 1.0000 (boost 0.8087, better)predicted_RBI: 0.4008 -> 0.0000 (deboost -0.4008, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50505-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference22011predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3720 -> 0.4360 (boost 0.0640, better)-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.2,
        "predicted_3B": 0.0,
        "predicted_AB": 3.133,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.389,
        "predicted_H": 0.81,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.369,
        "predicted_R": 0.344,
        "predicted_RBI": 0.33,
        "predicted_SLG": 0.448,
        "predicted_SO": 1.078
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1932,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1049,
        "predicted_AVG": 0.2668,
        "predicted_BB": 0.3822,
        "predicted_H": 0.8223,
        "predicted_HBP": 0.12,
        "predicted_HR": 0.1294,
        "predicted_OBP": 0.3699,
        "predicted_R": 0.4078,
        "predicted_RBI": 0.3368,
        "predicted_SLG": 0.4474,
        "predicted_SO": 1.0448
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2,
          "after": 0.1932,
          "delta": -0.0068,
          "percent_delta": -0.034,
          "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.133,
          "after": 3.1049,
          "delta": -0.0281,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2668,
          "delta": 0.0048,
          "percent_delta": 0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.389,
          "after": 0.3822,
          "delta": -0.0068,
          "percent_delta": -0.0175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.81,
          "after": 0.8223,
          "delta": 0.0123,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1294,
          "delta": -0.0106,
          "percent_delta": -0.0757,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.369,
          "after": 0.3699,
          "delta": 0.0009,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.344,
          "after": 0.4078,
          "delta": 0.0638,
          "percent_delta": 0.1855,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.33,
          "after": 0.3368,
          "delta": 0.0068,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.448,
          "after": 0.4474,
          "delta": -0.0006,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.078,
          "after": 1.0448,
          "delta": -0.0332,
          "percent_delta": -0.0308,
          "direction": "no_change",
          "projection_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.344,
          "after": 0.4078,
          "delta": 0.0638,
          "percent_delta": 0.1855,
          "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": 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.1932,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1049,
        "predicted_AVG": 0.2537,
        "predicted_BB": 0.3772,
        "predicted_H": 0.7878,
        "predicted_HBP": 0.12,
        "predicted_HR": 0.124,
        "predicted_OBP": 0.3346,
        "predicted_R": 0.3776,
        "predicted_RBI": 0.3119,
        "predicted_SLG": 0.436,
        "predicted_SO": 1.0584
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1932,
          "after": 0.1932,
          "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.1049,
          "after": 3.1049,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2668,
          "after": 0.2537,
          "delta": -0.0131,
          "percent_delta": -0.0491,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3822,
          "after": 0.3772,
          "delta": -0.005,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8223,
          "after": 0.7878,
          "delta": -0.0345,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.12,
          "after": 0.12,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1294,
          "after": 0.124,
          "delta": -0.0054,
          "percent_delta": -0.0417,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3699,
          "after": 0.3346,
          "delta": -0.0353,
          "percent_delta": -0.0954,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4078,
          "after": 0.3776,
          "delta": -0.0302,
          "percent_delta": -0.0741,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3368,
          "after": 0.3119,
          "delta": -0.0249,
          "percent_delta": -0.0739,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4474,
          "after": 0.436,
          "delta": -0.0114,
          "percent_delta": -0.0255,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0448,
          "after": 1.0584,
          "delta": 0.0136,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3699,
          "after": 0.3346,
          "delta": -0.0353,
          "percent_delta": -0.0954,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.13), rates preserved: AVG=0.232 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1932,
          "after": 0.0,
          "delta": -0.1932,
          "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.1049,
          "after": 4.0,
          "delta": 0.8951,
          "percent_delta": 0.2883,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3772,
          "after": 0.0,
          "delta": -0.3772,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7878,
          "after": 1.0,
          "delta": 0.2122,
          "percent_delta": 0.2694,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.12,
          "after": 0.0,
          "delta": -0.12,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.124,
          "after": 0.0,
          "delta": -0.124,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3119,
          "after": 0.0,
          "delta": -0.3119,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0584,
          "after": 1.0,
          "delta": -0.0584,
          "percent_delta": -0.0552,
          "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.1049,
          "after": 4.0,
          "delta": 0.8951,
          "percent_delta": 0.2883,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3772,
          "after": 0.0,
          "delta": -0.3772,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3776,
          "after": 0.0,
          "delta": -0.3776,
          "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.3776,
          "after": 0.0,
          "delta": -0.3776,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1913,
        "predicted_3B": 0.0115,
        "predicted_BB": 0.4545,
        "predicted_H": 0.786,
        "predicted_HR": 0.1235,
        "predicted_RBI": 0.4008,
        "predicted_SO": 1.2951
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1913,
          "delta": 0.1913,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0115,
          "delta": 0.0115,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4545,
          "delta": 0.4545,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.786,
          "delta": -0.214,
          "percent_delta": -0.214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1235,
          "delta": 0.1235,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4008,
          "delta": 0.4008,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2951,
          "delta": 0.2951,
          "percent_delta": 0.2951,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4545,
          "delta": 0.4545,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.786,
          "delta": -0.214,
          "percent_delta": -0.214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1913,
          "after": 1.0,
          "delta": 0.8087,
          "percent_delta": 4.2274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0115,
          "after": 0.0,
          "delta": -0.0115,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4545,
          "after": 1.0,
          "delta": 0.5455,
          "percent_delta": 1.2002,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.786,
          "after": 1.0,
          "delta": 0.214,
          "percent_delta": 0.2723,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1235,
          "after": 0.0,
          "delta": -0.1235,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4008,
          "after": 0.0,
          "delta": -0.4008,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2951,
          "after": 1.0,
          "delta": -0.2951,
          "percent_delta": -0.2279,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1913,
          "after": 1.0,
          "delta": 0.8087,
          "percent_delta": 4.2274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4008,
          "after": 0.0,
          "delta": -0.4008,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.372,
        "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.2537,
          "after": 0.213,
          "delta": -0.0407,
          "percent_delta": -0.1604,
          "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.3346,
          "after": 0.305,
          "delta": -0.0296,
          "percent_delta": -0.0885,
          "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.436,
          "after": 0.372,
          "delta": -0.064,
          "percent_delta": -0.1468,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "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": 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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2537,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3346,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.436,
        "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.213,
          "after": 0.2537,
          "delta": 0.0407,
          "percent_delta": 0.1912,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3346,
          "delta": 0.0296,
          "percent_delta": 0.0969,
          "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.372,
          "after": 0.436,
          "delta": 0.064,
          "percent_delta": 0.1721,
          "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.372,
          "after": 0.436,
          "delta": 0.064,
          "percent_delta": 0.1721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.133,
        "after": 5.0,
        "delta": 1.867,
        "percent_delta": 0.5959,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.2537,
        "delta": -0.0083,
        "percent_delta": -0.0317,
        "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.81,
        "after": 1.0,
        "delta": 0.19,
        "percent_delta": 0.2346,
        "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.369,
        "after": 0.3346,
        "delta": -0.0344,
        "percent_delta": -0.0932,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.344,
        "after": 0.0,
        "delta": -0.344,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.33,
        "after": 0.0,
        "delta": -0.33,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.448,
        "after": 0.436,
        "delta": -0.012,
        "percent_delta": -0.0268,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.078,
        "after": 2.0,
        "delta": 0.922,
        "percent_delta": 0.8553,
        "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.133,
        "after": 5.0,
        "delta": 1.867,
        "percent_delta": 0.5959,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.389,
        "after": 0.0,
        "delta": -0.389,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.200-
predicted_3B0.000-
predicted_AB3.133-
predicted_AVG0.262-
predicted_BB0.389-
predicted_H0.810-
predicted_HR0.140-
predicted_OBP0.369-
predicted_R0.344-
predicted_RBI0.330-
predicted_SLG0.448-
predicted_SO1.078-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.193-0.007
predicted_3B0.0000.000
predicted_AB3.105-0.028
predicted_AVG0.2670.005
predicted_BB0.382-0.007
predicted_H0.8220.012
predicted_HBP0.120-
predicted_HR0.129-0.011
predicted_OBP0.3700.001
predicted_R0.4080.064
predicted_RBI0.3370.007
predicted_SLG0.447-0.001
predicted_SO1.045-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.1930.000
predicted_3B0.0000.000
predicted_AB3.1050.000
predicted_AVG0.254-0.013
predicted_BB0.377-0.005
predicted_H0.788-0.035
predicted_HBP0.1200.000
predicted_HR0.124-0.005
predicted_OBP0.335-0.035
predicted_R0.378-0.030
predicted_RBI0.312-0.025
predicted_SLG0.436-0.011
predicted_SO1.0580.014
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1910.191
3B0.0110.011
BB0.4550.455
H0.786-0.214
HR0.1230.123
RBI0.4010.401
SO1.2950.295
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.809
3B0.000-0.011
AB4.0000.000
BB1.0000.545
H1.0000.214
HR0.000-0.123
R0.0000.000
RBI0.000-0.401
SO1.000-0.295
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.193
predicted_3B0.000-0.000
predicted_AB4.0000.895
predicted_AVG0.213-0.041
predicted_BB0.000-0.377
predicted_H1.0000.212
predicted_HR0.000-0.124
predicted_OBP0.305-0.030
predicted_R0.000-0.378
predicted_RBI0.000-0.312
predicted_SLG0.372-0.064
predicted_SO1.000-0.058
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 90
Reference playing time: 3.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.0005.0001.0000.0001.0002.0004.0002.0004.0000.41670.53330.75000.41670.08330.16670.16670.3333
last_100.2010-32.0009.0001.0000.0001.0003.0005.0003.00010.0000.28120.36110.40620.28120.03120.09380.09380.3125
season0.6090-282.00064.00018.0000.0007.00028.00031.00035.00097.0000.22700.33030.36520.22700.02480.09930.12410.3440
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1840
predicted_3B0.0010
predicted_AB3.0670
predicted_AVG0.2734
predicted_BB0.3730
predicted_H0.8390
predicted_HBP0.1200
predicted_HR0.1150
predicted_OBP0.3710
predicted_R0.4940
predicted_RBI0.3460
predicted_SLG0.4467
predicted_SO1.0000
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20000.18400.1932model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.13303.06703.1049model_form_blend
predicted_AVG0.26200.27340.2668model_form_blend
predicted_BB0.38900.37300.3822model_form_blend
predicted_H0.81000.83900.8223model_form_blend
predicted_HBP-0.12000.1200form_only
predicted_HR0.14000.11500.1294model_form_blend
predicted_OBP0.36900.37100.3699model_form_blend
predicted_R0.34400.49400.4078model_form_blend
predicted_RBI0.33000.34600.3368model_form_blend
predicted_SLG0.44800.44670.4474model_form_blend
predicted_SO1.07801.00001.0448model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date45
Season rows before report date45
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
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_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB6
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
gameID20260909_COL@NYY
game_typefull
mlbID681393
playerID681393
playerNameConnor Norby
pos2B
startedTrue
startingPosition2B
teamCOL
teamID9
game_date2026-09-09
sl_k_percent29.6
sl_bb_percent10.8
sl_woba0.307
sl_xwoba0.298
sl_xba0.211
sl_xslg0.34
sl_sweet_spot_percent33.7
sl_barrel_batted_rate6.5
sl_hard_hit_percent35.3
sl_exit_velocity_avg86.7
sl_launch_angle_avg18.2
sl_whiff_percent31.0
sl_swing_percent49.8
Kyle Karros (691720) · BATTER · 3B · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 404
All-history rows before 20260910: 404
System season_avg: 0.2640
Data season_avg (2026 season-to-date): 0.2802
Diff (system - data): -0.0162
System opponent_avg: 0.1430
System season_avg diverges from 2026 season-to-date by -0.0162. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1790.0000.000Hitting_2B0.2080.000-0.2080.000
predicted_3B0.0270.0000.000Hitting_3B0.0271.000-0.027-1.000
predicted_AB3.4604.0003.000Hitting_AB3.2774.0000.7230.000
predicted_AVG0.2390.0000.333Hitting_AVG0.2800.250-0.280-0.250
predicted_BB0.4290.0001.000Hitting_BB0.4900.000-0.4900.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8300.0001.000Hitting_H0.9181.000-0.918-1.000
predicted_HR0.1200.0000.000Hitting_HR0.0890.000-0.0890.000
predicted_OBP0.3190.0000.500Hitting_OBP0.3820.250-0.382-0.250
predicted_R0.5180.0000.000Hitting_R0.6160.000-0.6160.000
predicted_RBI0.4100.0000.000Hitting_RBI0.4500.000-0.4500.000
predicted_SLG0.4180.0000.333Hitting_SLG0.4420.750-0.442-0.750
predicted_SO0.7323.0001.000Hitting_SO0.7621.0002.2382.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.7320 -> 3.0000 (boost 2.2680, worse)
Biggest Deboostpredicted_H: 0.8300 -> 0.0000 (deboost -0.8300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 3.4600 -> 3.3461 (deboost -0.1139, worse)Final model input calibrated 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.4198 -> 0.4016 (deboost -0.0182, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82617predicted_SO: 0.7158 -> 1.0000 (boost 0.2842, worse)predicted_BB: 0.3835 -> 0.0000 (deboost -0.3835, worse)AB rounded to 3 (raw=3.46), rates preserved: AVG=0.203 HR/AB=0.033
6consistency_constraints10101-predicted_R: 0.4327 -> 0.0000 (deboost -0.4327, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4676 (boost 0.4676, better)predicted_H: 1.0000 -> 0.7790 (deboost -0.2210, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_BB: 0.4676 -> 1.0000 (boost 0.5324, better)predicted_RBI: 0.4274 -> 0.0000 (deboost -0.4274, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context31212predicted_OBP: 0.3070 -> 0.3220 (boost 0.0150, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference32112predicted_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
11current_json_final21111predicted_SLG: 0.3920 -> 0.4016 (boost 0.0096, better)predicted_OBP: 0.3220 -> 0.3070 (deboost -0.0150, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691720",
  "player_name": "Kyle Karros",
  "position": "3B",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.027,
        "predicted_AB": 3.46,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.429,
        "predicted_H": 0.83,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.319,
        "predicted_R": 0.518,
        "predicted_RBI": 0.41,
        "predicted_SLG": 0.418,
        "predicted_SO": 0.732
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1506,
        "predicted_3B": 0.0463,
        "predicted_AB": 3.3461,
        "predicted_AVG": 0.2369,
        "predicted_BB": 0.3886,
        "predicted_H": 0.7948,
        "predicted_HBP": 0.051,
        "predicted_HR": 0.1179,
        "predicted_OBP": 0.3161,
        "predicted_R": 0.4673,
        "predicted_RBI": 0.3984,
        "predicted_SLG": 0.4198,
        "predicted_SO": 0.7066
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 0.1506,
          "delta": -0.0284,
          "percent_delta": -0.1587,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0463,
          "delta": 0.0193,
          "percent_delta": 0.7148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.46,
          "after": 3.3461,
          "delta": -0.1139,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2369,
          "delta": -0.0021,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.429,
          "after": 0.3886,
          "delta": -0.0404,
          "percent_delta": -0.0942,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.83,
          "after": 0.7948,
          "delta": -0.0352,
          "percent_delta": -0.0424,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1179,
          "delta": -0.0021,
          "percent_delta": -0.0175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3161,
          "delta": -0.0029,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.518,
          "after": 0.4673,
          "delta": -0.0507,
          "percent_delta": -0.0979,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.41,
          "after": 0.3984,
          "delta": -0.0116,
          "percent_delta": -0.0283,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.418,
          "after": 0.4198,
          "delta": 0.0018,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.732,
          "after": 0.7066,
          "delta": -0.0254,
          "percent_delta": -0.0347,
          "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.46,
          "after": 3.3461,
          "delta": -0.1139,
          "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": 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.1506,
        "predicted_3B": 0.0463,
        "predicted_AB": 3.3461,
        "predicted_AVG": 0.2276,
        "predicted_BB": 0.3835,
        "predicted_H": 0.7614,
        "predicted_HBP": 0.051,
        "predicted_HR": 0.113,
        "predicted_OBP": 0.307,
        "predicted_R": 0.4327,
        "predicted_RBI": 0.3689,
        "predicted_SLG": 0.4016,
        "predicted_SO": 0.7158
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1506,
          "after": 0.1506,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0463,
          "after": 0.0463,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3461,
          "after": 3.3461,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2369,
          "after": 0.2276,
          "delta": -0.0093,
          "percent_delta": -0.0393,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3886,
          "after": 0.3835,
          "delta": -0.0051,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7948,
          "after": 0.7614,
          "delta": -0.0334,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.051,
          "after": 0.051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1179,
          "after": 0.113,
          "delta": -0.0049,
          "percent_delta": -0.0416,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3161,
          "after": 0.307,
          "delta": -0.0091,
          "percent_delta": -0.0288,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4673,
          "after": 0.4327,
          "delta": -0.0346,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3984,
          "after": 0.3689,
          "delta": -0.0295,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4198,
          "after": 0.4016,
          "delta": -0.0182,
          "percent_delta": -0.0434,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7066,
          "after": 0.7158,
          "delta": 0.0092,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4198,
          "after": 0.4016,
          "delta": -0.0182,
          "percent_delta": -0.0434,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.46), rates preserved: AVG=0.203 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.1506,
          "after": 0.0,
          "delta": -0.1506,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0463,
          "after": 0.0,
          "delta": -0.0463,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3461,
          "after": 3.0,
          "delta": -0.3461,
          "percent_delta": -0.1034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3835,
          "after": 0.0,
          "delta": -0.3835,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7614,
          "after": 1.0,
          "delta": 0.2386,
          "percent_delta": 0.3134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.051,
          "after": 0.0,
          "delta": -0.051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.113,
          "after": 0.0,
          "delta": -0.113,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3689,
          "after": 0.0,
          "delta": -0.3689,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7158,
          "after": 1.0,
          "delta": 0.2842,
          "percent_delta": 0.397,
          "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.7158,
          "after": 1.0,
          "delta": 0.2842,
          "percent_delta": 0.397,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3835,
          "after": 0.0,
          "delta": -0.3835,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4327,
          "after": 0.0,
          "delta": -0.4327,
          "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.4327,
          "after": 0.0,
          "delta": -0.4327,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.176,
        "predicted_3B": 0.0193,
        "predicted_BB": 0.4676,
        "predicted_H": 0.779,
        "predicted_HR": 0.1231,
        "predicted_RBI": 0.4274,
        "predicted_SO": 0.8703
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.176,
          "delta": 0.176,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0193,
          "delta": 0.0193,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4676,
          "delta": 0.4676,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.779,
          "delta": -0.221,
          "percent_delta": -0.221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1231,
          "delta": 0.1231,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4274,
          "delta": 0.4274,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8703,
          "delta": -0.1297,
          "percent_delta": -0.1297,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4676,
          "delta": 0.4676,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.779,
          "delta": -0.221,
          "percent_delta": -0.221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.176,
          "after": 0.0,
          "delta": -0.176,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0193,
          "after": 0.0,
          "delta": -0.0193,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4676,
          "after": 1.0,
          "delta": 0.5324,
          "percent_delta": 1.1386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.779,
          "after": 1.0,
          "delta": 0.221,
          "percent_delta": 0.2837,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1231,
          "after": 0.0,
          "delta": -0.1231,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4274,
          "after": 0.0,
          "delta": -0.4274,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8703,
          "after": 1.0,
          "delta": 0.1297,
          "percent_delta": 0.149,
          "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.4676,
          "after": 1.0,
          "delta": 0.5324,
          "percent_delta": 1.1386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4274,
          "after": 0.0,
          "delta": -0.4274,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.224,
        "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.392,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2276,
          "after": 0.224,
          "delta": -0.0036,
          "percent_delta": -0.0158,
          "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.307,
          "after": 0.322,
          "delta": 0.015,
          "percent_delta": 0.0489,
          "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.4016,
          "after": 0.392,
          "delta": -0.0096,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.307,
          "after": 0.322,
          "delta": 0.015,
          "percent_delta": 0.0489,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2276,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4016,
        "predicted_SO": 3.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.2276,
          "delta": 0.0036,
          "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.322,
          "after": 0.307,
          "delta": -0.015,
          "percent_delta": -0.0466,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.4016,
          "delta": 0.0096,
          "percent_delta": 0.0244,
          "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": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.4016,
          "delta": 0.0096,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.307,
          "delta": -0.015,
          "percent_delta": -0.0466,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.179,
        "after": 0.0,
        "delta": -0.179,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.027,
        "after": 0.0,
        "delta": -0.027,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.46,
        "after": 4.0,
        "delta": 0.54,
        "percent_delta": 0.1561,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.2276,
        "delta": -0.0114,
        "percent_delta": -0.0477,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.429,
        "after": 0.0,
        "delta": -0.429,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.83,
        "after": 0.0,
        "delta": -0.83,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.319,
        "after": 0.307,
        "delta": -0.012,
        "percent_delta": -0.0376,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.518,
        "after": 0.0,
        "delta": -0.518,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.41,
        "after": 0.0,
        "delta": -0.41,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.418,
        "after": 0.4016,
        "delta": -0.0164,
        "percent_delta": -0.0392,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.732,
        "after": 3.0,
        "delta": 2.268,
        "percent_delta": 3.0984,
        "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.732,
        "after": 3.0,
        "delta": 2.268,
        "percent_delta": 3.0984,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.83,
        "after": 0.0,
        "delta": -0.83,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.179-
predicted_3B0.027-
predicted_AB3.460-
predicted_AVG0.239-
predicted_BB0.429-
predicted_H0.830-
predicted_HR0.120-
predicted_OBP0.319-
predicted_R0.518-
predicted_RBI0.410-
predicted_SLG0.418-
predicted_SO0.732-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.151-0.028
predicted_3B0.0460.019
predicted_AB3.346-0.114
predicted_AVG0.237-0.002
predicted_BB0.389-0.040
predicted_H0.795-0.035
predicted_HBP0.051-
predicted_HR0.118-0.002
predicted_OBP0.316-0.003
predicted_R0.467-0.051
predicted_RBI0.398-0.012
predicted_SLG0.4200.002
predicted_SO0.707-0.025
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1510.000
predicted_3B0.0460.000
predicted_AB3.3460.000
predicted_AVG0.228-0.009
predicted_BB0.384-0.005
predicted_H0.761-0.033
predicted_HBP0.0510.000
predicted_HR0.113-0.005
predicted_OBP0.307-0.009
predicted_R0.433-0.035
predicted_RBI0.369-0.029
predicted_SLG0.402-0.018
predicted_SO0.7160.009
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1760.176
3B0.0190.019
BB0.4680.468
H0.779-0.221
HR0.1230.123
RBI0.4270.427
SO0.870-0.130
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.176
3B0.000-0.019
AB3.0000.000
BB1.0000.532
H1.0000.221
HR0.000-0.123
R0.0000.000
RBI0.000-0.427
SO1.0000.130
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.151
predicted_3B0.000-0.046
predicted_AB3.000-0.346
predicted_AVG0.224-0.004
predicted_BB0.000-0.384
predicted_H1.0000.239
predicted_HR0.000-0.113
predicted_OBP0.3220.015
predicted_R0.000-0.433
predicted_RBI0.000-0.369
predicted_SLG0.392-0.010
predicted_SO1.0000.284
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 112
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0003.0000.0001.0001.0002.0001.0001.0003.0000.18750.23530.50000.18750.06250.12500.06250.1875
last_100.2010-32.0006.0000.0001.0001.0003.0002.0002.0005.0000.18750.25000.34380.18750.03120.09380.06250.1562
season0.60112-349.00092.00020.0003.00010.00044.00058.00048.00082.0000.26360.35960.42410.26360.02860.12610.13750.2350
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1130
predicted_3B0.0720
predicted_AB3.1950
predicted_AVG0.2342
predicted_BB0.3350
predicted_H0.7480
predicted_HBP0.0510
predicted_HR0.1150
predicted_OBP0.3123
predicted_R0.4000
predicted_RBI0.3830
predicted_SLG0.4221
predicted_SO0.6730
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17900.11300.1506model_form_blend
predicted_3B0.02700.07200.0463model_form_blend
predicted_AB3.46003.19503.3461model_form_blend
predicted_AVG0.23900.23420.2369model_form_blend
predicted_BB0.42900.33500.3886model_form_blend
predicted_H0.83000.74800.7948model_form_blend
predicted_HBP-0.05100.0510form_only
predicted_HR0.12000.11500.1179model_form_blend
predicted_OBP0.31900.31230.3161model_form_blend
predicted_R0.51800.40000.4673model_form_blend
predicted_RBI0.41000.38300.3984model_form_blend
predicted_SLG0.41800.42210.4198model_form_blend
predicted_SO0.73200.67300.7066model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_3B1
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_TB3
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260909_COL@NYY
game_typefull
mlbID691720
playerID691720
playerNameKyle Karros
pos3B
startedTrue
startingPosition3B
teamCOL
teamID9
game_date2026-09-09
sl_k_percent20.4
sl_bb_percent11.8
sl_woba0.342
sl_xwoba0.337
sl_xba0.255
sl_xslg0.401
sl_sweet_spot_percent41.6
sl_barrel_batted_rate7.8
sl_hard_hit_percent40.9
sl_exit_velocity_avg89.3
sl_launch_angle_avg13.3
sl_whiff_percent23.5
sl_swing_percent44.7
Ezequiel Tovar (678662) · BATTER · SS · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 439
All-history rows before 20260910: 439
System season_avg: 0.2120
Data season_avg (2026 season-to-date): 0.2169
Diff (system - data): -0.0049
System opponent_avg: 0.2060

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1641.0000.000Hitting_2B0.2030.0000.7971.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2734.0003.000Hitting_AB3.5603.0000.4401.000
predicted_AVG0.2290.2500.000Hitting_AVG0.2170.0000.0330.250
predicted_BB0.2110.0000.000Hitting_BB0.2280.000-0.2280.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H0.6401.0000.000Hitting_H0.7720.0000.2281.000
predicted_HR0.0600.0000.000Hitting_HR0.0930.000-0.0930.000
predicted_OBP0.2440.2500.000Hitting_OBP0.2610.000-0.0110.250
predicted_R0.3520.0000.000Hitting_R0.4150.000-0.4150.000
predicted_RBI0.2200.0000.000Hitting_RBI0.4100.000-0.4100.000
predicted_SLG0.3200.5000.000Hitting_SLG0.3530.0000.1470.500
predicted_SO0.9143.0001.000Hitting_SO0.9751.0002.0252.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_SO: 0.9140 -> 3.0000 (boost 2.0860, worse)
Biggest Deboostpredicted_R: 0.3520 -> 0.0000 (deboost -0.3520, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 3.2730 -> 3.1862 (deboost -0.0868, worse)Final model input calibrated 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.2220 -> 0.1942 (deboost -0.0278, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61515predicted_H: 0.6189 -> 1.0000 (boost 0.3811, better)predicted_RBI: 0.1929 -> 0.0000 (deboost -0.1929, worse)AB rounded to 3 (raw=3.27), rates preserved: AVG=0.174 HR/AB=0.016
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.3304 -> 0.0000 (deboost -0.3304, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3144 (boost 0.3144, better)predicted_H: 1.0000 -> 0.6263 (deboost -0.3737, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61506predicted_SO: 0.9159 -> 1.0000 (boost 0.0841, worse)predicted_H: 0.6263 -> 0.0000 (deboost -0.6263, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33021predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3580 -> 0.2862 (deboost -0.0718, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "678662",
  "player_name": "Ezequiel Tovar",
  "position": "SS",
  "team": "COL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.164,
        "predicted_3B": 0.0,
        "predicted_AB": 3.273,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.211,
        "predicted_H": 0.64,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.244,
        "predicted_R": 0.352,
        "predicted_RBI": 0.22,
        "predicted_SLG": 0.32,
        "predicted_SO": 0.914
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1346,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1862,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.1739,
        "predicted_H": 0.646,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0548,
        "predicted_OBP": 0.2434,
        "predicted_R": 0.3568,
        "predicted_RBI": 0.2083,
        "predicted_SLG": 0.3076,
        "predicted_SO": 0.9624
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.1346,
          "delta": -0.0294,
          "percent_delta": -0.1793,
          "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.273,
          "after": 3.1862,
          "delta": -0.0868,
          "percent_delta": -0.0265,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.222,
          "delta": -0.007,
          "percent_delta": -0.0306,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.211,
          "after": 0.1739,
          "delta": -0.0371,
          "percent_delta": -0.1758,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 0.646,
          "delta": 0.006,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0548,
          "delta": -0.0052,
          "percent_delta": -0.0867,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.244,
          "after": 0.2434,
          "delta": -0.0006,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.352,
          "after": 0.3568,
          "delta": 0.0048,
          "percent_delta": 0.0136,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.22,
          "after": 0.2083,
          "delta": -0.0117,
          "percent_delta": -0.0532,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.32,
          "after": 0.3076,
          "delta": -0.0124,
          "percent_delta": -0.0388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.914,
          "after": 0.9624,
          "delta": 0.0484,
          "percent_delta": 0.053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.273,
          "after": 3.1862,
          "delta": -0.0868,
          "percent_delta": -0.0265,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1346,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.1862,
        "predicted_AVG": 0.1942,
        "predicted_BB": 0.1716,
        "predicted_H": 0.6189,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0525,
        "predicted_OBP": 0.2354,
        "predicted_R": 0.3304,
        "predicted_RBI": 0.1929,
        "predicted_SLG": 0.2862,
        "predicted_SO": 0.9749
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1346,
          "after": 0.1346,
          "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.1862,
          "after": 3.1862,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.1942,
          "delta": -0.0278,
          "percent_delta": -0.1252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1739,
          "after": 0.1716,
          "delta": -0.0023,
          "percent_delta": -0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.646,
          "after": 0.6189,
          "delta": -0.0271,
          "percent_delta": -0.042,
          "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.0548,
          "after": 0.0525,
          "delta": -0.0023,
          "percent_delta": -0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2434,
          "after": 0.2354,
          "delta": -0.008,
          "percent_delta": -0.0329,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3568,
          "after": 0.3304,
          "delta": -0.0264,
          "percent_delta": -0.074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2083,
          "after": 0.1929,
          "delta": -0.0154,
          "percent_delta": -0.0739,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3076,
          "after": 0.2862,
          "delta": -0.0214,
          "percent_delta": -0.0696,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9624,
          "after": 0.9749,
          "delta": 0.0125,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.222,
          "after": 0.1942,
          "delta": -0.0278,
          "percent_delta": -0.1252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.27), rates preserved: AVG=0.174 HR/AB=0.016",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1346,
          "after": 0.0,
          "delta": -0.1346,
          "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.1862,
          "after": 3.0,
          "delta": -0.1862,
          "percent_delta": -0.0584,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1716,
          "after": 0.0,
          "delta": -0.1716,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6189,
          "after": 1.0,
          "delta": 0.3811,
          "percent_delta": 0.6158,
          "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.0525,
          "after": 0.0,
          "delta": -0.0525,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1929,
          "after": 0.0,
          "delta": -0.1929,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9749,
          "after": 1.0,
          "delta": 0.0251,
          "percent_delta": 0.0257,
          "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.6189,
          "after": 1.0,
          "delta": 0.3811,
          "percent_delta": 0.6158,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.1929,
          "after": 0.0,
          "delta": -0.1929,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3304,
          "after": 0.0,
          "delta": -0.3304,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.3304,
          "after": 0.0,
          "delta": -0.3304,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1431,
        "predicted_3B": 0.0082,
        "predicted_BB": 0.2358,
        "predicted_H": 0.6263,
        "predicted_HR": 0.0948,
        "predicted_RBI": 0.3144,
        "predicted_SO": 0.9159
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1431,
          "delta": 0.1431,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0082,
          "delta": 0.0082,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2358,
          "delta": 0.2358,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6263,
          "delta": -0.3737,
          "percent_delta": -0.3737,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0948,
          "delta": 0.0948,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3144,
          "delta": 0.3144,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9159,
          "delta": -0.0841,
          "percent_delta": -0.0841,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3144,
          "delta": 0.3144,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6263,
          "delta": -0.3737,
          "percent_delta": -0.3737,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1431,
          "after": 0.0,
          "delta": -0.1431,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0082,
          "after": 0.0,
          "delta": -0.0082,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2358,
          "after": 0.0,
          "delta": -0.2358,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6263,
          "after": 0.0,
          "delta": -0.6263,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0948,
          "after": 0.0,
          "delta": -0.0948,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3144,
          "after": 0.0,
          "delta": -0.3144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9159,
          "after": 1.0,
          "delta": 0.0841,
          "percent_delta": 0.0918,
          "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.9159,
          "after": 1.0,
          "delta": 0.0841,
          "percent_delta": 0.0918,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6263,
          "after": 0.0,
          "delta": -0.6263,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.209,
        "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.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.1942,
          "after": 0.209,
          "delta": 0.0148,
          "percent_delta": 0.0762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2354,
          "after": 0.273,
          "delta": 0.0376,
          "percent_delta": 0.1597,
          "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.2862,
          "after": 0.358,
          "delta": 0.0718,
          "percent_delta": 0.2509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 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": 3.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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1942,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2354,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2862,
        "predicted_SO": 3.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.1942,
          "delta": -0.0148,
          "percent_delta": -0.0707,
          "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.273,
          "after": 0.2354,
          "delta": -0.0376,
          "percent_delta": -0.1377,
          "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.358,
          "after": 0.2862,
          "delta": -0.0718,
          "percent_delta": -0.2006,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.358,
          "after": 0.2862,
          "delta": -0.0718,
          "percent_delta": -0.2006,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.164,
        "after": 1.0,
        "delta": 0.836,
        "percent_delta": 5.0976,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.273,
        "after": 4.0,
        "delta": 0.727,
        "percent_delta": 0.2221,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.229,
        "after": 0.1942,
        "delta": -0.0348,
        "percent_delta": -0.152,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.211,
        "after": 0.0,
        "delta": -0.211,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 1.0,
        "delta": 0.36,
        "percent_delta": 0.5625,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.244,
        "after": 0.2354,
        "delta": -0.0086,
        "percent_delta": -0.0352,
        "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.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.32,
        "after": 0.2862,
        "delta": -0.0338,
        "percent_delta": -0.1056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.914,
        "after": 3.0,
        "delta": 2.086,
        "percent_delta": 2.2823,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.914,
        "after": 3.0,
        "delta": 2.086,
        "percent_delta": 2.2823,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.352,
        "after": 0.0,
        "delta": -0.352,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.164-
predicted_3B0.000-
predicted_AB3.273-
predicted_AVG0.229-
predicted_BB0.211-
predicted_H0.640-
predicted_HR0.060-
predicted_OBP0.244-
predicted_R0.352-
predicted_RBI0.220-
predicted_SLG0.320-
predicted_SO0.914-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.135-0.029
predicted_3B0.0000.000
predicted_AB3.186-0.087
predicted_AVG0.222-0.007
predicted_BB0.174-0.037
predicted_H0.6460.006
predicted_HBP0.010-
predicted_HR0.055-0.005
predicted_OBP0.243-0.001
predicted_R0.3570.005
predicted_RBI0.208-0.012
predicted_SLG0.308-0.012
predicted_SO0.9620.048
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1350.000
predicted_3B0.0000.000
predicted_AB3.1860.000
predicted_AVG0.194-0.028
predicted_BB0.172-0.002
predicted_H0.619-0.027
predicted_HBP0.0100.000
predicted_HR0.052-0.002
predicted_OBP0.235-0.008
predicted_R0.330-0.026
predicted_RBI0.193-0.015
predicted_SLG0.286-0.021
predicted_SO0.9750.012
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1430.143
3B0.0080.008
BB0.2360.236
H0.626-0.374
HR0.0950.095
RBI0.3140.314
SO0.916-0.084
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.143
3B0.000-0.008
AB3.0000.000
BB0.000-0.236
H0.000-0.626
HR0.000-0.095
R0.0000.000
RBI0.000-0.314
SO1.0000.084
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.135
predicted_3B0.000-0.000
predicted_AB3.000-0.186
predicted_AVG0.2090.015
predicted_BB0.000-0.172
predicted_H1.0000.381
predicted_HR0.000-0.052
predicted_OBP0.2730.038
predicted_R0.000-0.330
predicted_RBI0.000-0.193
predicted_SLG0.3580.072
predicted_SO1.0000.025
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0001.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: 128
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.0003.0000.0000.0000.0000.0002.0000.0006.0000.23080.23080.23080.23080.00000.00000.00000.4615
last_100.2010-27.0005.0000.0000.0000.0000.0003.0000.00011.0000.18520.18520.18520.18520.00000.00000.00000.4074
season0.60128-419.00089.00021.0000.00010.00041.00045.00027.000117.0000.21240.25880.33410.21240.02390.09790.06440.2792
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0960
predicted_3B0.0010
predicted_AB3.0720
predicted_AVG0.2129
predicted_BB0.1250
predicted_H0.6540
predicted_HBP0.0100
predicted_HR0.0480
predicted_OBP0.2426
predicted_R0.3630
predicted_RBI0.1930
predicted_SLG0.2913
predicted_SO1.0260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.09600.1346model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.27303.07203.1862model_form_blend
predicted_AVG0.22900.21290.2220model_form_blend
predicted_BB0.21100.12500.1739model_form_blend
predicted_H0.64000.65400.6460model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.06000.04800.0548model_form_blend
predicted_OBP0.24400.24260.2434model_form_blend
predicted_R0.35200.36300.3568model_form_blend
predicted_RBI0.22000.19300.2083model_form_blend
predicted_SLG0.32000.29130.3076model_form_blend
predicted_SO0.91401.02600.9624model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date439
Season rows before report date439
Report year2026
Profile rows 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
H1
2B1
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_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
gameID20260908_COL@NYY
game_typefull
mlbID678662
playerID678662
playerNameEzequiel Tovar
posSS
startedTrue
startingPositionSS
teamCOL
teamID9
game_date2026-09-08
sl_k_percent25.8
sl_bb_percent5.9
sl_woba0.259
sl_xwoba0.275
sl_xba0.222
sl_xslg0.36
sl_sweet_spot_percent35.1
sl_barrel_batted_rate6.4
sl_hard_hit_percent33.2
sl_exit_velocity_avg87.4
sl_launch_angle_avg17.7
sl_whiff_percent29.0
sl_swing_percent61.6
Ryan Feltner (663372) · PITCHER · Starter · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 22
All-history rows before 20260910: 22

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB2.1823.000-2.182-3.000
predicted_ER4.0005.0004.000Pitching_ER3.1824.0001.8181.000
predicted_H7.0007.0007.000Pitching_H5.4097.0001.5910.000
predicted_IP4.2004.2004.200Pitching_InningsPitched4.7325.000-0.532-0.800
predicted_SO5.0005.0005.000Pitching_SO3.6825.0001.3180.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.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.
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": "663372",
  "player_name": "Ryan Feltner",
  "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": 0.0,
        "predicted_ER": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.2,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 4.2,
          "delta": -0.8,
          "percent_delta": -0.16,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 4.2,
          "delta": -0.8,
          "percent_delta": -0.16,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.2,
        "predicted_R": 5.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2,
          "after": 4.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 4.2,
        "delta": -0.8,
        "percent_delta": -0.16,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 4.2,
        "delta": -0.8,
        "percent_delta": -0.16,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "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_ER5.000-
predicted_H7.000-
predicted_HR1.000-
predicted_IP5.000-
predicted_SO5.000-
2. starter_usage_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB0.0000.000
predicted_ER5.0000.000
predicted_H7.0000.000
predicted_HR1.0000.000
predicted_IP4.200-0.800
predicted_SO5.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 22
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45524.20018.00033.00015.00022.0001.0006.56761.94590.72971.33780.60810.89190.0405
last_100.351047.20042.00067.00028.00037.00010.0007.93011.99300.88111.40560.58740.77620.2098
season0.2022106.20070.000119.00048.00081.00019.0005.90621.56560.65621.11560.45000.75940.1781
Weighted Prediction From Real Data
MetricValue
predicted_BB2.6120
predicted_ER3.5260
predicted_ERA6.4704
predicted_H6.1480
predicted_HR0.6420
predicted_IP5.0000
predicted_SO4.1510
predicted_WHIP1.7860
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00002.61201.4934model_form_blend
predicted_ER5.00003.52604.1572model_form_blend
predicted_ERA-6.47046.4704form_only
predicted_H7.00006.14806.5129model_form_blend
predicted_HR1.00000.64200.7953model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO5.00004.15104.5146model_form_blend
predicted_WHIP-1.78601.7860form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.2
H7
R5
ER5
BB0
SO5
HR1
BF21
Pitches92

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB3
Pitching_Balk0
Pitching_Batters Faced24
Pitching_ER4
Pitching_ERA5.91
Pitching_Flyouts5
Pitching_Groundouts3
Pitching_H7
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches95
Pitching_R4
Pitching_SO5
Pitching_Strikes62
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260904_STL@COL
game_typefull
mlbID663372
playerID663372
playerNameRyan Feltner
posP
startedTrue
startingPositionP
teamCOL
teamID9
game_date2026-09-04
sl_k_percent16.9
sl_bb_percent10.0
sl_woba0.372
sl_xwoba0.348
sl_sweet_spot_percent31.8
sl_barrel_batted_rate10.0
sl_hard_hit_percent37.0
sl_whiff_percent23.7
sl_swing_percent48.6
sl_avg_best_speed75.513206301
sl_avg_hyper_speed93.542547971
Jordan Romano (605447) · PITCHER · Closer · Team COL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 21
All-history rows before 20260910: 21

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4290.000-0.4290.000
predicted_ER1.0001.0001.000Pitching_ER0.2860.0000.7141.000
predicted_H1.0001.0001.000Pitching_H0.6190.0000.3811.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8810.2000.1190.800
predicted_SO2.0002.0002.000Pitching_SO0.9051.0001.0951.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": "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": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 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": 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": 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_ER1.000-
predicted_H1.000-
predicted_HR1.000-
predicted_IP1.000-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.4554.0002.0001.0001.0004.0001.0004.50000.50000.50000.25000.25001.00000.2500
last_100.35109.0002.0002.0003.0005.0001.0002.00000.55560.22220.22220.33330.55560.1111
season0.203127.20012.00021.00013.00031.0001.0003.90361.22890.43370.75900.46991.12050.0361
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3190
predicted_ER0.4080
predicted_ERA3.9880
predicted_H0.5900
predicted_HR0.1410
predicted_IP1.0000
predicted_SO0.8310
predicted_WHIP0.9861
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.31900.1437model_form_blend
predicted_ER1.00000.40800.7334model_form_blend
predicted_ERA-3.98803.9880form_only
predicted_H1.00000.59000.8153model_form_blend
predicted_HR1.00000.14100.6131model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.83101.4735model_form_blend
predicted_WHIP-0.98610.9861form_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 used31
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
SO2
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 Faced3
Pitching_ER0
Pitching_ERA4.88
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches10
Pitching_R0
Pitching_SO1
Pitching_Strikes7
Pitching_Wild Pitch1
Pitching_decisionS
Pitching_pitchingOrder7
allPositionsPlayedP
gameID20260905_STL@COL
game_typefull
mlbID605447
playerID605447
playerNameJordan Romano
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-09-05
sl_k_percent24.8
sl_bb_percent12.0
sl_woba0.288
sl_xwoba0.288
sl_sweet_spot_percent33.3
sl_barrel_batted_rate3.8
sl_hard_hit_percent30.8
sl_whiff_percent28.5
sl_swing_percent45.0
sl_avg_best_speed75.851812051
sl_avg_hyper_speed92.604636667
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 20260910: 68
All-history rows before 20260910: 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.2211.000-0.221-1.000
predicted_ER2.0002.0002.000Pitching_ER0.2793.0001.721-1.000
predicted_H2.0002.0002.000Pitching_H0.7793.0001.221-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.6850.0000.4151.100
predicted_SO2.0002.0002.000Pitching_SO0.6030.0001.3972.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER2.000-
predicted_H2.000-
predicted_HR1.000-
predicted_IP0.667-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 67
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4553.1000.0001.0000.0000.0000.0000.00000.30000.00000.30000.00000.00000.0000
last_100.35107.2001.0005.0000.0004.0000.0001.17390.65220.13040.65220.00000.52170.0000
season0.206757.10016.00050.00014.00041.0004.0002.51161.11630.27910.87210.24420.71510.0698
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1040
predicted_ER0.1590
predicted_ERA2.0034
predicted_H0.4770
predicted_HR0.0390
predicted_IP0.2000
predicted_SO0.3640
predicted_WHIP0.8152
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.10400.0543model_form_blend
predicted_ER2.00000.15901.0380model_form_blend
predicted_ERA-2.00342.0034form_only
predicted_H2.00000.47701.2042model_form_blend
predicted_HR1.00000.03900.4978model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO2.00000.36401.1451model_form_blend
predicted_WHIP-0.81520.8152form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H2
R2
ER2
BB0
SO2
HR1
BF6
Pitches26

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER3
Pitching_ERA2.98
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches13
Pitching_R3
Pitching_SO0
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260908_COL@NYY
game_typefull
mlbID657514
playerID657514
playerNameBrennan Bernardino
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-09-08
sl_k_percent17.1
sl_bb_percent6.3
sl_woba0.3
sl_xwoba0.305
sl_sweet_spot_percent31.1
sl_barrel_batted_rate5.6
sl_hard_hit_percent30.6
sl_whiff_percent21.4
sl_swing_percent46.3
sl_avg_best_speed76.123354886
sl_avg_hyper_speed92.78169125
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 20260910: 46
All-history rows before 20260910: 46

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5000.000-0.5000.000
predicted_ER0.0000.0000.000Pitching_ER0.6522.000-0.652-2.000
predicted_H0.0000.0000.000Pitching_H1.0432.000-1.043-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8390.1000.1610.900
predicted_SO0.0000.0000.000Pitching_SO0.8701.000-0.870-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: 0.1000 -> 1.0000 (boost 0.9000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final11010predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "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.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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.1,
          "after": 1.0,
          "delta": 0.9,
          "percent_delta": 9.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.1,
        "after": 1.0,
        "delta": 0.9,
        "percent_delta": 9.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_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: 45
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.0005.0007.0001.0004.0002.0009.00001.60001.00001.40000.20000.80000.4000
last_100.351010.2006.0009.0004.0006.0002.0005.06251.21880.56250.84380.37500.56250.1875
season0.204544.20030.00047.00022.00040.0008.0006.04481.54480.67161.05220.49250.89550.1791
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2580
predicted_ER0.5200
predicted_ERA6.1373
predicted_H0.8210
predicted_HR0.1780
predicted_IP0.2000
predicted_SO0.6160
predicted_WHIP1.4159
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.25800.1288model_form_blend
predicted_ER0.00000.52000.2596model_form_blend
predicted_ERA-6.13736.1373form_only
predicted_H0.00000.82100.4099model_form_blend
predicted_HR0.00000.17800.0889model_form_blend
predicted_IP0.10000.20000.1000model_form_blend
predicted_SO0.00000.61600.3075model_form_blend
predicted_WHIP-1.41591.4159form_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
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_ER2
Pitching_ERA6.04
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored2
Pitching_InningsPitched0.1
Pitching_Pitches11
Pitching_R2
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260906_STL@COL
game_typefull
mlbID623474
playerID623474
playerNameJimmy Herget
posP
startedFalse
startingPositionP
teamCOL
teamID9
game_date2026-09-06
sl_k_percent20.0
sl_bb_percent11.5
sl_woba0.376
sl_xwoba0.328
sl_sweet_spot_percent32.8
sl_barrel_batted_rate9.0
sl_hard_hit_percent38.1
sl_whiff_percent25.8
sl_swing_percent47.6
sl_avg_best_speed76.493330455
sl_avg_hyper_speed94.167412977

Home Team: NYY

Home Pitcher Deep Analysis

FieldValue
PitcherMax Fried
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.8339
ESPN Rank24
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0799
Avg Velo88.4486
Avg Spin2247.0854
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER2
Pre H7
Pre BB1
Pre SO7
Season ERA2.7282
Season WHIP0.9930
Role Avg IP5.6270
Recent Avg IP5.2000
Last Start IP5.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724,
    "runs_scored": 657.0,
    "runs_allowed": 533.0,
    "run_differential": 124.0,
    "run_differential_per_game": 0.8552,
    "avg_runs_scored": 4.531,
    "avg_runs_allowed": 3.6759,
    "offense_index": 1.0076,
    "defense_index": 1.2233,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.1,
      "avg_runs_allowed": 3.5,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.2011
  },
  "opponent": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793,
    "runs_scored": 683.0,
    "runs_allowed": 830.0,
    "run_differential": -147.0,
    "run_differential_per_game": -1.0138,
    "avg_runs_scored": 4.7103,
    "avg_runs_allowed": 5.7241,
    "offense_index": 1.0475,
    "defense_index": 0.7856,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 4.9,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.2966
  },
  "edges": {
    "quality_edge": 0.4977,
    "offense_edge": 0.0076,
    "opponent_offense_edge": 0.0475,
    "defense_strength": 0.2233,
    "opponent_defense_weakness": 0.2144,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0247,
    "run_prevention": 0.9604,
    "strikeout": 1.0111
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "608331",
    "profile": {
      "available": true,
      "pitcher_id": "608331",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 331.0,
        "k_percent": 23.6,
        "bb_percent": 7.9,
        "woba": 0.242,
        "xwoba": 0.248,
        "sweet_spot_percent": 29.6,
        "barrel_batted_rate": 1.6,
        "hard_hit_percent": 29.6,
        "avg_best_speed": 74.4956,
        "avg_hyper_speed": 92.5459,
        "whiff_percent": 24.5,
        "swing_percent": 45.8
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.4649,
        "command_and_miss": 0.1429,
        "regression_edge": -0.1714,
        "xwoba_edge": 1.8,
        "barrel_edge": 1.2222,
        "hard_hit_edge": 1.1857,
        "whiff_edge": -0.0714,
        "bb_edge": 0.325,
        "pitch_design_score": -0.0799
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "608331",
        "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.44857385808628,
          "release_spin_rate": 2247.08543068494,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.44857385808628,
            "release_spin_rate": 2247.08543068494,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.4486,
          "release_spin_rate": 2247.0854,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0799,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.5706,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.8339,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9291,
      "strikeout_factor": 1.0063,
      "walk_factor": 0.974,
      "homer_factor": 0.8008,
      "woba_minus_xwoba": -0.006,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "608331",
        "espn_id": 32685,
        "player_name": "Max Fried",
        "team": "NYY",
        "role": "pitcher",
        "espn_rank": 24,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 24,
          "gp_value": 17.0,
          "gp_rank": 432,
          "gs_value": 17.0,
          "gs_rank": 122,
          "qs_value": 7.0,
          "qs_rank": 82,
          "era_value": 2.7282,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 190,
          "l_value": 4.0,
          "l_rank": 186,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 95.2,
          "ip_rank": 134,
          "h_value": 66.0,
          "h_rank": 177,
          "er_value": 29.0,
          "er_rank": 197,
          "hr_value": 3.0,
          "hr_rank": 441,
          "bb_value": 29.0,
          "bb_rank": 174,
          "k_value": 87.0,
          "k_rank": 138,
          "k_per_9_value": 8.184669,
          "k_per_9_rank": 27,
          "whip_value": 0.993,
          "whip_rank": null,
          "war_value": 3.28,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9291,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9291,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.974,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.82,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 1.0063,
        "adjusted": 5
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 48.1,
    "ER": 18,
    "H": 40,
    "BB": 17,
    "SO": 50,
    "HR": 2,
    "ERA": 3.3517241379310345,
    "WHIP": 1.1793103448275861,
    "K9": 9.310344827586206,
    "HR9": 0.37241379310344824,
    "games_pitched": 10,
    "quality_starts": 1,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "608331",
  "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.44857385808628,
    "release_spin_rate": 2247.08543068494,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.44857385808628,
      "release_spin_rate": 2247.08543068494,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.4486,
    "release_spin_rate": 2247.0854,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0799,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.5706,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7727,
    "prior_weight": 0.2273
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "608331",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 26.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 17.0,
        "BB": 7.0,
        "SO": 26.0,
        "HR": 2.0,
        "BF": 97.0,
        "Pitches": 391.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 0.8,
        "R": 0.8,
        "H": 3.4,
        "BB": 1.4,
        "SO": 5.2,
        "HR": 0.4,
        "BF": 19.4,
        "Pitches": 78.2
      },
      "rates": {
        "ERA": 1.3846,
        "WHIP": 0.9231,
        "ER_per_IP": 0.15385,
        "H_per_IP": 0.65385,
        "BB_per_IP": 0.26923,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.07692
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 48.1,
        "ER": 18.0,
        "R": 18.0,
        "H": 40.0,
        "BB": 17.0,
        "SO": 50.0,
        "HR": 2.0,
        "BF": 191.0,
        "Pitches": 776.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 1.8,
        "R": 1.8,
        "H": 4.0,
        "BB": 1.7,
        "SO": 5.0,
        "HR": 0.2,
        "BF": 19.1,
        "Pitches": 77.6
      },
      "rates": {
        "ERA": 3.3517,
        "WHIP": 1.1793,
        "ER_per_IP": 0.37241,
        "H_per_IP": 0.82759,
        "BB_per_IP": 0.35172,
        "SO_per_IP": 1.03448,
        "HR_per_IP": 0.04138
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 95.2,
        "ER": 29.0,
        "R": 29.0,
        "H": 66.0,
        "BB": 29.0,
        "SO": 87.0,
        "HR": 3.0,
        "BF": 368.0,
        "Pitches": 1431.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.7059,
        "R": 1.7059,
        "H": 3.8824,
        "BB": 1.7059,
        "SO": 5.1176,
        "HR": 0.1765,
        "BF": 21.6471,
        "Pitches": 84.1765
      },
      "rates": {
        "ERA": 2.7282,
        "WHIP": 0.993,
        "ER_per_IP": 0.30314,
        "H_per_IP": 0.6899,
        "BB_per_IP": 0.30314,
        "SO_per_IP": 0.90941,
        "HR_per_IP": 0.03136
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 1.689,
    "predicted_H": 4.172,
    "predicted_BB": 1.714,
    "predicted_SO": 5.258,
    "predicted_HR": 0.408,
    "predicted_ERA": 2.8384,
    "predicted_WHIP": 1.099
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.446,
  "form_weight": 0.554,
  "form_reliability": 0.7727,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7727,
    "prior_weight": 0.2273
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 5.1,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.689,
      "final": 1.8277,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 7.0,
      "form": 4.172,
      "final": 5.4334,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.714,
      "final": 1.3955,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 5.258,
      "final": 6.035,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.408,
      "final": 0.6721,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.8384,
      "final": 2.8384,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.099,
      "final": 1.099,
      "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.7653
ESPN Rank43
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO2
Season ERA1.8664
Season WHIP1.1475
Role Avg IP0.9910
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724,
    "runs_scored": 657.0,
    "runs_allowed": 533.0,
    "run_differential": 124.0,
    "run_differential_per_game": 0.8552,
    "avg_runs_scored": 4.531,
    "avg_runs_allowed": 3.6759,
    "offense_index": 1.0076,
    "defense_index": 1.2233,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.1,
      "avg_runs_allowed": 3.5,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.2011
  },
  "opponent": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793,
    "runs_scored": 683.0,
    "runs_allowed": 830.0,
    "run_differential": -147.0,
    "run_differential_per_game": -1.0138,
    "avg_runs_scored": 4.7103,
    "avg_runs_allowed": 5.7241,
    "offense_index": 1.0475,
    "defense_index": 0.7856,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 4.9,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.2966
  },
  "edges": {
    "quality_edge": 0.4977,
    "offense_edge": 0.0076,
    "opponent_offense_edge": 0.0475,
    "defense_strength": 0.2233,
    "opponent_defense_weakness": 0.2144,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0247,
    "run_prevention": 0.9604,
    "strikeout": 1.0111
  },
  "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.7,
        "bb_percent": 7.1,
        "woba": 0.281,
        "xwoba": 0.262,
        "sweet_spot_percent": 39.7,
        "barrel_batted_rate": 4.3,
        "hard_hit_percent": 37.0,
        "avg_best_speed": 76.692,
        "avg_hyper_speed": 93.8076,
        "whiff_percent": 32.8,
        "swing_percent": 53.5
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7802,
        "command_and_miss": 1.0543,
        "regression_edge": 0.5429,
        "xwoba_edge": 1.4,
        "barrel_edge": 0.6222,
        "hard_hit_edge": 0.1286,
        "whiff_edge": 1.1143,
        "bb_edge": 0.525,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "687396",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.7653,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.935,
      "strikeout_factor": 1.0943,
      "walk_factor": 0.958,
      "homer_factor": 0.9031,
      "woba_minus_xwoba": 0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "687396",
        "espn_id": 5116839,
        "player_name": "Brent Headrick",
        "team": "NYY",
        "role": "pitcher",
        "espn_rank": 43,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 43,
          "gp_value": 73.0,
          "gp_rank": 3,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 1.8663,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 85,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 26.0,
          "hld_rank": 5,
          "ip_value": 72.1,
          "ip_rank": 176,
          "h_value": 62.0,
          "h_rank": 188,
          "er_value": 15.0,
          "er_rank": 423,
          "hr_value": 4.0,
          "hr_rank": 375,
          "bb_value": 21.0,
          "bb_rank": 277,
          "k_value": 91.0,
          "k_rank": 125,
          "k_per_9_value": 11.322581,
          "k_per_9_rank": 19,
          "whip_value": 1.1474,
          "whip_rank": null,
          "war_value": 2.7,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.935,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.935,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.958,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9031,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0943,
        "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": 10,
    "BB": 2,
    "SO": 14,
    "HR": 1,
    "ERA": 3.6000000000000005,
    "WHIP": 1.2000000000000002,
    "K9": 12.600000000000001,
    "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-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "687396",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.599,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7449,
    "prior_weight": 0.2551
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687396",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 73,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 85.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 0.75,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.5625,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 1.3125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 10.0,
        "BB": 2.0,
        "SO": 14.0,
        "HR": 1.0,
        "BF": 42.0,
        "Pitches": 185.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.1,
        "BF": 4.2,
        "Pitches": 18.5
      },
      "rates": {
        "ERA": 3.6,
        "WHIP": 1.2,
        "ER_per_IP": 0.4,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 73,
      "totals": {
        "IP": 72.1,
        "ER": 15.0,
        "R": 16.0,
        "H": 62.0,
        "BB": 21.0,
        "SO": 91.0,
        "HR": 4.0,
        "BF": 296.0,
        "Pitches": 1156.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2055,
        "R": 0.2192,
        "H": 0.8493,
        "BB": 0.2877,
        "SO": 1.2466,
        "HR": 0.0548,
        "BF": 4.0548,
        "Pitches": 15.8356
      },
      "rates": {
        "ERA": 1.8664,
        "WHIP": 1.1475,
        "ER_per_IP": 0.20737,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.29032,
        "SO_per_IP": 1.25806,
        "HR_per_IP": 0.0553
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.326,
    "predicted_H": 0.825,
    "predicted_BB": 0.253,
    "predicted_SO": 1.232,
    "predicted_HR": 0.072,
    "predicted_ERA": 2.937,
    "predicted_WHIP": 1.0782
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4578,
  "form_weight": 0.5422,
  "form_reliability": 0.7449,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.599,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7449,
    "prior_weight": 0.2551
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.326,
      "final": 0.1768,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.825,
      "final": 0.4473,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.253,
      "final": 0.595,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.232,
      "final": 1.5836,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.072,
      "final": 0.039,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.937,
      "final": 2.937,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0782,
      "final": 1.0782,
      "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.7677
ESPN Rank109
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO1
Season ERA2.6270
Season WHIP1.0216
Role Avg IP1.0630
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724,
    "runs_scored": 657.0,
    "runs_allowed": 533.0,
    "run_differential": 124.0,
    "run_differential_per_game": 0.8552,
    "avg_runs_scored": 4.531,
    "avg_runs_allowed": 3.6759,
    "offense_index": 1.0076,
    "defense_index": 1.2233,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.1,
      "avg_runs_allowed": 3.5,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.2011
  },
  "opponent": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793,
    "runs_scored": 683.0,
    "runs_allowed": 830.0,
    "run_differential": -147.0,
    "run_differential_per_game": -1.0138,
    "avg_runs_scored": 4.7103,
    "avg_runs_allowed": 5.7241,
    "offense_index": 1.0475,
    "defense_index": 0.7856,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 4.9,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.2966
  },
  "edges": {
    "quality_edge": 0.4977,
    "offense_edge": 0.0076,
    "opponent_offense_edge": 0.0475,
    "defense_strength": 0.2233,
    "opponent_defense_weakness": 0.2144,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0247,
    "run_prevention": 0.9604,
    "strikeout": 1.0111
  },
  "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.0,
        "bb_percent": 7.2,
        "woba": 0.243,
        "xwoba": 0.257,
        "sweet_spot_percent": 26.9,
        "barrel_batted_rate": 4.4,
        "hard_hit_percent": 33.8,
        "avg_best_speed": 75.1686,
        "avg_hyper_speed": 93.0608,
        "whiff_percent": 31.3,
        "swing_percent": 53.5
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.223,
        "command_and_miss": 0.8007,
        "regression_edge": -0.4,
        "xwoba_edge": 1.5429,
        "barrel_edge": 0.6,
        "hard_hit_edge": 0.5857,
        "whiff_edge": 0.9,
        "bb_edge": 0.5,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "670280",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.7677,
      "sample_weight": 0.9,
      "run_prevention_factor": 0.9347,
      "strikeout_factor": 1.0633,
      "walk_factor": 0.964,
      "homer_factor": 0.8941,
      "woba_minus_xwoba": -0.014,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "670280",
        "espn_id": 38303,
        "player_name": "David Bednar",
        "team": "NYY",
        "role": "pitcher",
        "espn_rank": 109,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 109,
          "gp_value": 58.0,
          "gp_rank": 61,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.627,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 85,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 32.0,
          "sv_rank": 7,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 61.2,
          "ip_rank": 222,
          "h_value": 45.0,
          "h_rank": 275,
          "er_value": 18.0,
          "er_rank": 352,
          "hr_value": 3.0,
          "hr_rank": 441,
          "bb_value": 18.0,
          "bb_rank": 329,
          "k_value": 70.0,
          "k_rank": 180,
          "k_per_9_value": 10.216216,
          "k_per_9_rank": 21,
          "whip_value": 1.0216,
          "whip_rank": null,
          "war_value": 1.61,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9412,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9412,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9676,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9047,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.057,
        "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": 1,
    "SO": 12,
    "HR": 0,
    "ERA": 2.7,
    "WHIP": 0.9,
    "K9": 10.8,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "670280",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.446,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7134,
    "prior_weight": 0.2866
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670280",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 58,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 6.0,
        "BB": 0.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 77.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.2,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 6.2308,
        "WHIP": 1.3846,
        "ER_per_IP": 0.69231,
        "H_per_IP": 1.38462,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 3.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 1.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 160.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.1,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 2.7,
        "WHIP": 0.9,
        "ER_per_IP": 0.3,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.1,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 58,
      "totals": {
        "IP": 61.2,
        "ER": 18.0,
        "R": 22.0,
        "H": 45.0,
        "BB": 18.0,
        "SO": 70.0,
        "HR": 3.0,
        "BF": 250.0,
        "Pitches": 1040.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3103,
        "R": 0.3793,
        "H": 0.7759,
        "BB": 0.3103,
        "SO": 1.2069,
        "HR": 0.0517,
        "BF": 4.3103,
        "Pitches": 17.931
      },
      "rates": {
        "ERA": 2.627,
        "WHIP": 1.0216,
        "ER_per_IP": 0.29189,
        "H_per_IP": 0.72973,
        "BB_per_IP": 0.29189,
        "SO_per_IP": 1.13514,
        "HR_per_IP": 0.04865
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.483,
    "predicted_H": 1.027,
    "predicted_BB": 0.173,
    "predicted_SO": 1.101,
    "predicted_HR": 0.049,
    "predicted_ERA": 4.3466,
    "predicted_WHIP": 1.2003
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4711,
  "form_weight": 0.5289,
  "form_reliability": 0.7134,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.446,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7134,
    "prior_weight": 0.2866
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.483,
      "final": 0.2555,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.027,
      "final": 0.5432,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.173,
      "final": 0.5626,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.101,
      "final": 1.0534,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.049,
      "final": 0.0259,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.3466,
      "final": 4.3466,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2003,
      "final": 1.2003,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherPaul Blackburn
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2346
ESPN Rank39
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER2
Pre H1
Pre BB1
Pre SO1
Season ERA1.7017
Season WHIP1.0336
Role Avg IP1.4140
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 145,
    "wins": 83,
    "losses": 62,
    "win_pct": 0.5724,
    "runs_scored": 657.0,
    "runs_allowed": 533.0,
    "run_differential": 124.0,
    "run_differential_per_game": 0.8552,
    "avg_runs_scored": 4.531,
    "avg_runs_allowed": 3.6759,
    "offense_index": 1.0076,
    "defense_index": 1.2233,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.1,
      "avg_runs_allowed": 3.5,
      "run_differential": 16.0
    },
    "available": true,
    "quality_score": 0.2011
  },
  "opponent": {
    "team": "COL",
    "games": 145,
    "wins": 55,
    "losses": 90,
    "win_pct": 0.3793,
    "runs_scored": 683.0,
    "runs_allowed": 830.0,
    "run_differential": -147.0,
    "run_differential_per_game": -1.0138,
    "avg_runs_scored": 4.7103,
    "avg_runs_allowed": 5.7241,
    "offense_index": 1.0475,
    "defense_index": 0.7856,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 4.9,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.2966
  },
  "edges": {
    "quality_edge": 0.4977,
    "offense_edge": 0.0076,
    "opponent_offense_edge": 0.0475,
    "defense_strength": 0.2233,
    "opponent_defense_weakness": 0.2144,
    "recent_win_pct_edge": 0.3
  },
  "player_factors": {
    "ip": 1.0247,
    "run_prevention": 0.9604,
    "strikeout": 1.0111
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "621112",
    "profile": {
      "available": true,
      "pitcher_id": "621112",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 273.0,
        "k_percent": 21.4,
        "bb_percent": 9.4,
        "woba": 0.255,
        "xwoba": 0.294,
        "sweet_spot_percent": 27.7,
        "barrel_batted_rate": 6.1,
        "hard_hit_percent": 35.2,
        "avg_best_speed": 74.7287,
        "avg_hyper_speed": 93.3407,
        "whiff_percent": 23.6,
        "swing_percent": 46.0
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6729,
        "command_and_miss": -0.1186,
        "regression_edge": -1.1143,
        "xwoba_edge": 0.4857,
        "barrel_edge": 0.2222,
        "hard_hit_edge": 0.3857,
        "whiff_edge": -0.2,
        "bb_edge": -0.05,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "621112",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.2346,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9801,
      "strikeout_factor": 0.9886,
      "walk_factor": 1.004,
      "homer_factor": 0.9522,
      "woba_minus_xwoba": -0.039,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "621112",
        "espn_id": 32776,
        "player_name": "Paul Blackburn",
        "team": "NYY",
        "role": "pitcher",
        "espn_rank": 39,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 39,
          "gp_value": 56.0,
          "gp_rank": 71,
          "gs_value": 2.0,
          "gs_rank": 272,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 1.7016,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 85,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 1.0,
          "sv_rank": 139,
          "hld_value": 10.0,
          "hld_rank": 85,
          "ip_value": 79.1,
          "ip_rank": 163,
          "h_value": 53.0,
          "h_rank": 228,
          "er_value": 15.0,
          "er_rank": 423,
          "hr_value": 7.0,
          "hr_rank": 226,
          "bb_value": 29.0,
          "bb_rank": 174,
          "k_value": 66.0,
          "k_rank": 202,
          "k_per_9_value": 7.4873953,
          "k_per_9_rank": 33,
          "whip_value": 1.0336,
          "whip_rank": null,
          "war_value": 2.89,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9801,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9801,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.004,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9522,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9886,
        "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": 12,
    "HR": 1,
    "ERA": 0.7941176470588236,
    "WHIP": 0.9705882352941178,
    "K9": 9.529411764705884,
    "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-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "621112",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.011,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.762,
    "prior_weight": 0.238
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "621112",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 56,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 19.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.2,
        "SO": 1.2,
        "HR": 0.2,
        "BF": 3.8,
        "Pitches": 14.0
      },
      "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": 1.125,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.1,
        "ER": 1.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 12.0,
        "HR": 1.0,
        "BF": 44.0,
        "Pitches": 169.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.1,
        "BF": 4.4,
        "Pitches": 16.9
      },
      "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.05882,
        "HR_per_IP": 0.08824
      }
    },
    "season": {
      "games": 56,
      "totals": {
        "IP": 79.1,
        "ER": 15.0,
        "R": 18.0,
        "H": 53.0,
        "BB": 29.0,
        "SO": 66.0,
        "HR": 7.0,
        "BF": 309.0,
        "Pitches": 1134.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2679,
        "R": 0.3214,
        "H": 0.9464,
        "BB": 0.5179,
        "SO": 1.1786,
        "HR": 0.125,
        "BF": 5.5179,
        "Pitches": 20.25
      },
      "rates": {
        "ERA": 1.7017,
        "WHIP": 1.0336,
        "ER_per_IP": 0.18908,
        "H_per_IP": 0.66807,
        "BB_per_IP": 0.36555,
        "SO_per_IP": 0.83193,
        "HR_per_IP": 0.08824
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.248,
    "predicted_H": 0.794,
    "predicted_BB": 0.318,
    "predicted_SO": 1.07,
    "predicted_HR": 0.143,
    "predicted_ERA": 2.1271,
    "predicted_WHIP": 1.0578
  }
}
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.762,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.011,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.762,
    "prior_weight": 0.238
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.248,
      "final": 1.0374,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.794,
      "final": 0.8868,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.318,
      "final": 0.6253,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.07,
      "final": 1.0385,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.143,
      "final": 0.5291,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.1271,
      "final": 2.1271,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0578,
      "final": 1.0578,
      "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."
}
Jasson Domínguez (691176) · BATTER · RF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 218
All-history rows before 20260910: 218
System season_avg: 0.2340
Data season_avg (2026 season-to-date): 0.2393
Diff (system - data): -0.0053
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.2311.0001.000Hitting_2B0.2660.0000.7341.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7884.0004.000Hitting_AB3.8720.0000.1284.000
predicted_AVG0.2220.5000.250Hitting_AVG0.239-0.261-
predicted_BB0.1540.0000.000Hitting_BB0.1610.000-0.1610.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H0.3702.0001.000Hitting_H0.9270.0001.0732.000
predicted_HR0.0401.0000.000Hitting_HR0.1240.0000.8761.000
predicted_OBP0.2520.5000.250Hitting_OBP0.275-0.225-
predicted_R0.4041.0000.000Hitting_R0.4500.0000.5501.000
predicted_RBI0.1704.0000.000Hitting_RBI0.3070.0003.6934.000
predicted_SLG0.3561.5000.500Hitting_SLG0.404-1.096-
predicted_SO0.8651.0001.000Hitting_SO0.8990.0000.1011.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_RBI: 0.1700 -> 4.0000 (boost 3.8300, better)
Biggest Deboostpredicted_BB: 0.1540 -> 0.0000 (deboost -0.1540, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_H: 0.3700 -> 0.5806 (boost 0.2106, 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.3565 -> 0.2678 (deboost -0.0887, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.6078 -> 1.0000 (boost 0.3922, better)predicted_2B: 0.2236 -> 0.0000 (deboost -0.2236, worse)AB rounded to 4 (raw=3.79), rates preserved: AVG=0.169 HR/AB=0.015
6consistency_constraints10101-predicted_R: 0.4081 -> 0.0000 (deboost -0.4081, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.3972 (boost 0.3972, better)predicted_SO: 1.0000 -> 0.9036 (deboost -0.0964, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation52314predicted_2B: 0.1976 -> 1.0000 (boost 0.8024, better)predicted_RBI: 0.3972 -> 0.0000 (deboost -0.3972, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context43131predicted_SLG: 0.2678 -> 0.4220 (boost 0.1542, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference55050predicted_RBI: 0.0000 -> 4.0000 (boost 4.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.4220 -> 0.2678 (deboost -0.1542, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691176",
  "player_name": "Jasson Domínguez",
  "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.231,
        "predicted_3B": 0.0,
        "predicted_AB": 3.788,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.154,
        "predicted_H": 0.37,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.252,
        "predicted_R": 0.404,
        "predicted_RBI": 0.17,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.865
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2236,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.7545,
        "predicted_AVG": 0.2283,
        "predicted_BB": 0.1511,
        "predicted_H": 0.5806,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.0549,
        "predicted_OBP": 0.261,
        "predicted_R": 0.3772,
        "predicted_RBI": 0.1816,
        "predicted_SLG": 0.3565,
        "predicted_SO": 0.8695
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.231,
          "after": 0.2236,
          "delta": -0.0074,
          "percent_delta": -0.032,
          "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.788,
          "after": 3.7545,
          "delta": -0.0335,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2283,
          "delta": 0.0063,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.154,
          "after": 0.1511,
          "delta": -0.0029,
          "percent_delta": -0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.37,
          "after": 0.5806,
          "delta": 0.2106,
          "percent_delta": 0.5692,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0549,
          "delta": 0.0149,
          "percent_delta": 0.3725,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.252,
          "after": 0.261,
          "delta": 0.009,
          "percent_delta": 0.0357,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.404,
          "after": 0.3772,
          "delta": -0.0268,
          "percent_delta": -0.0663,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.17,
          "after": 0.1816,
          "delta": 0.0116,
          "percent_delta": 0.0682,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.356,
          "after": 0.3565,
          "delta": 0.0005,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.865,
          "after": 0.8695,
          "delta": 0.0045,
          "percent_delta": 0.0052,
          "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.37,
          "after": 0.5806,
          "delta": 0.2106,
          "percent_delta": 0.5692,
          "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": 52
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2236,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.7545,
        "predicted_AVG": 0.1619,
        "predicted_BB": 0.1534,
        "predicted_H": 0.6078,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.0575,
        "predicted_OBP": 0.1948,
        "predicted_R": 0.4081,
        "predicted_RBI": 0.1965,
        "predicted_SLG": 0.2678,
        "predicted_SO": 0.8563
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2236,
          "after": 0.2236,
          "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.7545,
          "after": 3.7545,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2283,
          "after": 0.1619,
          "delta": -0.0664,
          "percent_delta": -0.2908,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1511,
          "after": 0.1534,
          "delta": 0.0023,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5806,
          "after": 0.6078,
          "delta": 0.0272,
          "percent_delta": 0.0468,
          "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.0549,
          "after": 0.0575,
          "delta": 0.0026,
          "percent_delta": 0.0474,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.261,
          "after": 0.1948,
          "delta": -0.0662,
          "percent_delta": -0.2536,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3772,
          "after": 0.4081,
          "delta": 0.0309,
          "percent_delta": 0.0819,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1816,
          "after": 0.1965,
          "delta": 0.0149,
          "percent_delta": 0.082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3565,
          "after": 0.2678,
          "delta": -0.0887,
          "percent_delta": -0.2488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8695,
          "after": 0.8563,
          "delta": -0.0132,
          "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_SLG",
          "before": 0.3565,
          "after": 0.2678,
          "delta": -0.0887,
          "percent_delta": -0.2488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.169 HR/AB=0.015",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2236,
          "after": 0.0,
          "delta": -0.2236,
          "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.7545,
          "after": 4.0,
          "delta": 0.2455,
          "percent_delta": 0.0654,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1534,
          "after": 0.0,
          "delta": -0.1534,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6078,
          "after": 1.0,
          "delta": 0.3922,
          "percent_delta": 0.6453,
          "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.0575,
          "after": 0.0,
          "delta": -0.0575,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1965,
          "after": 0.0,
          "delta": -0.1965,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8563,
          "after": 1.0,
          "delta": 0.1437,
          "percent_delta": 0.1678,
          "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.6078,
          "after": 1.0,
          "delta": 0.3922,
          "percent_delta": 0.6453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2236,
          "after": 0.0,
          "delta": -0.2236,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4081,
          "after": 0.0,
          "delta": -0.4081,
          "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.4081,
          "after": 0.0,
          "delta": -0.4081,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1976,
        "predicted_3B": 0.0119,
        "predicted_BB": 0.2852,
        "predicted_H": 0.9699,
        "predicted_HR": 0.1506,
        "predicted_RBI": 0.3972,
        "predicted_SO": 0.9036
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1976,
          "delta": 0.1976,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0119,
          "delta": 0.0119,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2852,
          "delta": 0.2852,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9699,
          "delta": -0.0301,
          "percent_delta": -0.0301,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1506,
          "delta": 0.1506,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3972,
          "delta": 0.3972,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9036,
          "delta": -0.0964,
          "percent_delta": -0.0964,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3972,
          "delta": 0.3972,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9036,
          "delta": -0.0964,
          "percent_delta": -0.0964,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.1976,
          "after": 1.0,
          "delta": 0.8024,
          "percent_delta": 4.0607,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0119,
          "after": 0.0,
          "delta": -0.0119,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.9699,
          "after": 1.0,
          "delta": 0.0301,
          "percent_delta": 0.031,
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3972,
          "after": 0.0,
          "delta": -0.3972,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9036,
          "after": 1.0,
          "delta": 0.0964,
          "percent_delta": 0.1067,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1976,
          "after": 1.0,
          "delta": 0.8024,
          "percent_delta": 4.0607,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3972,
          "after": 0.0,
          "delta": -0.3972,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.422,
        "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.1619,
          "after": 0.249,
          "delta": 0.0871,
          "percent_delta": 0.538,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1948,
          "after": 0.306,
          "delta": 0.1112,
          "percent_delta": 0.5708,
          "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.2678,
          "after": 0.422,
          "delta": 0.1542,
          "percent_delta": 0.5758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2678,
          "after": 0.422,
          "delta": 0.1542,
          "percent_delta": 0.5758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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": 4.0,
          "delta": 4.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_RBI",
          "before": 0.0,
          "after": 4.0,
          "delta": 4.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1619,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.1948,
        "predicted_R": 1.0,
        "predicted_RBI": 4.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2678,
        "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.249,
          "after": 0.1619,
          "delta": -0.0871,
          "percent_delta": -0.3499,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.1948,
          "delta": -0.1112,
          "percent_delta": -0.3635,
          "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": 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.422,
          "after": 0.2678,
          "delta": -0.1542,
          "percent_delta": -0.3654,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.422,
          "after": 0.2678,
          "delta": -0.1542,
          "percent_delta": -0.3654,
          "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.231,
        "after": 1.0,
        "delta": 0.769,
        "percent_delta": 3.329,
        "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.788,
        "after": 4.0,
        "delta": 0.212,
        "percent_delta": 0.056,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.1619,
        "delta": -0.0601,
        "percent_delta": -0.2707,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.154,
        "after": 0.0,
        "delta": -0.154,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.37,
        "after": 2.0,
        "delta": 1.63,
        "percent_delta": 4.4054,
        "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.252,
        "after": 0.1948,
        "delta": -0.0572,
        "percent_delta": -0.227,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.404,
        "after": 1.0,
        "delta": 0.596,
        "percent_delta": 1.4752,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.17,
        "after": 4.0,
        "delta": 3.83,
        "percent_delta": 22.5294,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.356,
        "after": 0.2678,
        "delta": -0.0882,
        "percent_delta": -0.2478,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.865,
        "after": 1.0,
        "delta": 0.135,
        "percent_delta": 0.1561,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.17,
        "after": 4.0,
        "delta": 3.83,
        "percent_delta": 22.5294,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.154,
        "after": 0.0,
        "delta": -0.154,
        "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.231-
predicted_3B0.000-
predicted_AB3.788-
predicted_AVG0.222-
predicted_BB0.154-
predicted_H0.370-
predicted_HR0.040-
predicted_OBP0.252-
predicted_R0.404-
predicted_RBI0.170-
predicted_SLG0.356-
predicted_SO0.865-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.224-0.007
predicted_3B0.0010.001
predicted_AB3.755-0.033
predicted_AVG0.2280.006
predicted_BB0.151-0.003
predicted_H0.5810.211
predicted_HBP0.041-
predicted_HR0.0550.015
predicted_OBP0.2610.009
predicted_R0.377-0.027
predicted_RBI0.1820.012
predicted_SLG0.3560.001
predicted_SO0.8700.005
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2240.000
predicted_3B0.0010.000
predicted_AB3.7550.000
predicted_AVG0.162-0.066
predicted_BB0.1530.002
predicted_H0.6080.027
predicted_HBP0.0410.000
predicted_HR0.0580.003
predicted_OBP0.195-0.066
predicted_R0.4080.031
predicted_RBI0.1970.015
predicted_SLG0.268-0.089
predicted_SO0.856-0.013
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1980.198
3B0.0120.012
BB0.2850.285
H0.970-0.030
HR0.1510.151
RBI0.3970.397
SO0.904-0.096
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.802
3B0.000-0.012
AB4.0000.000
BB0.000-0.285
H1.0000.030
HR0.000-0.151
R0.0000.000
RBI0.000-0.397
SO1.0000.096
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.224
predicted_3B0.000-0.001
predicted_AB4.0000.245
predicted_AVG0.2490.087
predicted_BB0.000-0.153
predicted_H1.0000.392
predicted_HR0.000-0.058
predicted_OBP0.3060.111
predicted_R0.000-0.408
predicted_RBI0.000-0.197
predicted_SLG0.4220.154
predicted_SO1.0000.144
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI4.0004.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: 52
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.0000.0000.0000.0004.0000.23530.23530.29410.23530.00000.00000.00000.2353
last_100.2010-37.0009.0002.0000.0000.0000.0004.0002.00010.0000.24320.30000.29730.24320.00000.00000.05410.2703
season0.6052-197.00046.00012.0000.0006.00014.00021.0008.00045.0000.23350.27050.38580.23350.03050.07110.04060.2284
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2130
predicted_3B0.0020
predicted_AB3.7070
predicted_AVG0.2373
predicted_BB0.1470
predicted_H0.8800
predicted_HBP0.0410
predicted_HR0.0760
predicted_OBP0.2739
predicted_R0.3390
predicted_RBI0.1980
predicted_SLG0.3571
predicted_SO0.8760
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23100.21300.2236model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.78803.70703.7545model_form_blend
predicted_AVG0.22200.23730.2283model_form_blend
predicted_BB0.15400.14700.1511model_form_blend
predicted_H0.37000.88000.5806model_form_blend
predicted_HBP-0.04100.0410form_only
predicted_HR0.04000.07600.0549model_form_blend
predicted_OBP0.25200.27390.2610model_form_blend
predicted_R0.40400.33900.3772model_form_blend
predicted_RBI0.17000.19800.1816model_form_blend
predicted_SLG0.35600.35710.3565model_form_blend
predicted_SO0.86500.87600.8695model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_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
allPositionsPlayedPR
gameID20260909_COL@NYY
game_typeph
mlbID691176
noteRan for Judge in the 8th.
playerID691176
playerNameJasson Domínguez
posRF
startedFalse
startingPositionPR
teamNYY
teamID19
game_date2026-09-09
sl_k_percent21.2
sl_bb_percent4.1
sl_woba0.282
sl_xwoba0.291
sl_xba0.253
sl_xslg0.37
sl_sweet_spot_percent30.8
sl_barrel_batted_rate5.7
sl_hard_hit_percent39.6
sl_exit_velocity_avg88.3
sl_launch_angle_avg15.5
sl_whiff_percent24.3
sl_swing_percent50.9
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 20260910: 73
All-history rows before 20260910: 73
System season_avg: 0.2880
Data season_avg (2026 season-to-date): 0.2527
Diff (system - data): 0.0353
System opponent_avg: 0.3640
System season_avg diverges from 2026 season-to-date by 0.0353. 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.1930.0001.000Hitting_2B0.2051.000-0.205-1.000
predicted_3B0.0370.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9104.0004.000Hitting_AB3.7954.0000.2050.000
predicted_AVG0.3210.2500.250Hitting_AVG0.2530.500-0.003-0.250
predicted_BB0.1700.0000.000Hitting_BB0.2470.000-0.2470.000
predicted_CS-0.0000.000BaseRunning_CS0.0550.000-0.0550.000
predicted_H1.2601.0001.000Hitting_H0.9592.0000.041-1.000
predicted_HR0.2600.0000.000Hitting_HR0.1231.000-0.123-1.000
predicted_OBP0.3430.2500.250Hitting_OBP0.2930.500-0.043-0.250
predicted_R0.4741.0001.000Hitting_R0.3562.0000.644-1.000
predicted_RBI0.6300.0001.000Hitting_RBI0.3151.000-0.315-1.000
predicted_SLG0.5490.2500.500Hitting_SLG0.4041.500-0.154-1.250
predicted_SO0.6370.0001.000Hitting_SO0.7812.000-0.781-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.4740 -> 1.0000 (boost 0.5260, better)
Biggest Deboostpredicted_SO: 0.6370 -> 0.0000 (deboost -0.6370, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41304predicted_SO: 0.6370 -> 0.7384 (boost 0.1014, worse)predicted_AB: 3.9100 -> 3.7090 (deboost -0.2010, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot44040predicted_H: 1.1803 -> 1.2355 (boost 0.0552, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_RBI: 0.6080 -> 1.0000 (boost 0.3920, better)predicted_HR: 0.2392 -> 0.0000 (deboost -0.2392, worse)AB rounded to 4 (raw=3.91), rates preserved: AVG=0.334 HR/AB=0.061
6consistency_constraints11010predicted_R: 0.5282 -> 1.0000 (boost 0.4718, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.2728 (boost 0.2728, better)predicted_RBI: 1.0000 -> 0.6777 (deboost -0.3223, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_2B: 0.1998 -> 1.0000 (boost 0.8002, better)predicted_BB: 0.2728 -> 0.0000 (deboost -0.2728, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference20211-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.5300 -> 0.5953 (boost 0.0653, 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.193,
        "predicted_3B": 0.037,
        "predicted_AB": 3.91,
        "predicted_AVG": 0.321,
        "predicted_BB": 0.17,
        "predicted_H": 1.26,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.343,
        "predicted_R": 0.474,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.549,
        "predicted_SO": 0.637
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1939,
        "predicted_3B": 0.0305,
        "predicted_AB": 3.709,
        "predicted_AVG": 0.3172,
        "predicted_BB": 0.1518,
        "predicted_H": 1.1803,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2284,
        "predicted_OBP": 0.3405,
        "predicted_R": 0.4883,
        "predicted_RBI": 0.562,
        "predicted_SLG": 0.5468,
        "predicted_SO": 0.7384
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.193,
          "after": 0.1939,
          "delta": 0.0009,
          "percent_delta": 0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.037,
          "after": 0.0305,
          "delta": -0.0065,
          "percent_delta": -0.1757,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.91,
          "after": 3.709,
          "delta": -0.201,
          "percent_delta": -0.0514,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.321,
          "after": 0.3172,
          "delta": -0.0038,
          "percent_delta": -0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.17,
          "after": 0.1518,
          "delta": -0.0182,
          "percent_delta": -0.1071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.26,
          "after": 1.1803,
          "delta": -0.0797,
          "percent_delta": -0.0633,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.2284,
          "delta": -0.0316,
          "percent_delta": -0.1215,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.343,
          "after": 0.3405,
          "delta": -0.0025,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.474,
          "after": 0.4883,
          "delta": 0.0143,
          "percent_delta": 0.0302,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.63,
          "after": 0.562,
          "delta": -0.068,
          "percent_delta": -0.1079,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.549,
          "after": 0.5468,
          "delta": -0.0022,
          "percent_delta": -0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.637,
          "after": 0.7384,
          "delta": 0.1014,
          "percent_delta": 0.1592,
          "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.637,
          "after": 0.7384,
          "delta": 0.1014,
          "percent_delta": 0.1592,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.91,
          "after": 3.709,
          "delta": -0.201,
          "percent_delta": -0.0514,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 135
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1939,
        "predicted_3B": 0.0305,
        "predicted_AB": 3.709,
        "predicted_AVG": 0.3331,
        "predicted_BB": 0.1541,
        "predicted_H": 1.2355,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2392,
        "predicted_OBP": 0.3597,
        "predicted_R": 0.5282,
        "predicted_RBI": 0.608,
        "predicted_SLG": 0.5953,
        "predicted_SO": 0.7272
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1939,
          "after": 0.1939,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0305,
          "after": 0.0305,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.709,
          "after": 3.709,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3172,
          "after": 0.3331,
          "delta": 0.0159,
          "percent_delta": 0.0501,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1518,
          "after": 0.1541,
          "delta": 0.0023,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1803,
          "after": 1.2355,
          "delta": 0.0552,
          "percent_delta": 0.0468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.2284,
          "after": 0.2392,
          "delta": 0.0108,
          "percent_delta": 0.0473,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3405,
          "after": 0.3597,
          "delta": 0.0192,
          "percent_delta": 0.0564,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4883,
          "after": 0.5282,
          "delta": 0.0399,
          "percent_delta": 0.0817,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.562,
          "after": 0.608,
          "delta": 0.046,
          "percent_delta": 0.0819,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5468,
          "after": 0.5953,
          "delta": 0.0485,
          "percent_delta": 0.0887,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7384,
          "after": 0.7272,
          "delta": -0.0112,
          "percent_delta": -0.0152,
          "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.1803,
          "after": 1.2355,
          "delta": 0.0552,
          "percent_delta": 0.0468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.91), rates preserved: AVG=0.334 HR/AB=0.061",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1939,
          "after": 0.0,
          "delta": -0.1939,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0305,
          "after": 0.0,
          "delta": -0.0305,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.709,
          "after": 4.0,
          "delta": 0.291,
          "percent_delta": 0.0785,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1541,
          "after": 0.0,
          "delta": -0.1541,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2355,
          "after": 1.0,
          "delta": -0.2355,
          "percent_delta": -0.1906,
          "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.2392,
          "after": 0.0,
          "delta": -0.2392,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.608,
          "after": 1.0,
          "delta": 0.392,
          "percent_delta": 0.6447,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7272,
          "after": 1.0,
          "delta": 0.2728,
          "percent_delta": 0.3751,
          "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.608,
          "after": 1.0,
          "delta": 0.392,
          "percent_delta": 0.6447,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2392,
          "after": 0.0,
          "delta": -0.2392,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5282,
          "after": 1.0,
          "delta": 0.4718,
          "percent_delta": 0.8932,
          "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.5282,
          "after": 1.0,
          "delta": 0.4718,
          "percent_delta": 0.8932,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1998,
        "predicted_3B": 0.0234,
        "predicted_BB": 0.2728,
        "predicted_H": 1.0642,
        "predicted_HR": 0.2455,
        "predicted_RBI": 0.6777,
        "predicted_SO": 0.7333
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1998,
          "delta": 0.1998,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0234,
          "delta": 0.0234,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2728,
          "delta": 0.2728,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0642,
          "delta": 0.0642,
          "percent_delta": 0.0642,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2455,
          "delta": 0.2455,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6777,
          "delta": -0.3223,
          "percent_delta": -0.3223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7333,
          "delta": -0.2667,
          "percent_delta": -0.2667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2728,
          "delta": 0.2728,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6777,
          "delta": -0.3223,
          "percent_delta": -0.3223,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1998,
          "after": 1.0,
          "delta": 0.8002,
          "percent_delta": 4.005,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0234,
          "after": 0.0,
          "delta": -0.0234,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2728,
          "after": 0.0,
          "delta": -0.2728,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0642,
          "after": 1.0,
          "delta": -0.0642,
          "percent_delta": -0.0603,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2455,
          "after": 0.0,
          "delta": -0.2455,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6777,
          "after": 1.0,
          "delta": 0.3223,
          "percent_delta": 0.4756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7333,
          "after": 1.0,
          "delta": 0.2667,
          "percent_delta": 0.3637,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1998,
          "after": 1.0,
          "delta": 0.8002,
          "percent_delta": 4.005,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2728,
          "after": 0.0,
          "delta": -0.2728,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.329,
        "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3331,
          "after": 0.276,
          "delta": -0.0571,
          "percent_delta": -0.1714,
          "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.3597,
          "after": 0.329,
          "delta": -0.0307,
          "percent_delta": -0.0853,
          "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.5953,
          "after": 0.53,
          "delta": -0.0653,
          "percent_delta": -0.1097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3331,
        "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.3597,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5953,
        "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.276,
          "after": 0.3331,
          "delta": 0.0571,
          "percent_delta": 0.207,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3597,
          "delta": 0.0307,
          "percent_delta": 0.0934,
          "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.53,
          "after": 0.5953,
          "delta": 0.0653,
          "percent_delta": 0.1232,
          "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.53,
          "after": 0.5953,
          "delta": 0.0653,
          "percent_delta": 0.1232,
          "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.193,
        "after": 0.0,
        "delta": -0.193,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.037,
        "after": 0.0,
        "delta": -0.037,
        "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.321,
        "after": 0.3331,
        "delta": 0.0121,
        "percent_delta": 0.0377,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.26,
        "after": 1.0,
        "delta": -0.26,
        "percent_delta": -0.2063,
        "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.343,
        "after": 0.3597,
        "delta": 0.0167,
        "percent_delta": 0.0487,
        "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.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.549,
        "after": 0.5953,
        "delta": 0.0463,
        "percent_delta": 0.0843,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.637,
        "after": 0.0,
        "delta": -0.637,
        "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_R",
        "before": 0.474,
        "after": 1.0,
        "delta": 0.526,
        "percent_delta": 1.1097,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.637,
        "after": 0.0,
        "delta": -0.637,
        "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.193-
predicted_3B0.037-
predicted_AB3.910-
predicted_AVG0.321-
predicted_BB0.170-
predicted_H1.260-
predicted_HR0.260-
predicted_OBP0.343-
predicted_R0.474-
predicted_RBI0.630-
predicted_SLG0.549-
predicted_SO0.637-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1940.001
predicted_3B0.030-0.006
predicted_AB3.709-0.201
predicted_AVG0.317-0.004
predicted_BB0.152-0.018
predicted_H1.180-0.080
predicted_HBP0.002-
predicted_HR0.228-0.032
predicted_OBP0.341-0.003
predicted_R0.4880.014
predicted_RBI0.562-0.068
predicted_SLG0.547-0.002
predicted_SO0.7380.101
3. team_form_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.0300.000
predicted_AB3.7090.000
predicted_AVG0.3330.016
predicted_BB0.1540.002
predicted_H1.2360.055
predicted_HBP0.0020.000
predicted_HR0.2390.011
predicted_OBP0.3600.019
predicted_R0.5280.040
predicted_RBI0.6080.046
predicted_SLG0.5950.049
predicted_SO0.727-0.011
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.2000.200
3B0.0230.023
BB0.2730.273
H1.0640.064
HR0.2450.245
RBI0.678-0.322
SO0.733-0.267
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.800
3B0.000-0.023
AB4.0000.000
BB0.000-0.273
H1.000-0.064
HR0.000-0.245
R1.0000.000
RBI1.0000.322
SO1.0000.267
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.194
predicted_3B0.000-0.030
predicted_AB4.0000.291
predicted_AVG0.276-0.057
predicted_BB0.000-0.154
predicted_H1.000-0.236
predicted_HR0.000-0.239
predicted_OBP0.329-0.031
predicted_R1.0000.472
predicted_RBI1.0000.392
predicted_SLG0.530-0.065
predicted_SO1.0000.273
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 135
Reference playing time: 3.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-16.0006.0001.0000.0001.0001.0003.0000.0007.0000.37500.37500.62500.37500.06250.06250.00000.4375
last_100.2010-35.00012.0002.0000.0001.0002.0005.0001.00010.0000.34290.36110.48570.34290.02860.05710.02860.2857
season0.60135-469.000135.00026.0005.00029.00089.00064.00023.00086.0000.28780.31980.55010.28780.06180.18980.04900.1834
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1950
predicted_3B0.0220
predicted_AB3.4460
predicted_AVG0.3123
predicted_BB0.1280
predicted_H1.0760
predicted_HBP0.0020
predicted_HR0.1870
predicted_OBP0.3372
predicted_R0.5070
predicted_RBI0.4730
predicted_SLG0.5439
predicted_SO0.8710
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19300.19500.1939model_form_blend
predicted_3B0.03700.02200.0305model_form_blend
predicted_AB3.91003.44603.7090model_form_blend
predicted_AVG0.32100.31230.3172model_form_blend
predicted_BB0.17000.12800.1518model_form_blend
predicted_H1.26001.07601.1803model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.26000.18700.2284model_form_blend
predicted_OBP0.34300.33720.3405model_form_blend
predicted_R0.47400.50700.4883model_form_blend
predicted_RBI0.63000.47300.5620model_form_blend
predicted_SLG0.54900.54390.5468model_form_blend
predicted_SO0.63700.87100.7384model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB6
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20260909_COL@NYY
game_typefull
mlbID671277
playerID671277
playerNameLuis García Jr.
pos1B
startedTrue
startingPosition1B
teamNYY
teamID19
game_date2026-09-09
sl_k_percent17.1
sl_bb_percent4.7
sl_woba0.367
sl_xwoba0.348
sl_xba0.283
sl_xslg0.497
sl_sweet_spot_percent33.4
sl_barrel_batted_rate12.1
sl_hard_hit_percent46.5
sl_exit_velocity_avg91.6
sl_launch_angle_avg11.5
sl_whiff_percent20.4
sl_swing_percent52.8
Ben Rice (700250) · BATTER · DH · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 536
All-history rows before 20260910: 536
System season_avg: 0.2570
Data season_avg (2026 season-to-date): 0.2558
Diff (system - data): 0.0012
System opponent_avg: 0.0000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1540.0000.000Hitting_2B0.1720.000-0.1720.000
predicted_3B0.0220.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB4.4704.0004.000Hitting_AB3.8434.0000.1570.000
predicted_AVG0.2460.2500.250Hitting_AVG0.2560.000-0.0060.250
predicted_BB0.5290.0001.000Hitting_BB0.5650.000-0.5650.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1001.0001.000Hitting_H0.9830.0000.0171.000
predicted_HR0.2100.0001.000Hitting_HR0.2780.000-0.2780.000
predicted_OBP0.3770.2500.400Hitting_OBP0.3560.000-0.1060.250
predicted_R0.6541.0001.000Hitting_R0.6850.0000.3151.000
predicted_RBI0.5901.0001.000Hitting_RBI0.6660.0000.3341.000
predicted_SLG0.4790.2501.000Hitting_SLG0.5310.000-0.2810.250
predicted_SO1.0591.0001.000Hitting_SO1.0931.000-0.0930.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_RBI: 0.5900 -> 1.0000 (boost 0.4100, better)
Biggest Deboostpredicted_BB: 0.5290 -> 0.0000 (deboost -0.5290, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2460 -> 0.2600 (boost 0.0140, better)predicted_AB: 4.4700 -> 4.1488 (deboost -0.3212, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot53232predicted_R: 0.6605 -> 0.7145 (boost 0.0540, better)predicted_OBP: 0.3784 -> 0.3558 (deboost -0.0226, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72525predicted_BB: 0.5472 -> 1.0000 (boost 0.4528, better)predicted_HR: 0.2209 -> 0.0000 (deboost -0.2209, worse)AB rounded to 4 (raw=4.47), rates preserved: AVG=0.265 HR/AB=0.049
6consistency_constraints11010predicted_R: 0.7145 -> 1.0000 (boost 0.2855, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine42222predicted_HR: 0.0000 -> 0.2550 (boost 0.2550, better)predicted_RBI: 1.0000 -> 0.5774 (deboost -0.4226, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation43131predicted_HR: 0.2550 -> 1.0000 (boost 0.7450, better)predicted_2B: 0.1761 -> 0.0000 (deboost -0.1761, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context31212predicted_SLG: 0.4703 -> 0.5010 (boost 0.0307, better)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final21111predicted_AVG: 0.2500 -> 0.2708 (boost 0.0208, better)predicted_SLG: 0.5010 -> 0.4703 (deboost -0.0307, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "700250",
  "player_name": "Ben Rice",
  "position": "DH",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.154,
        "predicted_3B": 0.022,
        "predicted_AB": 4.47,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.529,
        "predicted_H": 1.1,
        "predicted_HR": 0.21,
        "predicted_OBP": 0.377,
        "predicted_R": 0.654,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.479,
        "predicted_SO": 1.059
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1287,
        "predicted_3B": 0.0181,
        "predicted_AB": 4.1488,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.539,
        "predicted_H": 1.0734,
        "predicted_HBP": 0.086,
        "predicted_HR": 0.2109,
        "predicted_OBP": 0.3784,
        "predicted_R": 0.6605,
        "predicted_RBI": 0.553,
        "predicted_SLG": 0.4801,
        "predicted_SO": 1.0276
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.154,
          "after": 0.1287,
          "delta": -0.0253,
          "percent_delta": -0.1643,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0181,
          "delta": -0.0039,
          "percent_delta": -0.1773,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.47,
          "after": 4.1488,
          "delta": -0.3212,
          "percent_delta": -0.0719,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.26,
          "delta": 0.014,
          "percent_delta": 0.0569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.529,
          "after": 0.539,
          "delta": 0.01,
          "percent_delta": 0.0189,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1,
          "after": 1.0734,
          "delta": -0.0266,
          "percent_delta": -0.0242,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.21,
          "after": 0.2109,
          "delta": 0.0009,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.377,
          "after": 0.3784,
          "delta": 0.0014,
          "percent_delta": 0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.654,
          "after": 0.6605,
          "delta": 0.0065,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.553,
          "delta": -0.037,
          "percent_delta": -0.0627,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.479,
          "after": 0.4801,
          "delta": 0.0011,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.059,
          "after": 1.0276,
          "delta": -0.0314,
          "percent_delta": -0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.26,
          "delta": 0.014,
          "percent_delta": 0.0569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.47,
          "after": 4.1488,
          "delta": -0.3212,
          "percent_delta": -0.0719,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 136
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1287,
        "predicted_3B": 0.0181,
        "predicted_AB": 4.1488,
        "predicted_AVG": 0.2708,
        "predicted_BB": 0.5472,
        "predicted_H": 1.1236,
        "predicted_HBP": 0.086,
        "predicted_HR": 0.2209,
        "predicted_OBP": 0.3558,
        "predicted_R": 0.7145,
        "predicted_RBI": 0.5982,
        "predicted_SLG": 0.4703,
        "predicted_SO": 1.012
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1287,
          "after": 0.1287,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0181,
          "after": 0.0181,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1488,
          "after": 4.1488,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.2708,
          "delta": 0.0108,
          "percent_delta": 0.0415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.539,
          "after": 0.5472,
          "delta": 0.0082,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0734,
          "after": 1.1236,
          "delta": 0.0502,
          "percent_delta": 0.0468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.086,
          "after": 0.086,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2109,
          "after": 0.2209,
          "delta": 0.01,
          "percent_delta": 0.0474,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3784,
          "after": 0.3558,
          "delta": -0.0226,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6605,
          "after": 0.7145,
          "delta": 0.054,
          "percent_delta": 0.0818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.553,
          "after": 0.5982,
          "delta": 0.0452,
          "percent_delta": 0.0817,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4801,
          "after": 0.4703,
          "delta": -0.0098,
          "percent_delta": -0.0204,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0276,
          "after": 1.012,
          "delta": -0.0156,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.6605,
          "after": 0.7145,
          "delta": 0.054,
          "percent_delta": 0.0818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3784,
          "after": 0.3558,
          "delta": -0.0226,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.47), rates preserved: AVG=0.265 HR/AB=0.049",
      "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.1287,
          "after": 0.0,
          "delta": -0.1287,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0181,
          "after": 0.0,
          "delta": -0.0181,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1488,
          "after": 4.0,
          "delta": -0.1488,
          "percent_delta": -0.0359,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5472,
          "after": 1.0,
          "delta": 0.4528,
          "percent_delta": 0.8275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1236,
          "after": 1.0,
          "delta": -0.1236,
          "percent_delta": -0.11,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.086,
          "after": 0.0,
          "delta": -0.086,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2209,
          "after": 0.0,
          "delta": -0.2209,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5982,
          "after": 1.0,
          "delta": 0.4018,
          "percent_delta": 0.6717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.012,
          "after": 1.0,
          "delta": -0.012,
          "percent_delta": -0.0119,
          "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_BB",
          "before": 0.5472,
          "after": 1.0,
          "delta": 0.4528,
          "percent_delta": 0.8275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2209,
          "after": 0.0,
          "delta": -0.2209,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7145,
          "after": 1.0,
          "delta": 0.2855,
          "percent_delta": 0.3996,
          "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.7145,
          "after": 1.0,
          "delta": 0.2855,
          "percent_delta": 0.3996,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1761,
        "predicted_3B": 0.0169,
        "predicted_BB": 0.5857,
        "predicted_H": 0.9721,
        "predicted_HR": 0.255,
        "predicted_RBI": 0.5774,
        "predicted_SO": 1.0016
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1761,
          "delta": 0.1761,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0169,
          "delta": 0.0169,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5857,
          "delta": -0.4143,
          "percent_delta": -0.4143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9721,
          "delta": -0.0279,
          "percent_delta": -0.0279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.255,
          "delta": 0.255,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5774,
          "delta": -0.4226,
          "percent_delta": -0.4226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0016,
          "delta": 0.0016,
          "percent_delta": 0.0016,
          "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_HR",
          "before": 0.0,
          "after": 0.255,
          "delta": 0.255,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5774,
          "delta": -0.4226,
          "percent_delta": -0.4226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1761,
          "after": 0.0,
          "delta": -0.1761,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0169,
          "after": 0.0,
          "delta": -0.0169,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5857,
          "after": 1.0,
          "delta": 0.4143,
          "percent_delta": 0.7074,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9721,
          "after": 1.0,
          "delta": 0.0279,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.255,
          "after": 1.0,
          "delta": 0.745,
          "percent_delta": 2.9216,
          "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.5774,
          "after": 1.0,
          "delta": 0.4226,
          "percent_delta": 0.7319,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0016,
          "after": 1.0,
          "delta": -0.0016,
          "percent_delta": -0.0016,
          "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_HR",
          "before": 0.255,
          "after": 1.0,
          "delta": 0.745,
          "percent_delta": 2.9216,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1761,
          "after": 0.0,
          "delta": -0.1761,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.353,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.501,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2708,
          "after": 0.25,
          "delta": -0.0208,
          "percent_delta": -0.0768,
          "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.3558,
          "after": 0.353,
          "delta": -0.0028,
          "percent_delta": -0.0079,
          "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.4703,
          "after": 0.501,
          "delta": 0.0307,
          "percent_delta": 0.0653,
          "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.4703,
          "after": 0.501,
          "delta": 0.0307,
          "percent_delta": 0.0653,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2708,
        "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.3558,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4703,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2708,
          "delta": 0.0208,
          "percent_delta": 0.0833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.353,
          "after": 0.3558,
          "delta": 0.0028,
          "percent_delta": 0.0079,
          "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.501,
          "after": 0.4703,
          "delta": -0.0307,
          "percent_delta": -0.0613,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2708,
          "delta": 0.0208,
          "percent_delta": 0.0833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.501,
          "after": 0.4703,
          "delta": -0.0307,
          "percent_delta": -0.0613,
          "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.154,
        "after": 0.0,
        "delta": -0.154,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.022,
        "after": 0.0,
        "delta": -0.022,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.47,
        "after": 4.0,
        "delta": -0.47,
        "percent_delta": -0.1051,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.2708,
        "delta": 0.0248,
        "percent_delta": 0.1008,
        "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.1,
        "after": 1.0,
        "delta": -0.1,
        "percent_delta": -0.0909,
        "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.377,
        "after": 0.3558,
        "delta": -0.0212,
        "percent_delta": -0.0562,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.654,
        "after": 1.0,
        "delta": 0.346,
        "percent_delta": 0.5291,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 1.0,
        "delta": 0.41,
        "percent_delta": 0.6949,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.479,
        "after": 0.4703,
        "delta": -0.0087,
        "percent_delta": -0.0182,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.059,
        "after": 1.0,
        "delta": -0.059,
        "percent_delta": -0.0557,
        "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_RBI",
        "before": 0.59,
        "after": 1.0,
        "delta": 0.41,
        "percent_delta": 0.6949,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.529,
        "after": 0.0,
        "delta": -0.529,
        "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.154-
predicted_3B0.022-
predicted_AB4.470-
predicted_AVG0.246-
predicted_BB0.529-
predicted_H1.100-
predicted_HR0.210-
predicted_OBP0.377-
predicted_R0.654-
predicted_RBI0.590-
predicted_SLG0.479-
predicted_SO1.059-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.018-0.004
predicted_AB4.149-0.321
predicted_AVG0.2600.014
predicted_BB0.5390.010
predicted_H1.073-0.027
predicted_HBP0.086-
predicted_HR0.2110.001
predicted_OBP0.3780.001
predicted_R0.6600.006
predicted_RBI0.553-0.037
predicted_SLG0.4800.001
predicted_SO1.028-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.1290.000
predicted_3B0.0180.000
predicted_AB4.1490.000
predicted_AVG0.2710.011
predicted_BB0.5470.008
predicted_H1.1240.050
predicted_HBP0.0860.000
predicted_HR0.2210.010
predicted_OBP0.356-0.023
predicted_R0.7150.054
predicted_RBI0.5980.045
predicted_SLG0.470-0.010
predicted_SO1.012-0.016
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1760.176
3B0.0170.017
BB0.586-0.414
H0.972-0.028
HR0.2550.255
RBI0.577-0.423
SO1.0020.002
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.176
3B0.000-0.017
AB4.0000.000
BB1.0000.414
H1.0000.028
HR1.0000.745
R1.0000.000
RBI1.0000.423
SO1.000-0.002
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.129
predicted_3B0.000-0.018
predicted_AB4.000-0.149
predicted_AVG0.250-0.021
predicted_BB1.0000.453
predicted_H1.000-0.124
predicted_HR0.000-0.221
predicted_OBP0.353-0.003
predicted_R1.0000.285
predicted_RBI1.0000.402
predicted_SLG0.5010.031
predicted_SO1.000-0.012
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
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: 136
Reference playing time: 4.470
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0006.0000.0000.0001.0001.0004.0004.0004.0000.35290.50000.52940.35290.05880.05880.23530.2353
last_100.2010-40.00011.0000.0000.0001.0005.0006.0004.00010.0000.27500.35560.35000.27500.02500.12500.10000.2500
season0.60136-510.000131.00021.0003.00035.00084.00089.00072.000144.0000.25690.35480.51570.25690.06860.16470.14120.2823
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0960
predicted_3B0.0130
predicted_AB3.7330
predicted_AVG0.2782
predicted_BB0.5520
predicted_H1.0390
predicted_HBP0.0860
predicted_HR0.2120
predicted_OBP0.3802
predicted_R0.6690
predicted_RBI0.5050
predicted_SLG0.4815
predicted_SO0.9870
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15400.09600.1287model_form_blend
predicted_3B0.02200.01300.0181model_form_blend
predicted_AB4.47003.73304.1488model_form_blend
predicted_AVG0.24600.27820.2600model_form_blend
predicted_BB0.52900.55200.5390model_form_blend
predicted_H1.10001.03901.0734model_form_blend
predicted_HBP-0.08600.0860form_only
predicted_HR0.21000.21200.2109model_form_blend
predicted_OBP0.37700.38020.3784model_form_blend
predicted_R0.65400.66900.6605model_form_blend
predicted_RBI0.59000.50500.5530model_form_blend
predicted_SLG0.47900.48150.4801model_form_blend
predicted_SO1.05900.98701.0276model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 used136
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260909_COL@NYY
game_typefull
mlbID700250
playerID700250
playerNameBen Rice
posDH
startedTrue
startingPositionDH
teamNYY
teamID19
game_date2026-09-09
sl_k_percent24.7
sl_bb_percent12.1
sl_woba0.376
sl_xwoba0.376
sl_xba0.267
sl_xslg0.51
sl_sweet_spot_percent38.9
sl_barrel_batted_rate14.3
sl_hard_hit_percent48.6
sl_exit_velocity_avg92.0
sl_launch_angle_avg14.6
sl_whiff_percent25.8
sl_swing_percent43.9
Cody Bellinger (641355) · BATTER · LF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 449
All-history rows before 20260910: 449
System season_avg: 0.2660
Data season_avg (2026 season-to-date): 0.2676
Diff (system - data): -0.0016
System opponent_avg: 0.2600

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1980.0000.000Hitting_2B0.2140.000-0.2140.000
predicted_3B0.0260.0000.000Hitting_3B0.0310.000-0.0310.000
predicted_AB4.6504.0004.000Hitting_AB3.7044.0000.2960.000
predicted_AVG0.2760.5000.250Hitting_AVG0.2680.2500.2320.250
predicted_BB0.4740.0001.000Hitting_BB0.5520.000-0.5520.000
predicted_CS-0.0000.000BaseRunning_CS0.0560.000-0.0560.000
predicted_H1.2802.0001.000Hitting_H0.9911.0001.0091.000
predicted_HR0.1500.0000.000Hitting_HR0.1161.000-0.116-1.000
predicted_OBP0.3230.5000.400Hitting_OBP0.3580.2500.1420.250
predicted_R0.5601.0001.000Hitting_R0.5521.0000.4480.000
predicted_RBI0.5900.0001.000Hitting_RBI0.5571.000-0.557-1.000
predicted_SLG0.4480.5000.250Hitting_SLG0.4361.0000.064-0.500
predicted_SO0.6470.0000.000Hitting_SO0.6391.000-0.639-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: 1.2800 -> 2.0000 (boost 0.7200, better)
Biggest Deboostpredicted_AB: 4.6500 -> 4.0000 (deboost -0.6500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_R: 0.5600 -> 0.6107 (boost 0.0507, better)predicted_AB: 4.6500 -> 4.3389 (deboost -0.3111, worse)Final model input calibrated 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_H: 1.1786 -> 1.2338 (boost 0.0552, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_RBI: 0.6087 -> 1.0000 (boost 0.3913, better)predicted_BB: 0.4037 -> 0.0000 (deboost -0.4037, worse)AB rounded to 4 (raw=4.65), rates preserved: AVG=0.280 HR/AB=0.032
6consistency_constraints11010predicted_R: 0.6607 -> 1.0000 (boost 0.3393, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53241predicted_BB: 0.0000 -> 0.5445 (boost 0.5445, better)predicted_RBI: 1.0000 -> 0.5364 (deboost -0.4636, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation52332predicted_RBI: 0.5364 -> 1.0000 (boost 0.4636, better)predicted_SO: 0.6641 -> 0.0000 (deboost -0.6641, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context52314predicted_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
10simulation_box_score_reference31221predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final32121predicted_AVG: 0.2550 -> 0.2843 (boost 0.0293, better)predicted_OBP: 0.3510 -> 0.3453 (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": "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.198,
        "predicted_3B": 0.026,
        "predicted_AB": 4.65,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.474,
        "predicted_H": 1.28,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.323,
        "predicted_R": 0.56,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.448,
        "predicted_SO": 0.647
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1906,
        "predicted_3B": 0.0217,
        "predicted_AB": 4.3389,
        "predicted_AVG": 0.2717,
        "predicted_BB": 0.3977,
        "predicted_H": 1.1786,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.319,
        "predicted_R": 0.6107,
        "predicted_RBI": 0.5627,
        "predicted_SLG": 0.4348,
        "predicted_SO": 0.6687
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.198,
          "after": 0.1906,
          "delta": -0.0074,
          "percent_delta": -0.0374,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0217,
          "delta": -0.0043,
          "percent_delta": -0.1654,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.65,
          "after": 4.3389,
          "delta": -0.3111,
          "percent_delta": -0.0669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2717,
          "delta": -0.0043,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.474,
          "after": 0.3977,
          "delta": -0.0763,
          "percent_delta": -0.161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.28,
          "after": 1.1786,
          "delta": -0.1014,
          "percent_delta": -0.0792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.14,
          "delta": -0.01,
          "percent_delta": -0.0667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.319,
          "delta": -0.004,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.56,
          "after": 0.6107,
          "delta": 0.0507,
          "percent_delta": 0.0905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.5627,
          "delta": -0.0273,
          "percent_delta": -0.0463,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.448,
          "after": 0.4348,
          "delta": -0.0132,
          "percent_delta": -0.0295,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.647,
          "after": 0.6687,
          "delta": 0.0217,
          "percent_delta": 0.0335,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.56,
          "after": 0.6107,
          "delta": 0.0507,
          "percent_delta": 0.0905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.65,
          "after": 4.3389,
          "delta": -0.3111,
          "percent_delta": -0.0669,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 116
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1906,
        "predicted_3B": 0.0217,
        "predicted_AB": 4.3389,
        "predicted_AVG": 0.2843,
        "predicted_BB": 0.4037,
        "predicted_H": 1.2338,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1466,
        "predicted_OBP": 0.3453,
        "predicted_R": 0.6607,
        "predicted_RBI": 0.6087,
        "predicted_SLG": 0.4396,
        "predicted_SO": 0.6585
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1906,
          "after": 0.1906,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0217,
          "after": 0.0217,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3389,
          "after": 4.3389,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2717,
          "after": 0.2843,
          "delta": 0.0126,
          "percent_delta": 0.0464,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3977,
          "after": 0.4037,
          "delta": 0.006,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1786,
          "after": 1.2338,
          "delta": 0.0552,
          "percent_delta": 0.0468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.14,
          "after": 0.1466,
          "delta": 0.0066,
          "percent_delta": 0.0471,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3453,
          "delta": 0.0263,
          "percent_delta": 0.0824,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6107,
          "after": 0.6607,
          "delta": 0.05,
          "percent_delta": 0.0819,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5627,
          "after": 0.6087,
          "delta": 0.046,
          "percent_delta": 0.0817,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4348,
          "after": 0.4396,
          "delta": 0.0048,
          "percent_delta": 0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6687,
          "after": 0.6585,
          "delta": -0.0102,
          "percent_delta": -0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.1786,
          "after": 1.2338,
          "delta": 0.0552,
          "percent_delta": 0.0468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.65), rates preserved: AVG=0.280 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1906,
          "after": 0.0,
          "delta": -0.1906,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0217,
          "after": 0.0,
          "delta": -0.0217,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3389,
          "after": 4.0,
          "delta": -0.3389,
          "percent_delta": -0.0781,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4037,
          "after": 0.0,
          "delta": -0.4037,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2338,
          "after": 1.0,
          "delta": -0.2338,
          "percent_delta": -0.1895,
          "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.1466,
          "after": 0.0,
          "delta": -0.1466,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6087,
          "after": 1.0,
          "delta": 0.3913,
          "percent_delta": 0.6428,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6585,
          "after": 1.0,
          "delta": 0.3415,
          "percent_delta": 0.5186,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6087,
          "after": 1.0,
          "delta": 0.3913,
          "percent_delta": 0.6428,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4037,
          "after": 0.0,
          "delta": -0.4037,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6607,
          "after": 1.0,
          "delta": 0.3393,
          "percent_delta": 0.5135,
          "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.6607,
          "after": 1.0,
          "delta": 0.3393,
          "percent_delta": 0.5135,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1952,
        "predicted_3B": 0.0182,
        "predicted_BB": 0.5445,
        "predicted_H": 1.0057,
        "predicted_HR": 0.1417,
        "predicted_RBI": 0.5364,
        "predicted_SO": 0.6641
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1952,
          "delta": 0.1952,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0182,
          "delta": 0.0182,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5445,
          "delta": 0.5445,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0057,
          "delta": 0.0057,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1417,
          "delta": 0.1417,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5364,
          "delta": -0.4636,
          "percent_delta": -0.4636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6641,
          "delta": -0.3359,
          "percent_delta": -0.3359,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5445,
          "delta": 0.5445,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5364,
          "delta": -0.4636,
          "percent_delta": -0.4636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1952,
          "after": 0.0,
          "delta": -0.1952,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5445,
          "after": 1.0,
          "delta": 0.4555,
          "percent_delta": 0.8365,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0057,
          "after": 1.0,
          "delta": -0.0057,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1417,
          "after": 0.0,
          "delta": -0.1417,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.5364,
          "after": 1.0,
          "delta": 0.4636,
          "percent_delta": 0.8643,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6641,
          "after": 0.0,
          "delta": -0.6641,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5364,
          "after": 1.0,
          "delta": 0.4636,
          "percent_delta": 0.8643,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.6641,
          "after": 0.0,
          "delta": -0.6641,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.351,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.422,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2843,
          "after": 0.255,
          "delta": -0.0293,
          "percent_delta": -0.1031,
          "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.3453,
          "after": 0.351,
          "delta": 0.0057,
          "percent_delta": 0.0165,
          "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.4396,
          "after": 0.422,
          "delta": -0.0176,
          "percent_delta": -0.04,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "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": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2843,
        "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.3453,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4396,
        "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.2843,
          "delta": 0.0293,
          "percent_delta": 0.1151,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.351,
          "after": 0.3453,
          "delta": -0.0057,
          "percent_delta": -0.0163,
          "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.422,
          "after": 0.4396,
          "delta": 0.0176,
          "percent_delta": 0.0418,
          "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_AVG",
          "before": 0.255,
          "after": 0.2843,
          "delta": 0.0293,
          "percent_delta": 0.1151,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.3453,
          "delta": -0.0057,
          "percent_delta": -0.0163,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.198,
        "after": 0.0,
        "delta": -0.198,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.65,
        "after": 4.0,
        "delta": -0.65,
        "percent_delta": -0.1398,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.276,
        "after": 0.2843,
        "delta": 0.0083,
        "percent_delta": 0.0301,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.474,
        "after": 0.0,
        "delta": -0.474,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.28,
        "after": 2.0,
        "delta": 0.72,
        "percent_delta": 0.5625,
        "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.323,
        "after": 0.3453,
        "delta": 0.0223,
        "percent_delta": 0.069,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.56,
        "after": 1.0,
        "delta": 0.44,
        "percent_delta": 0.7857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.448,
        "after": 0.4396,
        "delta": -0.0084,
        "percent_delta": -0.0188,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.647,
        "after": 0.0,
        "delta": -0.647,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.28,
        "after": 2.0,
        "delta": 0.72,
        "percent_delta": 0.5625,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.65,
        "after": 4.0,
        "delta": -0.65,
        "percent_delta": -0.1398,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.198-
predicted_3B0.026-
predicted_AB4.650-
predicted_AVG0.276-
predicted_BB0.474-
predicted_H1.280-
predicted_HR0.150-
predicted_OBP0.323-
predicted_R0.560-
predicted_RBI0.590-
predicted_SLG0.448-
predicted_SO0.647-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.191-0.007
predicted_3B0.022-0.004
predicted_AB4.339-0.311
predicted_AVG0.272-0.004
predicted_BB0.398-0.076
predicted_H1.179-0.101
predicted_HBP0.002-
predicted_HR0.140-0.010
predicted_OBP0.319-0.004
predicted_R0.6110.051
predicted_RBI0.563-0.027
predicted_SLG0.435-0.013
predicted_SO0.6690.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.1910.000
predicted_3B0.0220.000
predicted_AB4.3390.000
predicted_AVG0.2840.013
predicted_BB0.4040.006
predicted_H1.2340.055
predicted_HBP0.0020.000
predicted_HR0.1470.007
predicted_OBP0.3450.026
predicted_R0.6610.050
predicted_RBI0.6090.046
predicted_SLG0.4400.005
predicted_SO0.658-0.010
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1950.195
3B0.0180.018
BB0.5440.544
H1.0060.006
HR0.1420.142
RBI0.536-0.464
SO0.664-0.336
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.195
3B0.000-0.018
AB4.0000.000
BB1.0000.456
H1.000-0.006
HR0.000-0.142
R1.0000.000
RBI1.0000.464
SO0.000-0.664
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.191
predicted_3B0.000-0.022
predicted_AB4.000-0.339
predicted_AVG0.255-0.029
predicted_BB0.000-0.404
predicted_H1.000-0.234
predicted_HR0.000-0.147
predicted_OBP0.3510.006
predicted_R1.0000.339
predicted_RBI1.0000.391
predicted_SLG0.422-0.018
predicted_SO1.0000.342
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.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: 116
Reference playing time: 4.650
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.0001.0003.0004.0000.0004.0000.19050.19050.38100.19050.04760.14290.00000.1905
last_100.2010-43.00015.0001.0000.0001.0004.00010.0000.0007.0000.34880.34880.44190.34880.02330.09300.00000.1628
season0.60116-433.000115.00023.0003.00013.00063.00065.00055.00075.0000.26560.34410.42260.26560.03000.14550.12700.1732
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1810
predicted_3B0.0160
predicted_AB3.9320
predicted_AVG0.2661
predicted_BB0.2980
predicted_H1.0460
predicted_HBP0.0020
predicted_HR0.1270
predicted_OBP0.3138
predicted_R0.6770
predicted_RBI0.5270
predicted_SLG0.4175
predicted_SO0.6970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19800.18100.1906model_form_blend
predicted_3B0.02600.01600.0217model_form_blend
predicted_AB4.65003.93204.3389model_form_blend
predicted_AVG0.27600.26610.2717model_form_blend
predicted_BB0.47400.29800.3977model_form_blend
predicted_H1.28001.04601.1786model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.15000.12700.1400model_form_blend
predicted_OBP0.32300.31380.3190model_form_blend
predicted_R0.56000.67700.6107model_form_blend
predicted_RBI0.59000.52700.5627model_form_blend
predicted_SLG0.44800.41750.4348model_form_blend
predicted_SO0.64700.69700.6687model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260909_COL@NYY
game_typefull
mlbID641355
playerID641355
playerNameCody Bellinger
posLF
startedTrue
startingPositionLF
teamNYY
teamID19
game_date2026-09-09
sl_k_percent15.9
sl_bb_percent11.2
sl_woba0.334
sl_xwoba0.339
sl_xba0.273
sl_xslg0.408
sl_sweet_spot_percent38.8
sl_barrel_batted_rate5.8
sl_hard_hit_percent36.2
sl_exit_velocity_avg89.0
sl_launch_angle_avg17.4
sl_whiff_percent20.0
sl_swing_percent46.8
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 20260910: 65
All-history rows before 20260910: 65
System season_avg: 0.2400
Data season_avg (2026 season-to-date): 0.2844
Diff (system - data): -0.0444
System opponent_avg: 0.2860
System season_avg diverges from 2026 season-to-date by -0.0444. 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.0710.0000.000Hitting_2B0.0770.000-0.0770.000
predicted_3B0.0360.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB3.4294.0003.000Hitting_AB3.4624.0000.5380.000
predicted_AVG0.2030.2500.333Hitting_AVG0.2840.250-0.0340.000
predicted_BB0.2860.0000.000Hitting_BB0.3380.000-0.3380.000
predicted_CS-0.0000.000BaseRunning_CS0.0620.000-0.0620.000
predicted_H0.6801.0001.000Hitting_H0.9851.0000.0150.000
predicted_HR0.1500.0000.000Hitting_HR0.1231.000-0.123-1.000
predicted_OBP0.2810.2500.333Hitting_OBP0.3440.250-0.0940.000
predicted_R0.5001.0000.000Hitting_R0.5851.0000.4150.000
predicted_RBI0.6500.0000.000Hitting_RBI0.3694.000-0.369-4.000
predicted_SLG0.3600.2500.333Hitting_SLG0.4221.000-0.172-0.750
predicted_SO1.0712.0001.000Hitting_SO0.9690.0001.0312.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_SO: 1.0710 -> 2.0000 (boost 0.9290, worse)
Biggest Deboostpredicted_RBI: 0.6500 -> 0.0000 (deboost -0.6500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_SLG: 0.3600 -> 0.3682 (boost 0.0082, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot32121predicted_SLG: 0.3682 -> 0.3905 (boost 0.0223, better)predicted_OBP: 0.2806 -> 0.2740 (deboost -0.0066, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82635predicted_RBI: 0.6585 -> 1.0000 (boost 0.3415, better)predicted_AB: 3.4510 -> 3.0000 (deboost -0.4510, worse)AB rounded to 3 (raw=3.45), rates preserved: AVG=0.227 HR/AB=0.043
6consistency_constraints11010predicted_R: 0.5142 -> 1.0000 (boost 0.4858, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.3359 (boost 0.3359, better)predicted_RBI: 1.0000 -> 0.4204 (deboost -0.5796, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61515predicted_H: 0.8437 -> 1.0000 (boost 0.1563, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context55050predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference32112predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_OBP: 0.3190 -> 0.2740 (deboost -0.0450, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "806146",
  "player_name": "George Lombard Jr.",
  "position": "SS",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.071,
        "predicted_3B": 0.036,
        "predicted_AB": 3.429,
        "predicted_AVG": 0.203,
        "predicted_BB": 0.286,
        "predicted_H": 0.68,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.281,
        "predicted_R": 0.5,
        "predicted_RBI": 0.65,
        "predicted_SLG": 0.36,
        "predicted_SO": 1.071
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0891,
        "predicted_3B": 0.0364,
        "predicted_AB": 3.451,
        "predicted_AVG": 0.2087,
        "predicted_BB": 0.2736,
        "predicted_H": 0.7105,
        "predicted_HBP": 0.072,
        "predicted_HR": 0.1407,
        "predicted_OBP": 0.2806,
        "predicted_R": 0.4753,
        "predicted_RBI": 0.6087,
        "predicted_SLG": 0.3682,
        "predicted_SO": 1.0772
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.071,
          "after": 0.0891,
          "delta": 0.0181,
          "percent_delta": 0.2549,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.036,
          "after": 0.0364,
          "delta": 0.0004,
          "percent_delta": 0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.429,
          "after": 3.451,
          "delta": 0.022,
          "percent_delta": 0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.2087,
          "delta": 0.0057,
          "percent_delta": 0.0281,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.286,
          "after": 0.2736,
          "delta": -0.0124,
          "percent_delta": -0.0434,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 0.7105,
          "delta": 0.0305,
          "percent_delta": 0.0449,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1407,
          "delta": -0.0093,
          "percent_delta": -0.062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2806,
          "delta": -0.0004,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5,
          "after": 0.4753,
          "delta": -0.0247,
          "percent_delta": -0.0494,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.65,
          "after": 0.6087,
          "delta": -0.0413,
          "percent_delta": -0.0635,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.36,
          "after": 0.3682,
          "delta": 0.0082,
          "percent_delta": 0.0228,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.071,
          "after": 1.0772,
          "delta": 0.0062,
          "percent_delta": 0.0058,
          "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.36,
          "after": 0.3682,
          "delta": 0.0082,
          "percent_delta": 0.0228,
          "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": 28
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0891,
        "predicted_3B": 0.0364,
        "predicted_AB": 3.451,
        "predicted_AVG": 0.2155,
        "predicted_BB": 0.2778,
        "predicted_H": 0.7438,
        "predicted_HBP": 0.072,
        "predicted_HR": 0.1473,
        "predicted_OBP": 0.274,
        "predicted_R": 0.5142,
        "predicted_RBI": 0.6585,
        "predicted_SLG": 0.3905,
        "predicted_SO": 1.0608
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0891,
          "after": 0.0891,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0364,
          "after": 0.0364,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.451,
          "after": 3.451,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2087,
          "after": 0.2155,
          "delta": 0.0068,
          "percent_delta": 0.0326,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2736,
          "after": 0.2778,
          "delta": 0.0042,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7105,
          "after": 0.7438,
          "delta": 0.0333,
          "percent_delta": 0.0469,
          "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.1407,
          "after": 0.1473,
          "delta": 0.0066,
          "percent_delta": 0.0469,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2806,
          "after": 0.274,
          "delta": -0.0066,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4753,
          "after": 0.5142,
          "delta": 0.0389,
          "percent_delta": 0.0818,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6087,
          "after": 0.6585,
          "delta": 0.0498,
          "percent_delta": 0.0818,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3682,
          "after": 0.3905,
          "delta": 0.0223,
          "percent_delta": 0.0606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0772,
          "after": 1.0608,
          "delta": -0.0164,
          "percent_delta": -0.0152,
          "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.3682,
          "after": 0.3905,
          "delta": 0.0223,
          "percent_delta": 0.0606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2806,
          "after": 0.274,
          "delta": -0.0066,
          "percent_delta": -0.0235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.45), rates preserved: AVG=0.227 HR/AB=0.043",
      "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.0891,
          "after": 0.0,
          "delta": -0.0891,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0364,
          "after": 0.0,
          "delta": -0.0364,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.451,
          "after": 3.0,
          "delta": -0.451,
          "percent_delta": -0.1307,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2778,
          "after": 0.0,
          "delta": -0.2778,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7438,
          "after": 1.0,
          "delta": 0.2562,
          "percent_delta": 0.3444,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.072,
          "after": 0.0,
          "delta": -0.072,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1473,
          "after": 0.0,
          "delta": -0.1473,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6585,
          "after": 1.0,
          "delta": 0.3415,
          "percent_delta": 0.5186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0608,
          "after": 1.0,
          "delta": -0.0608,
          "percent_delta": -0.0573,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6585,
          "after": 1.0,
          "delta": 0.3415,
          "percent_delta": 0.5186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.451,
          "after": 3.0,
          "delta": -0.451,
          "percent_delta": -0.1307,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5142,
          "after": 1.0,
          "delta": 0.4858,
          "percent_delta": 0.9448,
          "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.5142,
          "after": 1.0,
          "delta": 0.4858,
          "percent_delta": 0.9448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1485,
        "predicted_3B": 0.0153,
        "predicted_BB": 0.3359,
        "predicted_H": 0.8437,
        "predicted_HR": 0.1272,
        "predicted_RBI": 0.4204,
        "predicted_SO": 0.9746
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1485,
          "delta": 0.1485,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0153,
          "delta": 0.0153,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3359,
          "delta": 0.3359,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8437,
          "delta": -0.1563,
          "percent_delta": -0.1563,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1272,
          "delta": 0.1272,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4204,
          "delta": -0.5796,
          "percent_delta": -0.5796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9746,
          "delta": -0.0254,
          "percent_delta": -0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3359,
          "delta": 0.3359,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4204,
          "delta": -0.5796,
          "percent_delta": -0.5796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1485,
          "after": 0.0,
          "delta": -0.1485,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0153,
          "after": 0.0,
          "delta": -0.0153,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3359,
          "after": 0.0,
          "delta": -0.3359,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8437,
          "after": 1.0,
          "delta": 0.1563,
          "percent_delta": 0.1853,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1272,
          "after": 0.0,
          "delta": -0.1272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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.4204,
          "after": 0.0,
          "delta": -0.4204,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9746,
          "after": 1.0,
          "delta": 0.0254,
          "percent_delta": 0.0261,
          "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.8437,
          "after": 1.0,
          "delta": 0.1563,
          "percent_delta": 0.1853,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.41,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2155,
          "after": 0.246,
          "delta": 0.0305,
          "percent_delta": 0.1415,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.274,
          "after": 0.319,
          "delta": 0.045,
          "percent_delta": 0.1642,
          "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_SLG",
          "before": 0.3905,
          "after": 0.41,
          "delta": 0.0195,
          "percent_delta": 0.0499,
          "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": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "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": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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": 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_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2155,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.274,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3905,
        "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.246,
          "after": 0.2155,
          "delta": -0.0305,
          "percent_delta": -0.1239,
          "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.319,
          "after": 0.274,
          "delta": -0.045,
          "percent_delta": -0.1412,
          "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.41,
          "after": 0.3905,
          "delta": -0.0195,
          "percent_delta": -0.0475,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.274,
          "delta": -0.045,
          "percent_delta": -0.1412,
          "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.071,
        "after": 0.0,
        "delta": -0.071,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.036,
        "after": 0.0,
        "delta": -0.036,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.429,
        "after": 4.0,
        "delta": 0.571,
        "percent_delta": 0.1665,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.203,
        "after": 0.2155,
        "delta": 0.0125,
        "percent_delta": 0.0616,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.286,
        "after": 0.0,
        "delta": -0.286,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 1.0,
        "delta": 0.32,
        "percent_delta": 0.4706,
        "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.281,
        "after": 0.274,
        "delta": -0.007,
        "percent_delta": -0.0249,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.5,
        "after": 1.0,
        "delta": 0.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.65,
        "after": 0.0,
        "delta": -0.65,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.36,
        "after": 0.3905,
        "delta": 0.0305,
        "percent_delta": 0.0847,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.071,
        "after": 2.0,
        "delta": 0.929,
        "percent_delta": 0.8674,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.071,
        "after": 2.0,
        "delta": 0.929,
        "percent_delta": 0.8674,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.65,
        "after": 0.0,
        "delta": -0.65,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.071-
predicted_3B0.036-
predicted_AB3.429-
predicted_AVG0.203-
predicted_BB0.286-
predicted_H0.680-
predicted_HR0.150-
predicted_OBP0.281-
predicted_R0.500-
predicted_RBI0.650-
predicted_SLG0.360-
predicted_SO1.071-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0890.018
predicted_3B0.0360.000
predicted_AB3.4510.022
predicted_AVG0.2090.006
predicted_BB0.274-0.012
predicted_H0.7110.030
predicted_HBP0.072-
predicted_HR0.141-0.009
predicted_OBP0.281-0.000
predicted_R0.475-0.025
predicted_RBI0.609-0.041
predicted_SLG0.3680.008
predicted_SO1.0770.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.0890.000
predicted_3B0.0360.000
predicted_AB3.4510.000
predicted_AVG0.2150.007
predicted_BB0.2780.004
predicted_H0.7440.033
predicted_HBP0.0720.000
predicted_HR0.1470.007
predicted_OBP0.274-0.007
predicted_R0.5140.039
predicted_RBI0.6580.050
predicted_SLG0.3910.022
predicted_SO1.061-0.016
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.45), rates preserved: AVG=0.227 HR/AB=0.043

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1480.148
3B0.0150.015
BB0.3360.336
H0.844-0.156
HR0.1270.127
RBI0.420-0.580
SO0.975-0.025
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.148
3B0.000-0.015
AB3.0000.000
BB0.000-0.336
H1.0000.156
HR0.000-0.127
R0.000-1.000
RBI0.000-0.420
SO1.0000.025
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.089
predicted_3B0.000-0.036
predicted_AB3.000-0.451
predicted_AVG0.2460.030
predicted_BB0.000-0.278
predicted_H1.0000.256
predicted_HR0.000-0.147
predicted_OBP0.3190.045
predicted_R1.0000.486
predicted_RBI1.0000.342
predicted_SLG0.4100.019
predicted_SO1.000-0.061
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.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: 28
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0003.0001.0000.0001.0005.0002.0001.0006.0000.17650.25000.41180.17650.05880.29410.05880.3529
last_100.2010-33.0005.0001.0001.0001.0006.0002.0002.00013.0000.15150.21620.33330.15150.03030.18180.06060.3939
season0.6028-96.00023.0002.0001.0003.00011.00014.0008.00030.0000.23960.29910.37500.23960.03120.11460.08330.3125
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1180
predicted_3B0.0370
predicted_AB3.4860
predicted_AVG0.2178
predicted_BB0.2540
predicted_H0.7590
predicted_HBP0.0720
predicted_HR0.1260
predicted_OBP0.2799
predicted_R0.4360
predicted_RBI0.5430
predicted_SLG0.3813
predicted_SO1.0870
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07100.11800.0891model_form_blend
predicted_3B0.03600.03700.0364model_form_blend
predicted_AB3.42903.48603.4510model_form_blend
predicted_AVG0.20300.21780.2087model_form_blend
predicted_BB0.28600.25400.2736model_form_blend
predicted_H0.68000.75900.7105model_form_blend
predicted_HBP-0.07200.0720form_only
predicted_HR0.15000.12600.1407model_form_blend
predicted_OBP0.28100.27990.2806model_form_blend
predicted_R0.50000.43600.4753model_form_blend
predicted_RBI0.65000.54300.6087model_form_blend
predicted_SLG0.36000.38130.3682model_form_blend
predicted_SO1.07101.08701.0772model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_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_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI4
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260909_COL@NYY
game_typefull
mlbID806146
playerID806146
playerNameGeorge Lombard Jr.
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-09-09
sl_k_percent29.1
sl_bb_percent7.8
sl_woba0.288
sl_xwoba0.283
sl_xba0.231
sl_xslg0.328
sl_sweet_spot_percent37.5
sl_barrel_batted_rate6.3
sl_hard_hit_percent34.4
sl_exit_velocity_avg85.5
sl_launch_angle_avg4.5
sl_whiff_percent25.3
sl_swing_percent44.3
Anthony Volpe (683011) · BATTER · 2B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 195
All-history rows before 20260910: 195
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2546
Diff (system - data): -0.0166
System opponent_avg: 0.2380
System season_avg diverges from 2026 season-to-date by -0.0166. 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.1700.0000.000Hitting_2B0.1900.000-0.1900.000
predicted_3B0.0190.0000.000Hitting_3B0.0210.000-0.0210.000
predicted_AB3.1703.0003.000Hitting_AB3.3233.000-0.3230.000
predicted_AVG0.2380.3330.333Hitting_AVG0.2550.0000.0790.333
predicted_BB0.4150.0001.000Hitting_BB0.4460.000-0.4460.000
predicted_CS-0.0000.000BaseRunning_CS0.0720.000-0.0720.000
predicted_H0.7551.0001.000Hitting_H0.8460.0000.1541.000
predicted_HR0.0190.0000.000Hitting_HR0.0310.000-0.0310.000
predicted_OBP0.3260.3330.500Hitting_OBP0.3420.000-0.0090.333
predicted_R0.3771.0000.000Hitting_R0.4460.0000.5541.000
predicted_RBI0.3210.0000.000Hitting_RBI0.3900.000-0.3900.000
predicted_SB-0.0000.000BaseRunning_SB0.1490.000-0.1490.000
predicted_SLG0.3210.3330.333Hitting_SLG0.3520.000-0.0190.333
predicted_SO0.8492.0001.000Hitting_SO0.8720.0001.1282.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics3
Deboosted Metrics5
Better Metrics2
Worse Metrics6
Biggest Boostpredicted_SO: 0.8490 -> 2.0000 (boost 1.1510, worse)
Biggest Deboostpredicted_BB: 0.4150 -> 0.0000 (deboost -0.4150, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 3.1700 -> 3.2450 (boost 0.0750, better)predicted_OBP: 0.3260 -> 0.3034 (deboost -0.0226, worse)Final model input calibrated 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.3122 -> 0.3237 (boost 0.0115, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_H: 0.7667 -> 1.0000 (boost 0.2333, better)predicted_BB: 0.3722 -> 0.0000 (deboost -0.3722, worse)AB rounded to 3 (raw=3.25), rates preserved: AVG=0.249 HR/AB=0.007
6consistency_constraints10101-predicted_R: 0.4025 -> 0.0000 (deboost -0.4025, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4260 (boost 0.4260, better)predicted_H: 1.0000 -> 0.7953 (deboost -0.2047, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_BB: 0.4260 -> 1.0000 (boost 0.5740, better)predicted_RBI: 0.3688 -> 0.0000 (deboost -0.3688, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context43131predicted_SLG: 0.3237 -> 0.3790 (boost 0.0553, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference22011predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3790 -> 0.3237 (deboost -0.0553, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683011",
  "player_name": "Anthony Volpe",
  "position": "2B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.17,
        "predicted_3B": 0.019,
        "predicted_AB": 3.17,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.415,
        "predicted_H": 0.755,
        "predicted_HR": 0.019,
        "predicted_OBP": 0.326,
        "predicted_R": 0.377,
        "predicted_RBI": 0.321,
        "predicted_SLG": 0.321,
        "predicted_SO": 0.849
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1827,
        "predicted_3B": 0.0161,
        "predicted_AB": 3.245,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.3666,
        "predicted_H": 0.7324,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.0219,
        "predicted_OBP": 0.3034,
        "predicted_R": 0.3721,
        "predicted_RBI": 0.3407,
        "predicted_SLG": 0.3122,
        "predicted_SO": 0.8728
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.17,
          "after": 0.1827,
          "delta": 0.0127,
          "percent_delta": 0.0747,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0161,
          "delta": -0.0029,
          "percent_delta": -0.1526,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.17,
          "after": 3.245,
          "delta": 0.075,
          "percent_delta": 0.0237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.226,
          "delta": -0.012,
          "percent_delta": -0.0504,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.415,
          "after": 0.3666,
          "delta": -0.0484,
          "percent_delta": -0.1166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.755,
          "after": 0.7324,
          "delta": -0.0226,
          "percent_delta": -0.0299,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.019,
          "after": 0.0219,
          "delta": 0.0029,
          "percent_delta": 0.1526,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3034,
          "delta": -0.0226,
          "percent_delta": -0.0693,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.377,
          "after": 0.3721,
          "delta": -0.0049,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.321,
          "after": 0.3407,
          "delta": 0.0197,
          "percent_delta": 0.0614,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.321,
          "after": 0.3122,
          "delta": -0.0088,
          "percent_delta": -0.0274,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.849,
          "after": 0.8728,
          "delta": 0.0238,
          "percent_delta": 0.028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.17,
          "after": 3.245,
          "delta": 0.075,
          "percent_delta": 0.0237,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3034,
          "delta": -0.0226,
          "percent_delta": -0.0693,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 53
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1827,
        "predicted_3B": 0.0161,
        "predicted_AB": 3.245,
        "predicted_AVG": 0.2363,
        "predicted_BB": 0.3722,
        "predicted_H": 0.7667,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.0229,
        "predicted_OBP": 0.3148,
        "predicted_R": 0.4025,
        "predicted_RBI": 0.3686,
        "predicted_SLG": 0.3237,
        "predicted_SO": 0.8595
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1827,
          "after": 0.1827,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0161,
          "after": 0.0161,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.245,
          "after": 3.245,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2363,
          "delta": 0.0103,
          "percent_delta": 0.0456,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3666,
          "after": 0.3722,
          "delta": 0.0056,
          "percent_delta": 0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7324,
          "after": 0.7667,
          "delta": 0.0343,
          "percent_delta": 0.0468,
          "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.0219,
          "after": 0.0229,
          "delta": 0.001,
          "percent_delta": 0.0457,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3034,
          "after": 0.3148,
          "delta": 0.0114,
          "percent_delta": 0.0376,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3721,
          "after": 0.4025,
          "delta": 0.0304,
          "percent_delta": 0.0817,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3407,
          "after": 0.3686,
          "delta": 0.0279,
          "percent_delta": 0.0819,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3122,
          "after": 0.3237,
          "delta": 0.0115,
          "percent_delta": 0.0368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8728,
          "after": 0.8595,
          "delta": -0.0133,
          "percent_delta": -0.0152,
          "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.3122,
          "after": 0.3237,
          "delta": 0.0115,
          "percent_delta": 0.0368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.25), rates preserved: AVG=0.249 HR/AB=0.007",
      "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.1827,
          "after": 0.0,
          "delta": -0.1827,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0161,
          "after": 0.0,
          "delta": -0.0161,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.245,
          "after": 3.0,
          "delta": -0.245,
          "percent_delta": -0.0755,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3722,
          "after": 0.0,
          "delta": -0.3722,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7667,
          "after": 1.0,
          "delta": 0.2333,
          "percent_delta": 0.3043,
          "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.0229,
          "after": 0.0,
          "delta": -0.0229,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3686,
          "after": 0.0,
          "delta": -0.3686,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8595,
          "after": 1.0,
          "delta": 0.1405,
          "percent_delta": 0.1635,
          "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.7667,
          "after": 1.0,
          "delta": 0.2333,
          "percent_delta": 0.3043,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3722,
          "after": 0.0,
          "delta": -0.3722,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4025,
          "after": 0.0,
          "delta": -0.4025,
          "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.4025,
          "after": 0.0,
          "delta": -0.4025,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1534,
        "predicted_3B": 0.0139,
        "predicted_BB": 0.426,
        "predicted_H": 0.7953,
        "predicted_HR": 0.0812,
        "predicted_RBI": 0.3688,
        "predicted_SO": 0.8125
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1534,
          "delta": 0.1534,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0139,
          "delta": 0.0139,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.426,
          "delta": 0.426,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7953,
          "delta": -0.2047,
          "percent_delta": -0.2047,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0812,
          "delta": 0.0812,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3688,
          "delta": 0.3688,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8125,
          "delta": -0.1875,
          "percent_delta": -0.1875,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.426,
          "delta": 0.426,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7953,
          "delta": -0.2047,
          "percent_delta": -0.2047,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1534,
          "after": 0.0,
          "delta": -0.1534,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0139,
          "after": 0.0,
          "delta": -0.0139,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.426,
          "after": 1.0,
          "delta": 0.574,
          "percent_delta": 1.3474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7953,
          "after": 1.0,
          "delta": 0.2047,
          "percent_delta": 0.2574,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0812,
          "after": 0.0,
          "delta": -0.0812,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3688,
          "after": 0.0,
          "delta": -0.3688,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8125,
          "after": 1.0,
          "delta": 0.1875,
          "percent_delta": 0.2308,
          "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.426,
          "after": 1.0,
          "delta": 0.574,
          "percent_delta": 1.3474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3688,
          "after": 0.0,
          "delta": -0.3688,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.34,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.379,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2363,
          "after": 0.247,
          "delta": 0.0107,
          "percent_delta": 0.0453,
          "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.3148,
          "after": 0.34,
          "delta": 0.0252,
          "percent_delta": 0.0801,
          "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.3237,
          "after": 0.379,
          "delta": 0.0553,
          "percent_delta": 0.1708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3237,
          "after": 0.379,
          "delta": 0.0553,
          "percent_delta": 0.1708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2363,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3148,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3237,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2363,
          "delta": -0.0107,
          "percent_delta": -0.0435,
          "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.34,
          "after": 0.3148,
          "delta": -0.0252,
          "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_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.3237,
          "delta": -0.0553,
          "percent_delta": -0.1459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3237,
          "delta": -0.0553,
          "percent_delta": -0.1459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.019,
        "after": 0.0,
        "delta": -0.019,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.17,
        "after": 3.0,
        "delta": -0.17,
        "percent_delta": -0.0536,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.238,
        "after": 0.2363,
        "delta": -0.0017,
        "percent_delta": -0.0071,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.415,
        "after": 0.0,
        "delta": -0.415,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.755,
        "after": 1.0,
        "delta": 0.245,
        "percent_delta": 0.3245,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.019,
        "after": 0.0,
        "delta": -0.019,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.326,
        "after": 0.3148,
        "delta": -0.0112,
        "percent_delta": -0.0344,
        "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.321,
        "after": 0.0,
        "delta": -0.321,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.321,
        "after": 0.3237,
        "delta": 0.0027,
        "percent_delta": 0.0084,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.849,
        "after": 2.0,
        "delta": 1.151,
        "percent_delta": 1.3557,
        "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.849,
        "after": 2.0,
        "delta": 1.151,
        "percent_delta": 1.3557,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.415,
        "after": 0.0,
        "delta": -0.415,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.170-
predicted_3B0.019-
predicted_AB3.170-
predicted_AVG0.238-
predicted_BB0.415-
predicted_H0.755-
predicted_HR0.019-
predicted_OBP0.326-
predicted_R0.377-
predicted_RBI0.321-
predicted_SLG0.321-
predicted_SO0.849-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1830.013
predicted_3B0.016-0.003
predicted_AB3.2450.075
predicted_AVG0.226-0.012
predicted_BB0.367-0.048
predicted_H0.732-0.023
predicted_HBP0.004-
predicted_HR0.0220.003
predicted_OBP0.303-0.023
predicted_R0.372-0.005
predicted_RBI0.3410.020
predicted_SLG0.312-0.009
predicted_SO0.8730.024
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1830.000
predicted_3B0.0160.000
predicted_AB3.2450.000
predicted_AVG0.2360.010
predicted_BB0.3720.006
predicted_H0.7670.034
predicted_HBP0.0040.000
predicted_HR0.0230.001
predicted_OBP0.3150.011
predicted_R0.4030.030
predicted_RBI0.3690.028
predicted_SLG0.3240.012
predicted_SO0.860-0.013
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1530.153
3B0.0140.014
BB0.4260.426
H0.795-0.205
HR0.0810.081
RBI0.3690.369
SO0.812-0.188
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.153
3B0.000-0.014
AB3.0000.000
BB1.0000.574
H1.0000.205
HR0.000-0.081
R0.0000.000
RBI0.000-0.369
SO1.0000.188
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.183
predicted_3B0.000-0.016
predicted_AB3.000-0.245
predicted_AVG0.2470.011
predicted_BB0.000-0.372
predicted_H1.0000.233
predicted_HR0.000-0.023
predicted_OBP0.3400.025
predicted_R0.000-0.403
predicted_RBI0.000-0.369
predicted_SLG0.3790.055
predicted_SO1.0000.140
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 53
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.0002.0002.0000.0005.0000.10530.10530.15790.10530.00000.10530.00000.2632
last_100.2010-31.0006.0003.0000.0000.0004.0002.0002.00010.0000.19350.24240.29030.19350.00000.12900.06450.3226
season0.6053-168.00040.0009.0001.0001.00017.00020.00022.00045.0000.23810.32630.32140.23810.00600.10120.13100.2679
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2010
predicted_3B0.0120
predicted_AB3.3530
predicted_AVG0.2088
predicted_BB0.2970
predicted_H0.7000
predicted_HBP0.0040
predicted_HR0.0260
predicted_OBP0.2708
predicted_R0.3650
predicted_RBI0.3690
predicted_SLG0.2995
predicted_SO0.9070
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17000.20100.1827model_form_blend
predicted_3B0.01900.01200.0161model_form_blend
predicted_AB3.17003.35303.2450model_form_blend
predicted_AVG0.23800.20880.2260model_form_blend
predicted_BB0.41500.29700.3666model_form_blend
predicted_H0.75500.70000.7324model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.01900.02600.0219model_form_blend
predicted_OBP0.32600.27080.3034model_form_blend
predicted_R0.37700.36500.3721model_form_blend
predicted_RBI0.32100.36900.3407model_form_blend
predicted_SLG0.32100.29950.3122model_form_blend
predicted_SO0.84900.90700.8728model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date195
Season rows before report date195
Report year2026
Profile rows used53
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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
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_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260801_NYY@CHC
game_typefull
mlbID683011
playerID683011
playerNameAnthony Volpe
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-08-01
game_pk824649.0
sl_k_percent23.2
sl_bb_percent11.3
sl_woba0.294
sl_xwoba0.29
sl_xba0.231
sl_xslg0.315
sl_sweet_spot_percent32.3
sl_barrel_batted_rate4.0
sl_hard_hit_percent35.4
sl_exit_velocity_avg87.8
sl_launch_angle_avg12.3
sl_whiff_percent25.7
sl_swing_percent44.6
at_bat_number47.0
ab_pitcher656849.0
ab_pitcher_namePeterson, David
ab_home_teamCHC
ab_away_teamNYY
ab_game_typeR
ab_standR
ab_p_throwsL
ab_inning7.0
ab_inning_topbotTop
ab_outs_when_up0.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start1.0
ab_away_score_start1.0
ab_bat_score_start1.0
ab_fld_score_start1.0
ab_eventfield_out
ab_event_descriptionAnthony Volpe grounds out, second baseman Nico Hoerner to first baseman Michael Busch.
ab_event_typeX
ab_bb_typeground_ball
ab_hit_location4.0
ab_pitch_type_lastSI
ab_pitch_name_lastSinker
ab_zone_last6.0
ab_launch_speed_last95.3
ab_launch_angle_last-1.0
ab_hit_distance_last40.0
ab_estimated_ba_last0.317
ab_estimated_woba_last0.292
ab_estimated_slg_last0.348
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end0.0
ab_home_score_end1.0
ab_away_score_end1.0
ab_bat_score_end1.0
ab_fld_score_end1.0
ab_pitch_count2.0
ab_release_speed_avg89.80000000000001
ab_release_spin_rate_avg2075.0
ab_effective_speed_avg91.6
ab_launch_speed_avg95.3
ab_launch_angle_avg-1.0
ab_delta_run_exp_avg-0.13
ab_delta_home_win_exp_avg0.0195
ab_delta_pitcher_run_exp_avg0.13
ab_bat_speed_avg72.1
ab_swing_length_avg7.2
ab_launch_speed_max95.3
ab_hit_distance_sc_max40.0
ab_release_speed_max91.2
ab_release_spin_rate_max2084.0
ab_release_speed_min88.4
ab_release_spin_rate_min2066.0
ab_delta_run_exp_sum-0.26
ab_delta_home_win_exp_sum0.039
ab_delta_pitcher_run_exp_sum0.26
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Ryan McMahon (641857) · BATTER · 3B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 320
All-history rows before 20260910: 320
System season_avg: 0.2150
Data season_avg (2026 season-to-date): 0.2220
Diff (system - data): -0.0070
System opponent_avg: 0.1430

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1190.0000.000Hitting_2B0.1440.000-0.1440.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8614.0003.000Hitting_AB3.0974.0000.9030.000
predicted_AVG0.2260.5000.333Hitting_AVG0.2220.0000.2780.500
predicted_BB0.2480.0000.000Hitting_BB0.2810.000-0.2810.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H0.6002.0001.000Hitting_H0.6880.0001.3122.000
predicted_HR0.0802.0000.000Hitting_HR0.1060.0001.8942.000
predicted_OBP0.2600.5000.333Hitting_OBP0.2890.0000.2110.500
predicted_R0.2571.0000.000Hitting_R0.3160.0000.6841.000
predicted_RBI0.3103.0000.000Hitting_RBI0.3720.0002.6283.000
predicted_SLG0.3412.0000.333Hitting_SLG0.3710.0001.6292.000
predicted_SO0.9501.0001.000Hitting_SO1.0031.000-0.0030.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_RBI: 0.3100 -> 3.0000 (boost 2.6900, better)
Biggest Deboostpredicted_BB: 0.2480 -> 0.0000 (deboost -0.2480, 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.3410 -> 0.3248 (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_snapshot22020predicted_OBP: 0.2541 -> 0.2709 (boost 0.0168, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.6103 -> 1.0000 (boost 0.3897, better)predicted_RBI: 0.3271 -> 0.0000 (deboost -0.3271, worse)AB rounded to 3 (raw=2.89), rates preserved: AVG=0.223 HR/AB=0.027
6consistency_constraints10101-predicted_R: 0.2418 -> 0.0000 (deboost -0.2418, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.3787 (boost 0.3787, better)predicted_H: 1.0000 -> 0.7561 (deboost -0.2439, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation51414predicted_H: 0.7561 -> 1.0000 (boost 0.2439, better)predicted_RBI: 0.3787 -> 0.0000 (deboost -0.3787, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context33030predicted_SLG: 0.3345 -> 0.4130 (boost 0.0785, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference55050predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.4130 -> 0.3345 (deboost -0.0785, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "641857",
  "player_name": "Ryan McMahon",
  "position": "3B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.119,
        "predicted_3B": 0.0,
        "predicted_AB": 2.861,
        "predicted_AVG": 0.226,
        "predicted_BB": 0.248,
        "predicted_H": 0.6,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.26,
        "predicted_R": 0.257,
        "predicted_RBI": 0.31,
        "predicted_SLG": 0.341,
        "predicted_SO": 0.95
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1258,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8941,
        "predicted_AVG": 0.2109,
        "predicted_BB": 0.2348,
        "predicted_H": 0.583,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.0736,
        "predicted_OBP": 0.2541,
        "predicted_R": 0.2235,
        "predicted_RBI": 0.3024,
        "predicted_SLG": 0.3248,
        "predicted_SO": 0.9347
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.1258,
          "delta": 0.0068,
          "percent_delta": 0.0571,
          "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.861,
          "after": 2.8941,
          "delta": 0.0331,
          "percent_delta": 0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2109,
          "delta": -0.0151,
          "percent_delta": -0.0668,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.248,
          "after": 0.2348,
          "delta": -0.0132,
          "percent_delta": -0.0532,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6,
          "after": 0.583,
          "delta": -0.017,
          "percent_delta": -0.0283,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0736,
          "delta": -0.0064,
          "percent_delta": -0.08,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.26,
          "after": 0.2541,
          "delta": -0.0059,
          "percent_delta": -0.0227,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.257,
          "after": 0.2235,
          "delta": -0.0335,
          "percent_delta": -0.1304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.31,
          "after": 0.3024,
          "delta": -0.0076,
          "percent_delta": -0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.341,
          "after": 0.3248,
          "delta": -0.0162,
          "percent_delta": -0.0475,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.95,
          "after": 0.9347,
          "delta": -0.0153,
          "percent_delta": -0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.341,
          "after": 0.3248,
          "delta": -0.0162,
          "percent_delta": -0.0475,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 101
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1258,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8941,
        "predicted_AVG": 0.2109,
        "predicted_BB": 0.2384,
        "predicted_H": 0.6103,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.0771,
        "predicted_OBP": 0.2709,
        "predicted_R": 0.2418,
        "predicted_RBI": 0.3271,
        "predicted_SLG": 0.3345,
        "predicted_SO": 0.9205
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1258,
          "after": 0.1258,
          "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.8941,
          "after": 2.8941,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2109,
          "after": 0.2109,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2348,
          "after": 0.2384,
          "delta": 0.0036,
          "percent_delta": 0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.583,
          "after": 0.6103,
          "delta": 0.0273,
          "percent_delta": 0.0468,
          "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.0736,
          "after": 0.0771,
          "delta": 0.0035,
          "percent_delta": 0.0476,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2541,
          "after": 0.2709,
          "delta": 0.0168,
          "percent_delta": 0.0661,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2235,
          "after": 0.2418,
          "delta": 0.0183,
          "percent_delta": 0.0819,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3024,
          "after": 0.3271,
          "delta": 0.0247,
          "percent_delta": 0.0817,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3248,
          "after": 0.3345,
          "delta": 0.0097,
          "percent_delta": 0.0299,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9347,
          "after": 0.9205,
          "delta": -0.0142,
          "percent_delta": -0.0152,
          "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.2541,
          "after": 0.2709,
          "delta": 0.0168,
          "percent_delta": 0.0661,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.89), rates preserved: AVG=0.223 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.1258,
          "after": 0.0,
          "delta": -0.1258,
          "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.8941,
          "after": 3.0,
          "delta": 0.1059,
          "percent_delta": 0.0366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2384,
          "after": 0.0,
          "delta": -0.2384,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6103,
          "after": 1.0,
          "delta": 0.3897,
          "percent_delta": 0.6385,
          "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.0771,
          "after": 0.0,
          "delta": -0.0771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3271,
          "after": 0.0,
          "delta": -0.3271,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9205,
          "after": 1.0,
          "delta": 0.0795,
          "percent_delta": 0.0864,
          "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.6103,
          "after": 1.0,
          "delta": 0.3897,
          "percent_delta": 0.6385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3271,
          "after": 0.0,
          "delta": -0.3271,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2418,
          "after": 0.0,
          "delta": -0.2418,
          "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.2418,
          "after": 0.0,
          "delta": -0.2418,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1477,
        "predicted_3B": 0.0088,
        "predicted_BB": 0.333,
        "predicted_H": 0.7561,
        "predicted_HR": 0.1275,
        "predicted_RBI": 0.3787,
        "predicted_SO": 0.9801
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1477,
          "delta": 0.1477,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0088,
          "delta": 0.0088,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.333,
          "delta": 0.333,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7561,
          "delta": -0.2439,
          "percent_delta": -0.2439,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1275,
          "delta": 0.1275,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3787,
          "delta": 0.3787,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9801,
          "delta": -0.0199,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3787,
          "delta": 0.3787,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7561,
          "delta": -0.2439,
          "percent_delta": -0.2439,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1477,
          "after": 0.0,
          "delta": -0.1477,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0088,
          "after": 0.0,
          "delta": -0.0088,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.333,
          "after": 0.0,
          "delta": -0.333,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7561,
          "after": 1.0,
          "delta": 0.2439,
          "percent_delta": 0.3226,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1275,
          "after": 0.0,
          "delta": -0.1275,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3787,
          "after": 0.0,
          "delta": -0.3787,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9801,
          "after": 1.0,
          "delta": 0.0199,
          "percent_delta": 0.0203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7561,
          "after": 1.0,
          "delta": 0.2439,
          "percent_delta": 0.3226,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3787,
          "after": 0.0,
          "delta": -0.3787,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.413,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.239,
          "delta": 0.0281,
          "percent_delta": 0.1332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2709,
          "after": 0.317,
          "delta": 0.0461,
          "percent_delta": 0.1702,
          "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.3345,
          "after": 0.413,
          "delta": 0.0785,
          "percent_delta": 0.2347,
          "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.3345,
          "after": 0.413,
          "delta": 0.0785,
          "percent_delta": 0.2347,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 2.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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 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": 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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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_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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2109,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 2.0,
        "predicted_OBP": 0.2709,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3345,
        "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.239,
          "after": 0.2109,
          "delta": -0.0281,
          "percent_delta": -0.1177,
          "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": 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.317,
          "after": 0.2709,
          "delta": -0.0461,
          "percent_delta": -0.1454,
          "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": 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.3345,
          "delta": -0.0785,
          "percent_delta": -0.19,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.413,
          "after": 0.3345,
          "delta": -0.0785,
          "percent_delta": -0.19,
          "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.861,
        "after": 4.0,
        "delta": 1.139,
        "percent_delta": 0.3981,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.226,
        "after": 0.2109,
        "delta": -0.0151,
        "percent_delta": -0.0668,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.248,
        "after": 0.0,
        "delta": -0.248,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.6,
        "after": 2.0,
        "delta": 1.4,
        "percent_delta": 2.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 2.0,
        "delta": 1.92,
        "percent_delta": 24.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.26,
        "after": 0.2709,
        "delta": 0.0109,
        "percent_delta": 0.0419,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.257,
        "after": 1.0,
        "delta": 0.743,
        "percent_delta": 2.8911,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.31,
        "after": 3.0,
        "delta": 2.69,
        "percent_delta": 8.6774,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.341,
        "after": 0.3345,
        "delta": -0.0065,
        "percent_delta": -0.0191,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.95,
        "after": 1.0,
        "delta": 0.05,
        "percent_delta": 0.0526,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.31,
        "after": 3.0,
        "delta": 2.69,
        "percent_delta": 8.6774,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.248,
        "after": 0.0,
        "delta": -0.248,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.119-
predicted_3B0.000-
predicted_AB2.861-
predicted_AVG0.226-
predicted_BB0.248-
predicted_H0.600-
predicted_HR0.080-
predicted_OBP0.260-
predicted_R0.257-
predicted_RBI0.310-
predicted_SLG0.341-
predicted_SO0.950-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1260.007
predicted_3B0.0000.000
predicted_AB2.8940.033
predicted_AVG0.211-0.015
predicted_BB0.235-0.013
predicted_H0.583-0.017
predicted_HBP0.008-
predicted_HR0.074-0.006
predicted_OBP0.254-0.006
predicted_R0.224-0.034
predicted_RBI0.302-0.008
predicted_SLG0.325-0.016
predicted_SO0.935-0.015
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1260.000
predicted_3B0.0000.000
predicted_AB2.8940.000
predicted_AVG0.2110.000
predicted_BB0.2380.004
predicted_H0.6100.027
predicted_HBP0.0080.000
predicted_HR0.0770.004
predicted_OBP0.2710.017
predicted_R0.2420.018
predicted_RBI0.3270.025
predicted_SLG0.3350.010
predicted_SO0.920-0.014
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1480.148
3B0.0090.009
BB0.3330.333
H0.756-0.244
HR0.1280.128
RBI0.3790.379
SO0.980-0.020
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.148
3B0.000-0.009
AB3.0000.000
BB0.000-0.333
H1.0000.244
HR0.000-0.128
R0.0000.000
RBI0.000-0.379
SO1.0000.020
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.126
predicted_3B0.000-0.000
predicted_AB3.0000.106
predicted_AVG0.2390.028
predicted_BB0.000-0.238
predicted_H1.0000.390
predicted_HR0.000-0.077
predicted_OBP0.3170.046
predicted_R0.000-0.242
predicted_RBI0.000-0.327
predicted_SLG0.4130.078
predicted_SO1.0000.080
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR2.0002.000
PA4.000-
R1.0001.000
RBI3.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: 101
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0002.0001.0000.0000.0001.0000.0000.0004.0000.13330.13330.20000.13330.00000.06670.00000.2667
last_100.2010-27.0004.0001.0000.0000.0002.0000.0003.0009.0000.14810.23330.18520.14820.00000.07410.11110.3333
season0.60101-289.00062.00012.0000.00010.00033.00026.00025.00096.0000.21450.27850.35990.21450.03460.11420.08650.3322
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1350
predicted_3B0.0010
predicted_AB2.9390
predicted_AVG0.1904
predicted_BB0.2170
predicted_H0.5600
predicted_HBP0.0080
predicted_HR0.0650
predicted_OBP0.2461
predicted_R0.1780
predicted_RBI0.2920
predicted_SLG0.3029
predicted_SO0.9140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11900.13500.1258model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.86102.93902.8941model_form_blend
predicted_AVG0.22600.19040.2109model_form_blend
predicted_BB0.24800.21700.2348model_form_blend
predicted_H0.60000.56000.5830model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.08000.06500.0736model_form_blend
predicted_OBP0.26000.24610.2541model_form_blend
predicted_R0.25700.17800.2235model_form_blend
predicted_RBI0.31000.29200.3024model_form_blend
predicted_SLG0.34100.30290.3248model_form_blend
predicted_SO0.95000.91400.9347model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B0
HR2
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.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260909_COL@NYY
game_typefull
mlbID641857
playerID641857
playerNameRyan McMahon
pos3B
startedTrue
startingPosition3B
teamNYY
teamID19
game_date2026-09-09
sl_k_percent29.8
sl_bb_percent8.1
sl_woba0.287
sl_xwoba0.304
sl_xba0.235
sl_xslg0.39
sl_sweet_spot_percent32.8
sl_barrel_batted_rate9.2
sl_hard_hit_percent47.2
sl_exit_velocity_avg90.9
sl_launch_angle_avg13.2
sl_whiff_percent30.9
sl_swing_percent45.9
Austin Wells (669224) · BATTER · C · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 308
All-history rows before 20260910: 308
System season_avg: 0.1820
Data season_avg (2026 season-to-date): 0.1884
Diff (system - data): -0.0064
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.0650.0000.000Hitting_2B0.0680.000-0.0680.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8063.0003.000Hitting_AB3.0322.000-0.0321.000
predicted_AVG0.1660.0000.000Hitting_AVG0.1880.000-0.1880.000
predicted_BB0.3430.0000.000Hitting_BB0.4091.000-0.409-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4000.0000.000Hitting_H0.5710.000-0.5710.000
predicted_HR0.0800.0000.000Hitting_HR0.1140.000-0.1140.000
predicted_OBP0.2830.0000.000Hitting_OBP0.2880.333-0.288-0.333
predicted_R0.2870.0000.000Hitting_R0.3380.000-0.3380.000
predicted_RBI0.2600.0000.000Hitting_RBI0.2530.000-0.2530.000
predicted_SLG0.2980.0000.000Hitting_SLG0.3230.000-0.3230.000
predicted_SO0.8701.0001.000Hitting_SO0.8800.0000.1201.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.8060 -> 3.0000 (boost 0.1940, 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_blend10101-predicted_SLG: 0.2980 -> 0.2922 (deboost -0.0058, worse)Final model input calibrated 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.2804 -> 0.2601 (deboost -0.0203, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.4361 -> 1.0000 (boost 0.5639, better)predicted_BB: 0.3920 -> 0.0000 (deboost -0.3920, worse)AB rounded to 3 (raw=2.81), rates preserved: AVG=0.164 HR/AB=0.033
6consistency_constraints10101-predicted_R: 0.3211 -> 0.0000 (deboost -0.3211, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4046 (boost 0.4046, better)predicted_H: 1.0000 -> 0.6850 (deboost -0.3150, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61506predicted_SO: 0.8636 -> 1.0000 (boost 0.1364, worse)predicted_H: 0.6850 -> 0.0000 (deboost -0.6850, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3870 -> 0.2770 (deboost -0.1100, 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.065,
        "predicted_3B": 0.0,
        "predicted_AB": 2.806,
        "predicted_AVG": 0.166,
        "predicted_BB": 0.343,
        "predicted_H": 0.4,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.283,
        "predicted_R": 0.287,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.298,
        "predicted_SO": 0.87
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0569,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7919,
        "predicted_AVG": 0.1627,
        "predicted_BB": 0.3861,
        "predicted_H": 0.4166,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.089,
        "predicted_OBP": 0.2804,
        "predicted_R": 0.2968,
        "predicted_RBI": 0.2847,
        "predicted_SLG": 0.2922,
        "predicted_SO": 0.8696
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.065,
          "after": 0.0569,
          "delta": -0.0081,
          "percent_delta": -0.1246,
          "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.806,
          "after": 2.7919,
          "delta": -0.0141,
          "percent_delta": -0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.166,
          "after": 0.1627,
          "delta": -0.0033,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.343,
          "after": 0.3861,
          "delta": 0.0431,
          "percent_delta": 0.1257,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4,
          "after": 0.4166,
          "delta": 0.0166,
          "percent_delta": 0.0415,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.089,
          "delta": 0.009,
          "percent_delta": 0.1125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.2804,
          "delta": -0.0026,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.287,
          "after": 0.2968,
          "delta": 0.0098,
          "percent_delta": 0.0341,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 0.2847,
          "delta": 0.0247,
          "percent_delta": 0.095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.298,
          "after": 0.2922,
          "delta": -0.0058,
          "percent_delta": -0.0195,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.87,
          "after": 0.8696,
          "delta": -0.0004,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.298,
          "after": 0.2922,
          "delta": -0.0058,
          "percent_delta": -0.0195,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.0569,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.7919,
        "predicted_AVG": 0.1562,
        "predicted_BB": 0.392,
        "predicted_H": 0.4361,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0932,
        "predicted_OBP": 0.2601,
        "predicted_R": 0.3211,
        "predicted_RBI": 0.308,
        "predicted_SLG": 0.277,
        "predicted_SO": 0.8564
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0569,
          "after": 0.0569,
          "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.7919,
          "after": 2.7919,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1627,
          "after": 0.1562,
          "delta": -0.0065,
          "percent_delta": -0.04,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3861,
          "after": 0.392,
          "delta": 0.0059,
          "percent_delta": 0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4166,
          "after": 0.4361,
          "delta": 0.0195,
          "percent_delta": 0.0468,
          "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.089,
          "after": 0.0932,
          "delta": 0.0042,
          "percent_delta": 0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2804,
          "after": 0.2601,
          "delta": -0.0203,
          "percent_delta": -0.0724,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2968,
          "after": 0.3211,
          "delta": 0.0243,
          "percent_delta": 0.0819,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2847,
          "after": 0.308,
          "delta": 0.0233,
          "percent_delta": 0.0818,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2922,
          "after": 0.277,
          "delta": -0.0152,
          "percent_delta": -0.052,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8696,
          "after": 0.8564,
          "delta": -0.0132,
          "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_OBP",
          "before": 0.2804,
          "after": 0.2601,
          "delta": -0.0203,
          "percent_delta": -0.0724,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.81), rates preserved: AVG=0.164 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.0569,
          "after": 0.0,
          "delta": -0.0569,
          "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.7919,
          "after": 3.0,
          "delta": 0.2081,
          "percent_delta": 0.0745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.392,
          "after": 0.0,
          "delta": -0.392,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4361,
          "after": 1.0,
          "delta": 0.5639,
          "percent_delta": 1.2931,
          "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.0932,
          "after": 0.0,
          "delta": -0.0932,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.308,
          "after": 0.0,
          "delta": -0.308,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8564,
          "after": 1.0,
          "delta": 0.1436,
          "percent_delta": 0.1677,
          "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.4361,
          "after": 1.0,
          "delta": 0.5639,
          "percent_delta": 1.2931,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.392,
          "after": 0.0,
          "delta": -0.392,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3211,
          "after": 0.0,
          "delta": -0.3211,
          "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.3211,
          "after": 0.0,
          "delta": -0.3211,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1277,
        "predicted_3B": 0.0084,
        "predicted_BB": 0.4046,
        "predicted_H": 0.685,
        "predicted_HR": 0.1175,
        "predicted_RBI": 0.3194,
        "predicted_SO": 0.8636
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1277,
          "delta": 0.1277,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0084,
          "delta": 0.0084,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4046,
          "delta": 0.4046,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.685,
          "delta": -0.315,
          "percent_delta": -0.315,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1175,
          "delta": 0.1175,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3194,
          "delta": 0.3194,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8636,
          "delta": -0.1364,
          "percent_delta": -0.1364,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4046,
          "delta": 0.4046,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.685,
          "delta": -0.315,
          "percent_delta": -0.315,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1277,
          "after": 0.0,
          "delta": -0.1277,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0084,
          "after": 0.0,
          "delta": -0.0084,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4046,
          "after": 0.0,
          "delta": -0.4046,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.685,
          "after": 0.0,
          "delta": -0.685,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1175,
          "after": 0.0,
          "delta": -0.1175,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3194,
          "after": 0.0,
          "delta": -0.3194,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8636,
          "after": 1.0,
          "delta": 0.1364,
          "percent_delta": 0.1579,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.8636,
          "after": 1.0,
          "delta": 0.1364,
          "percent_delta": 0.1579,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.685,
          "after": 0.0,
          "delta": -0.685,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.32,
        "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.1562,
          "after": 0.224,
          "delta": 0.0678,
          "percent_delta": 0.4341,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2601,
          "after": 0.32,
          "delta": 0.0599,
          "percent_delta": 0.2303,
          "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.277,
          "after": 0.387,
          "delta": 0.11,
          "percent_delta": 0.3971,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1562,
        "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.2601,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.277,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.1562,
          "delta": -0.0678,
          "percent_delta": -0.3027,
          "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.32,
          "after": 0.2601,
          "delta": -0.0599,
          "percent_delta": -0.1872,
          "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.387,
          "after": 0.277,
          "delta": -0.11,
          "percent_delta": -0.2842,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.387,
          "after": 0.277,
          "delta": -0.11,
          "percent_delta": -0.2842,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.065,
        "after": 0.0,
        "delta": -0.065,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.806,
        "after": 3.0,
        "delta": 0.194,
        "percent_delta": 0.0691,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.166,
        "after": 0.1562,
        "delta": -0.0098,
        "percent_delta": -0.059,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.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.283,
        "after": 0.2601,
        "delta": -0.0229,
        "percent_delta": -0.0809,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.287,
        "after": 0.0,
        "delta": -0.287,
        "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.298,
        "after": 0.277,
        "delta": -0.021,
        "percent_delta": -0.0705,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.87,
        "after": 1.0,
        "delta": 0.13,
        "percent_delta": 0.1494,
        "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.806,
        "after": 3.0,
        "delta": 0.194,
        "percent_delta": 0.0691,
        "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_AB2.806-
predicted_AVG0.166-
predicted_BB0.343-
predicted_H0.400-
predicted_HR0.080-
predicted_OBP0.283-
predicted_R0.287-
predicted_RBI0.260-
predicted_SLG0.298-
predicted_SO0.870-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.057-0.008
predicted_3B0.0000.000
predicted_AB2.792-0.014
predicted_AVG0.163-0.003
predicted_BB0.3860.043
predicted_H0.4170.017
predicted_HBP0.017-
predicted_HR0.0890.009
predicted_OBP0.280-0.003
predicted_R0.2970.010
predicted_RBI0.2850.025
predicted_SLG0.292-0.006
predicted_SO0.870-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.0570.000
predicted_3B0.0000.000
predicted_AB2.7920.000
predicted_AVG0.156-0.007
predicted_BB0.3920.006
predicted_H0.4360.019
predicted_HBP0.0170.000
predicted_HR0.0930.004
predicted_OBP0.260-0.020
predicted_R0.3210.024
predicted_RBI0.3080.023
predicted_SLG0.277-0.015
predicted_SO0.856-0.013
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1280.128
3B0.0080.008
BB0.4050.405
H0.685-0.315
HR0.1170.117
RBI0.3190.319
SO0.864-0.136
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.128
3B0.000-0.008
AB3.0000.000
BB0.000-0.405
H0.000-0.685
HR0.000-0.117
R0.0000.000
RBI0.000-0.319
SO1.0000.136
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.057
predicted_3B0.000-0.000
predicted_AB3.0000.208
predicted_AVG0.2240.068
predicted_BB0.000-0.392
predicted_H1.0000.564
predicted_HR0.000-0.093
predicted_OBP0.3200.060
predicted_R0.000-0.321
predicted_RBI0.000-0.308
predicted_SLG0.3870.110
predicted_SO1.0000.144
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
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-13.0000.0000.0000.0000.0000.0001.0004.0005.0000.00000.23530.00000.00000.00000.00000.30770.3846
last_100.2010-24.0005.0000.0000.0002.0007.0004.0004.0007.0000.20830.31030.45830.20830.08330.29170.16670.2917
season0.60108-303.00055.0007.0000.00010.00028.00031.00037.00094.0000.18150.27540.30360.18150.03300.09240.12210.3102
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0460
predicted_3B0.0010
predicted_AB2.7730
predicted_AVG0.1583
predicted_BB0.4440
predicted_H0.4390
predicted_HBP0.0170
predicted_HR0.1010
predicted_OBP0.2768
predicted_R0.3100
predicted_RBI0.3180
predicted_SLG0.2845
predicted_SO0.8690
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06500.04600.0569model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.80602.77302.7919model_form_blend
predicted_AVG0.16600.15830.1627model_form_blend
predicted_BB0.34300.44400.3861model_form_blend
predicted_H0.40000.43900.4166model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.08000.10100.0890model_form_blend
predicted_OBP0.28300.27680.2804model_form_blend
predicted_R0.28700.31000.2968model_form_blend
predicted_RBI0.26000.31800.2847model_form_blend
predicted_SLG0.29800.28450.2922model_form_blend
predicted_SO0.87000.86900.8696model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.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_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
allPositionsPlayedC
gameID20260909_COL@NYY
game_typefull
mlbID669224
playerID669224
playerNameAustin Wells
posC
startedTrue
startingPositionC
teamNYY
teamID19
game_date2026-09-09
sl_k_percent27.3
sl_bb_percent10.8
sl_woba0.263
sl_xwoba0.29
sl_xba0.21
sl_xslg0.351
sl_sweet_spot_percent33.8
sl_barrel_batted_rate6.7
sl_hard_hit_percent43.3
sl_exit_velocity_avg89.4
sl_launch_angle_avg20.0
sl_whiff_percent28.1
sl_swing_percent47.0
Spencer Jones (682987) · BATTER · CF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 185
All-history rows before 20260910: 185
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2343
Diff (system - data): 0.0107
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.1740.0000.000Hitting_2B0.1731.000-0.173-1.000
predicted_3B0.0140.0000.000Hitting_3B0.0220.000-0.0220.000
predicted_AB2.9574.0004.000Hitting_AB3.0922.0000.9082.000
predicted_AVG0.2770.0000.250Hitting_AVG0.2340.500-0.234-0.500
predicted_BB0.3330.0001.000Hitting_BB0.3622.000-0.362-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0160.000-0.0160.000
predicted_H0.7800.0001.000Hitting_H0.7241.000-0.724-1.000
predicted_HR0.1300.0000.000Hitting_HR0.1300.000-0.1300.000
predicted_OBP0.3700.0000.400Hitting_OBP0.3190.750-0.319-0.750
predicted_R0.4351.0001.000Hitting_R0.3951.0000.6050.000
predicted_RBI0.4400.0001.000Hitting_RBI0.4650.000-0.4650.000
predicted_SLG0.5000.0000.250Hitting_SLG0.4301.000-0.430-1.000
predicted_SO1.2031.0001.000Hitting_SO1.2540.000-0.2541.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.9570 -> 4.0000 (boost 1.0430, better)
Biggest Deboostpredicted_H: 0.7800 -> 0.0000 (deboost -0.7800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AB: 2.9570 -> 3.0186 (boost 0.0616, better)predicted_SLG: 0.5000 -> 0.4935 (deboost -0.0065, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_AVG: 0.2753 -> 0.2803 (boost 0.0050, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73443predicted_AB: 3.0186 -> 4.0000 (boost 0.9814, better)predicted_BB: 0.3909 -> 0.0000 (deboost -0.3909, worse)AB rounded to 4 (raw=3.02), rates preserved: AVG=0.296 HR/AB=0.044
6consistency_constraints11010predicted_R: 0.5255 -> 1.0000 (boost 0.4745, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.4371 (boost 0.4371, better)predicted_RBI: 1.0000 -> 0.4840 (deboost -0.5160, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63342predicted_BB: 0.4371 -> 1.0000 (boost 0.5629, better)predicted_SO: 1.2561 -> 1.0000 (deboost -0.2561, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference20202-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.4400 -> 0.4915 (boost 0.0515, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682987",
  "player_name": "Spencer Jones",
  "position": "CF",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.174,
        "predicted_3B": 0.014,
        "predicted_AB": 2.957,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.333,
        "predicted_H": 0.78,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.37,
        "predicted_R": 0.435,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.5,
        "predicted_SO": 1.203
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2148,
        "predicted_3B": 0.0123,
        "predicted_AB": 3.0186,
        "predicted_AVG": 0.2753,
        "predicted_BB": 0.385,
        "predicted_H": 0.8083,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1267,
        "predicted_OBP": 0.367,
        "predicted_R": 0.4858,
        "predicted_RBI": 0.4837,
        "predicted_SLG": 0.4935,
        "predicted_SO": 1.2138
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.2148,
          "delta": 0.0408,
          "percent_delta": 0.2345,
          "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": 2.957,
          "after": 3.0186,
          "delta": 0.0616,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2753,
          "delta": -0.0017,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.333,
          "after": 0.385,
          "delta": 0.052,
          "percent_delta": 0.1562,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.78,
          "after": 0.8083,
          "delta": 0.0283,
          "percent_delta": 0.0363,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.1267,
          "delta": -0.0033,
          "percent_delta": -0.0254,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.37,
          "after": 0.367,
          "delta": -0.003,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.435,
          "after": 0.4858,
          "delta": 0.0508,
          "percent_delta": 0.1168,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.4837,
          "delta": 0.0437,
          "percent_delta": 0.0993,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5,
          "after": 0.4935,
          "delta": -0.0065,
          "percent_delta": -0.013,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.203,
          "after": 1.2138,
          "delta": 0.0108,
          "percent_delta": 0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.957,
          "after": 3.0186,
          "delta": 0.0616,
          "percent_delta": 0.0208,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5,
          "after": 0.4935,
          "delta": -0.0065,
          "percent_delta": -0.013,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 69
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2148,
        "predicted_3B": 0.0123,
        "predicted_AB": 3.0186,
        "predicted_AVG": 0.2803,
        "predicted_BB": 0.3909,
        "predicted_H": 0.8461,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1327,
        "predicted_OBP": 0.3628,
        "predicted_R": 0.5255,
        "predicted_RBI": 0.5233,
        "predicted_SLG": 0.4915,
        "predicted_SO": 1.1954
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2148,
          "after": 0.2148,
          "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.0186,
          "after": 3.0186,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2753,
          "after": 0.2803,
          "delta": 0.005,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.385,
          "after": 0.3909,
          "delta": 0.0059,
          "percent_delta": 0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8083,
          "after": 0.8461,
          "delta": 0.0378,
          "percent_delta": 0.0468,
          "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.1267,
          "after": 0.1327,
          "delta": 0.006,
          "percent_delta": 0.0474,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.367,
          "after": 0.3628,
          "delta": -0.0042,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4858,
          "after": 0.5255,
          "delta": 0.0397,
          "percent_delta": 0.0817,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4837,
          "after": 0.5233,
          "delta": 0.0396,
          "percent_delta": 0.0819,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4935,
          "after": 0.4915,
          "delta": -0.002,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.2138,
          "after": 1.1954,
          "delta": -0.0184,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_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.2753,
          "after": 0.2803,
          "delta": 0.005,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.02), rates preserved: AVG=0.296 HR/AB=0.044",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2148,
          "after": 0.0,
          "delta": -0.2148,
          "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.0186,
          "after": 4.0,
          "delta": 0.9814,
          "percent_delta": 0.3251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3909,
          "after": 0.0,
          "delta": -0.3909,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8461,
          "after": 1.0,
          "delta": 0.1539,
          "percent_delta": 0.1819,
          "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.1327,
          "after": 0.0,
          "delta": -0.1327,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5233,
          "after": 1.0,
          "delta": 0.4767,
          "percent_delta": 0.9109,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1954,
          "after": 1.0,
          "delta": -0.1954,
          "percent_delta": -0.1635,
          "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": 3.0186,
          "after": 4.0,
          "delta": 0.9814,
          "percent_delta": 0.3251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3909,
          "after": 0.0,
          "delta": -0.3909,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5255,
          "after": 1.0,
          "delta": 0.4745,
          "percent_delta": 0.9029,
          "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.5255,
          "after": 1.0,
          "delta": 0.4745,
          "percent_delta": 0.9029,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1755,
        "predicted_3B": 0.0137,
        "predicted_BB": 0.4371,
        "predicted_H": 0.872,
        "predicted_HR": 0.158,
        "predicted_RBI": 0.484,
        "predicted_SO": 1.2561
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1755,
          "delta": 0.1755,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0137,
          "delta": 0.0137,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4371,
          "delta": 0.4371,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.872,
          "delta": -0.128,
          "percent_delta": -0.128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.158,
          "delta": 0.158,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.484,
          "delta": -0.516,
          "percent_delta": -0.516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2561,
          "delta": 0.2561,
          "percent_delta": 0.2561,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4371,
          "delta": 0.4371,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.484,
          "delta": -0.516,
          "percent_delta": -0.516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1755,
          "after": 0.0,
          "delta": -0.1755,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0137,
          "after": 0.0,
          "delta": -0.0137,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4371,
          "after": 1.0,
          "delta": 0.5629,
          "percent_delta": 1.2878,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.872,
          "after": 1.0,
          "delta": 0.128,
          "percent_delta": 0.1468,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.158,
          "after": 0.0,
          "delta": -0.158,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.484,
          "after": 1.0,
          "delta": 0.516,
          "percent_delta": 1.0661,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2561,
          "after": 1.0,
          "delta": -0.2561,
          "percent_delta": -0.2039,
          "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.4371,
          "after": 1.0,
          "delta": 0.5629,
          "percent_delta": 1.2878,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2561,
          "after": 1.0,
          "delta": -0.2561,
          "percent_delta": -0.2039,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.248,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.336,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.44,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2803,
          "after": 0.248,
          "delta": -0.0323,
          "percent_delta": -0.1152,
          "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.3628,
          "after": 0.336,
          "delta": -0.0268,
          "percent_delta": -0.0739,
          "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.4915,
          "after": 0.44,
          "delta": -0.0515,
          "percent_delta": -0.1048,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2803,
        "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.3628,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4915,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2803,
          "delta": 0.0323,
          "percent_delta": 0.1303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.336,
          "after": 0.3628,
          "delta": 0.0268,
          "percent_delta": 0.0798,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.4915,
          "delta": 0.0515,
          "percent_delta": 0.117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.44,
          "after": 0.4915,
          "delta": 0.0515,
          "percent_delta": 0.117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.174,
        "after": 0.0,
        "delta": -0.174,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.014,
        "after": 0.0,
        "delta": -0.014,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.957,
        "after": 4.0,
        "delta": 1.043,
        "percent_delta": 0.3527,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.277,
        "after": 0.2803,
        "delta": 0.0033,
        "percent_delta": 0.0119,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.333,
        "after": 0.0,
        "delta": -0.333,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 0.0,
        "delta": -0.78,
        "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.3628,
        "delta": -0.0072,
        "percent_delta": -0.0195,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.435,
        "after": 1.0,
        "delta": 0.565,
        "percent_delta": 1.2989,
        "direction": "boost",
        "projection_effect": "better",
        "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.5,
        "after": 0.4915,
        "delta": -0.0085,
        "percent_delta": -0.017,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.203,
        "after": 1.0,
        "delta": -0.203,
        "percent_delta": -0.1687,
        "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.957,
        "after": 4.0,
        "delta": 1.043,
        "percent_delta": 0.3527,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 0.0,
        "delta": -0.78,
        "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.014-
predicted_AB2.957-
predicted_AVG0.277-
predicted_BB0.333-
predicted_H0.780-
predicted_HR0.130-
predicted_OBP0.370-
predicted_R0.435-
predicted_RBI0.440-
predicted_SLG0.500-
predicted_SO1.203-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2150.041
predicted_3B0.012-0.002
predicted_AB3.0190.062
predicted_AVG0.275-0.002
predicted_BB0.3850.052
predicted_H0.8080.028
predicted_HBP0.011-
predicted_HR0.127-0.003
predicted_OBP0.367-0.003
predicted_R0.4860.051
predicted_RBI0.4840.044
predicted_SLG0.493-0.007
predicted_SO1.2140.011
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2150.000
predicted_3B0.0120.000
predicted_AB3.0190.000
predicted_AVG0.2800.005
predicted_BB0.3910.006
predicted_H0.8460.038
predicted_HBP0.0110.000
predicted_HR0.1330.006
predicted_OBP0.363-0.004
predicted_R0.5250.040
predicted_RBI0.5230.040
predicted_SLG0.491-0.002
predicted_SO1.195-0.018
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1750.175
3B0.0140.014
BB0.4370.437
H0.872-0.128
HR0.1580.158
RBI0.484-0.516
SO1.2560.256
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.175
3B0.000-0.014
AB4.0000.000
BB1.0000.563
H1.0000.128
HR0.000-0.158
R1.0000.000
RBI1.0000.516
SO1.000-0.256
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.215
predicted_3B0.000-0.012
predicted_AB4.0000.981
predicted_AVG0.248-0.032
predicted_BB0.000-0.391
predicted_H1.0000.154
predicted_HR0.000-0.133
predicted_OBP0.336-0.027
predicted_R1.0000.475
predicted_RBI1.0000.477
predicted_SLG0.440-0.051
predicted_SO1.000-0.195
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
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: 69
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.0003.0000.0000.0003.0003.0004.0007.0000.31250.45000.50000.31250.00000.18750.25000.4375
last_100.2010-30.00010.0003.0000.0002.0008.0009.0006.00013.0000.33330.43240.63330.33330.06670.26670.20000.4333
season0.6069-204.00050.00012.0001.0009.00031.00030.00023.00083.0000.24510.32310.44610.24510.04410.15200.11280.4069
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2720
predicted_3B0.0100
predicted_AB3.1050
predicted_AVG0.2729
predicted_BB0.4580
predicted_H0.8480
predicted_HBP0.0110
predicted_HR0.1220
predicted_OBP0.3628
predicted_R0.5570
predicted_RBI0.5450
predicted_SLG0.4843
predicted_SO1.2290
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17400.27200.2148model_form_blend
predicted_3B0.01400.01000.0123model_form_blend
predicted_AB2.95703.10503.0186model_form_blend
predicted_AVG0.27700.27290.2753model_form_blend
predicted_BB0.33300.45800.3850model_form_blend
predicted_H0.78000.84800.8083model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.13000.12200.1267model_form_blend
predicted_OBP0.37000.36280.3670model_form_blend
predicted_R0.43500.55700.4858model_form_blend
predicted_RBI0.44000.54500.4837model_form_blend
predicted_SLG0.50000.48430.4935model_form_blend
predicted_SO1.20301.22901.2138model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
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
gameID20260909_COL@NYY
game_typefull
mlbID682987
playerID682987
playerNameSpencer Jones
posCF
startedTrue
startingPositionCF
teamNYY
teamID19
game_date2026-09-09
sl_k_percent36.6
sl_bb_percent9.7
sl_woba0.33
sl_xwoba0.324
sl_xba0.235
sl_xslg0.438
sl_sweet_spot_percent43.3
sl_barrel_batted_rate15.8
sl_hard_hit_percent55.5
sl_exit_velocity_avg94.1
sl_launch_angle_avg18.6
sl_whiff_percent38.3
sl_swing_percent53.2
Max Fried (608331) · PITCHER · Starter · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 17
All-history rows before 20260910: 17

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.7061.000-0.7060.000
predicted_ER2.0002.0002.000Pitching_ER1.7061.0000.2941.000
predicted_H7.0007.0007.000Pitching_H3.8824.0003.1183.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.4765.2000.5240.800
predicted_SO7.0007.0007.000Pitching_SO5.1184.0001.8823.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": "608331",
  "player_name": "Max Fried",
  "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": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 7.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "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": 7.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.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": 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.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "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": 7.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.0,
        "predicted_R": 2.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.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": 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.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 2.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": 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.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER2.000-
predicted_H7.000-
predicted_HR1.000-
predicted_IP6.000-
predicted_SO7.000-
2. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER2.0000.000
predicted_H7.0000.000
predicted_HR1.0000.000
predicted_IP6.0000.000
predicted_SO7.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 17
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45526.0004.00017.0007.00026.0002.0001.38460.92310.15380.65390.26921.00000.0769
last_100.351048.10018.00040.00017.00050.0002.0003.35171.17930.37240.82760.35171.03450.0414
season0.201795.20029.00066.00029.00087.0003.0002.72820.99300.30310.68990.30310.90940.0314
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7140
predicted_ER1.6890
predicted_ERA2.8384
predicted_H4.1720
predicted_HR0.4080
predicted_IP5.1000
predicted_SO5.2580
predicted_WHIP1.0990
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.71401.3955model_form_blend
predicted_ER2.00001.68901.8277model_form_blend
predicted_ERA-2.83842.8384form_only
predicted_H7.00004.17205.4334model_form_blend
predicted_HR1.00000.40800.6721model_form_blend
predicted_IP6.00005.10005.2000model_form_blend
predicted_SO7.00005.25806.0350model_form_blend
predicted_WHIP-1.09901.0990form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.0
H7
R2
ER2
BB1
SO7
HR1
BF28
Pitches113

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced21
Pitching_ER1
Pitching_ERA2.73
Pitching_Flyouts4
Pitching_Groundouts5
Pitching_H4
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.2
Pitching_Pitches72
Pitching_R1
Pitching_SO4
Pitching_Strikes51
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260904_NYY@SD
game_typefull
mlbID608331
playerID608331
playerNameMax Fried
posP
startedTrue
startingPositionP
teamNYY
teamID19
game_date2026-09-04
sl_k_percent23.6
sl_bb_percent7.9
sl_woba0.242
sl_xwoba0.248
sl_sweet_spot_percent29.6
sl_barrel_batted_rate1.6
sl_hard_hit_percent29.6
sl_whiff_percent24.5
sl_swing_percent45.8
sl_avg_best_speed74.495616911
sl_avg_hyper_speed92.545929469
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 20260910: 73
All-history rows before 20260910: 73

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.2880.0000.7121.000
predicted_ER0.0000.0000.000Pitching_ER0.2050.000-0.2050.000
predicted_H0.0000.0000.000Pitching_H0.8490.000-0.8490.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8051.0000.1950.000
predicted_SO2.0002.0002.000Pitching_SO1.2472.0000.7530.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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 73
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.0003.0001.0007.0000.0001.68750.75000.18750.56250.18751.31250.0000
last_100.351010.0004.00010.0002.00014.0001.0003.60001.20000.40001.00000.20001.40000.1000
season0.207372.10015.00062.00021.00091.0004.0001.86641.14750.20740.85710.29031.25810.0553
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2530
predicted_ER0.3260
predicted_ERA2.9370
predicted_H0.8250
predicted_HR0.0720
predicted_IP1.0000
predicted_SO1.2320
predicted_WHIP1.0782
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.25300.5950model_form_blend
predicted_ER0.00000.32600.1768model_form_blend
predicted_ERA-2.93702.9370form_only
predicted_H0.00000.82500.4473model_form_blend
predicted_HR0.00000.07200.0390model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.23201.5836model_form_blend
predicted_WHIP-1.07821.0782form_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 date73
Season rows before report date73
Report year2026
Profile rows used73
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB1
SO2
HR0
BF4
Pitches29

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA1.87
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO2
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260908_COL@NYY
game_typefull
mlbID687396
playerID687396
playerNameBrent Headrick
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-08
sl_k_percent30.7
sl_bb_percent7.1
sl_woba0.281
sl_xwoba0.262
sl_sweet_spot_percent39.7
sl_barrel_batted_rate4.3
sl_hard_hit_percent37.0
sl_whiff_percent32.8
sl_swing_percent53.5
sl_avg_best_speed76.692010449
sl_avg_hyper_speed93.807573955
David Bednar (670280) · PITCHER · Closer · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 58
All-history rows before 20260910: 58

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3100.0000.6901.000
predicted_ER0.0000.0000.000Pitching_ER0.3100.000-0.3100.000
predicted_H0.0000.0000.000Pitching_H0.7760.000-0.7760.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9950.1000.0050.900
predicted_SO1.0001.0001.000Pitching_SO1.2071.000-0.2070.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": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 58
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1003.0006.0000.0005.0000.0006.23081.38460.69231.38460.00001.15390.0000
last_100.351010.0003.0008.0001.00012.0000.0002.70000.90000.30000.80000.10001.20000.0000
season0.205861.20018.00045.00018.00070.0003.0002.62701.02160.29190.72970.29191.13510.0486
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1730
predicted_ER0.4830
predicted_ERA4.3466
predicted_H1.0270
predicted_HR0.0490
predicted_IP1.0000
predicted_SO1.1010
predicted_WHIP1.2003
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.17300.5626model_form_blend
predicted_ER0.00000.48300.2555model_form_blend
predicted_ERA-4.34664.3466form_only
predicted_H0.00001.02700.5432model_form_blend
predicted_HR0.00000.04900.0259model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.10101.0534model_form_blend
predicted_WHIP-1.20031.2003form_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 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
BB1
SO1
HR0
BF4
Pitches21

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced1
Pitching_ER0
Pitching_ERA2.63
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches3
Pitching_R0
Pitching_SO1
Pitching_Strikes3
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260908_COL@NYY
game_typefull
mlbID670280
playerID670280
playerNameDavid Bednar
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-08
sl_k_percent28.0
sl_bb_percent7.2
sl_woba0.243
sl_xwoba0.257
sl_sweet_spot_percent26.9
sl_barrel_batted_rate4.4
sl_hard_hit_percent33.8
sl_whiff_percent31.3
sl_swing_percent53.5
sl_avg_best_speed75.168565823
sl_avg_hyper_speed93.060831772
Paul Blackburn (621112) · PITCHER · Middle Reliever (High Leverage) · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 56
All-history rows before 20260910: 56

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.5181.0000.4820.000
predicted_ER2.0002.0002.000Pitching_ER0.2680.0001.7322.000
predicted_H1.0001.0001.000Pitching_H0.9460.0000.0541.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.2621.000-0.2620.000
predicted_SO1.0001.0001.000Pitching_SO1.1791.000-0.1790.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "621112",
  "player_name": "Paul Blackburn",
  "position": "Middle Reliever (High Leverage)",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.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": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 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_ER2.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: 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.4555.1001.0004.0001.0006.0001.0001.68750.93750.18750.75000.18751.12500.1875
last_100.351011.1001.0007.0004.00012.0001.0000.79410.97060.08820.61770.35291.05880.0882
season0.205679.10015.00053.00029.00066.0007.0001.70171.03360.18910.66810.36550.83190.0882
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3180
predicted_ER0.2480
predicted_ERA2.1271
predicted_H0.7940
predicted_HR0.1430
predicted_IP1.0000
predicted_SO1.0700
predicted_WHIP1.0578
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.31800.6253model_form_blend
predicted_ER2.00000.24801.0374model_form_blend
predicted_ERA-2.12712.1271form_only
predicted_H1.00000.79400.8868model_form_blend
predicted_HR1.00000.14300.5291model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.07001.0385model_form_blend
predicted_WHIP-1.05781.0578form_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 used56
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R2
ER2
BB1
SO1
HR1
BF5
Pitches20

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA1.70
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO1
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260909_COL@NYY
game_typefull
mlbID621112
playerID621112
playerNamePaul Blackburn
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-09
sl_k_percent21.4
sl_bb_percent9.4
sl_woba0.255
sl_xwoba0.294
sl_sweet_spot_percent27.7
sl_barrel_batted_rate6.1
sl_hard_hit_percent35.2
sl_whiff_percent23.6
sl_swing_percent46.0
sl_avg_best_speed74.72874283
sl_avg_hyper_speed93.340708019

20260910_HOU@PHI

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.566858705, "home_win_probability": 0.566858705, "away_win_probability": 0.433141295, "predicted_score_text": "HOU 4 - 5 PHI", "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.487, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": -0.040280619878596075, "contact": -0.10670108715564676, "power": 0.012853133729272366, "discipline": 0.063741299392133, "xwoba": 0.3141515151515152, "recent_xwoba": 0.3141515151515152, "barrel": 8.045454545454545, "ab_hard_contact": 0.0340530228966536, "ab_bat_speed": 70.54465908370298, "ab_strikeout_rate": 0.2178590922796875, "available_players": 9, "top_players": [{"player_id": "670541", "player_name": "Yordan Alvarez", "position": "DH", "weight": 4.0, "quality": 1.8285146051509416, "contact": 2.0, "power": 2.0, "discipline": 1.2373648304850398, "xwoba": 0.44699999999999995, "recent_xwoba": 0.447, "barrel": 16.2, "ab_hard_contact": 1.5724560878531286, "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.168673611062311, "contact": -1.4005640229588323, "power": -1.3550642886919553, "discipline": 0.07214758391619575, "xwoba": 0.238, "recent_xwoba": 0.238, "barrel": 2.1, "ab_hard_contact": -1.1390000595533898, "ab_bat_speed": 62.367201682316114, "ab_strikeout_rate": 0.21572769953051643, "available": 1.0}, {"player_id": "514888", "player_name": "Jose Altuve", "position": "2B", "weight": 4.0, "quality": -0.6876481054620011, "contact": -0.7578194970768735, "power": -0.7959041771025129, "discipline": 0.033184807256235994, "xwoba": 0.274, "recent_xwoba": 0.274, "barrel": 4.5, "ab_hard_contact": -0.7443692563359712, "ab_bat_speed": 66.72382944444445, "ab_strikeout_rate": 0.21533333333333335, "available": 1.0}, {"player_id": "701358", "player_name": "Cam Smith", "position": "RF", "weight": 3.0, "quality": 0.2935733346407641, "contact": 0.11392506388386112, "power": 0.608579944106641, "discipline": -0.40007709750566867, "xwoba": 0.319, "recent_xwoba": 0.319, "barrel": 11.2, "ab_hard_contact": 0.8919798345137813, "ab_bat_speed": 75.95847448482317, "ab_strikeout_rate": 0.24166666666666667, "available": 1.0}, {"player_id": "666211", "player_name": "Taylor Trammell", "position": "LF", "weight": 3.0, "quality": -0.4464174421014645, "contact": -0.9905773799340168, "power": 0.1011730347568348, "discipline": -0.8393122165532876, "xwoba": 0.284, "recent_xwoba": 0.284, "barrel": 11.6, "ab_hard_contact": -0.15292025724424702, "ab_bat_speed": 74.08419661458333, "ab_strikeout_rate": 0.3796875, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "554430", "player_name": "Zack Wheeler", "quality": 0.6670961804985404, "contact": 0.8077855156893091, "command": 0.5739711399711399, "movement": 0.5139946232433726, "xwoba": 0.271, "whiff": 31.1, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}, "home": {"team": "PHI", "original_runs": 5, "run_delta": 0.1663, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.1777595883131986, "contact": 0.16123310021443052, "power": 0.032021190089036554, "discipline": 0.18188396975351262, "xwoba": 0.31603030303030305, "recent_xwoba": 0.31603030303030305, "barrel": 6.851515151515152, "ab_hard_contact": -0.005198131841197807, "ab_bat_speed": 69.23680348283976, "ab_strikeout_rate": 0.19349347819536422, "available_players": 9, "top_players": [{"player_id": "656941", "player_name": "Kyle Schwarber", "position": "DH", "weight": 4.0, "quality": 0.9342503628832256, "contact": 0.6852094044575175, "power": 1.6622995606874011, "discipline": 0.028740362811791723, "xwoba": 0.369, "recent_xwoba": 0.369, "barrel": 16.9, "ab_hard_contact": 0.7589435947004077, "ab_bat_speed": 74.64320818327332, "ab_strikeout_rate": 0.3427777777777778, "available": 1.0}, {"player_id": "547180", "player_name": "Bryce Harper", "position": "RF", "weight": 4.0, "quality": 1.044444026234395, "contact": 1.15651890105011, "power": 1.0753472366071237, "discipline": 0.813310204081633, "xwoba": 0.391, "recent_xwoba": 0.391, "barrel": 10.9, "ab_hard_contact": 1.4158971130948603, "ab_bat_speed": 73.24339794546852, "ab_strikeout_rate": 0.2114222222222222, "available": 1.0}, {"player_id": "665561", "player_name": "Rafael Marchán", "position": "C", "weight": 3.0, "quality": -0.5416676804297698, "contact": -1.7662933960904792, "power": -1.616905156142574, "discipline": -0.2992913832199544, "xwoba": 0.208, "recent_xwoba": 0.208, "barrel": 2.7, "ab_hard_contact": -1.3209602657086204, "ab_bat_speed": 64.98211805555556, "ab_strikeout_rate": 0.16666666666666666, "available": 1.0}, {"player_id": "702222", "player_name": "Justin Crawford", "position": "CF", "weight": 3.0, "quality": -0.48485833958861724, "contact": -0.23810998750204368, "power": -0.913105721859993, "discipline": 0.029262188208617063, "xwoba": 0.281, "recent_xwoba": 0.281, "barrel": 1.3, "ab_hard_contact": -0.808019199104618, "ab_bat_speed": 66.46404166666666, "ab_strikeout_rate": 0.1956845238095238, "available": 1.0}, {"player_id": "650333", "player_name": "Luis Arraez", "position": "2B", "weight": 4.0, "quality": -0.2559370531274358, "contact": 0.11857516906863474, "power": -0.8665943835941481, "discipline": 0.7220322648833547, "xwoba": 0.305, "recent_xwoba": 0.305, "barrel": 1.1, "ab_hard_contact": -0.6739829099781937, "ab_bat_speed": 62.17860782119116, "ab_strikeout_rate": 0.04498587570621469, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "664299", "player_name": "Cristian Javier", "quality": -0.19525619979414524, "contact": -0.5993090559024375, "command": 0.03297113997113995, "movement": -0.21612747982056602, "xwoba": 0.34, "whiff": 30.0, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}}, "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.4289, "recent_form_edge_home_minus_away": 0.068, "pitcher_matchup_edge_home_minus_away": 0.0198, "composite_home_edge": 0.4765, "existing_home_win_probability": 0.5925, "refreshed_home_win_probability": 0.7, "winner_support_before_review": 0.4765}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.592538, "uncapped_away_win_probability": 0.407462, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.592538, "discount_factor": 0.7225, "published_confidence": 0.566859, "guardrail_confidence_cap": 0.6, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.7, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.566859, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 5, "predicted_score_text": "HOU 4 - 5 PHI", "confidence": 0.566858705, "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 PHI", "winner": "PHI"}, "final_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "HOU 4 - 5 PHI", "winner": "PHI"}, "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.0198, "recent_form_edge_home_minus_away": 0.068, "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": "PHI", "model_winner": "PHI", "simulation_winner": "PHI", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 6, "published_winner": "PHI", "published_winner_draw_share": 0.5, "draw_majority_team": null, "published_winner_is_draw_majority": false, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 5}, "simulation_score": {"away_runs": 4, "home_runs": 5}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": 0.4289, "winner": "PHI", "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": "PHI", "display_confidence": 0.5669, "internal_signal_score": 0.5549, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5669, "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.4289, "winner_recent_form_edge": 0.068, "winner_pitcher_matchup_edge": 0.0198, "winner_simulation_draw_rate": 0.5, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 1.0, "total_runs_spread": {"min": 3, "median": 5, "max": 6, "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 PHIPHI0.567enhanced_prediction.pre_simulation_targetTrue
Simulation drawHOU 4 - 5 PHIPHI-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.6100; empirical=0.5591; weight=0.5000; final=0.5846
P1H2H margin as base featureavailablehome net=3; abs=3; home delta=0.0225; away delta=-0.0225
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=1.7500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=0.6233; recent edge=0.0680; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.9000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5669
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.0115.983-Base ML historical model prediction
2variance_applied46-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction450.5669Enhanced 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.5175714413251962,
  "base_low_score_probability": 0.4302528334786399,
  "low_score_signal_threshold": 0.5102528334786399,
  "low_score_signal_strength": 0.08731860784655626,
  "confidence": 0.7014736,
  "factors": {
    "environmental": 1.1566800000000002,
    "pitcher_form": 1.0,
    "team_form": 1.0,
    "situational": 1.04,
    "combined": 1.2029472
  },
  "prediction": "low_scoring",
  "expected_total_runs": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.9,
  "low_score_model_expected_total_runs": 6.9,
  "final_simulation_total_runs": 9,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 313,
  "near_bucket_sample_size": 313,
  "medium_bucket_sample_size": 469,
  "wide_bucket_sample_size": 863,
  "global_sample_size": 882,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5591,
  "bayesian_hit_rate": 0.5559,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.6273,
  "raw_pick_probability_unclamped": 0.6273,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.582,
  "margin_implied_pick_probability": 0.582,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.6069,
  "score_implied_floor_pick_probability": 0.5791,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.627319,
  "uncapped_away_win_probability": 0.372681,
  "calibrated_pick_probability": 0.6031,
  "predicted_side": "home",
  "reliability": 0.945619,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.964653
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.61,
  "sample_size": 313,
  "empirical_hit_rate": 0.5591,
  "empirical_weight": 0.5,
  "blended_confidence": 0.58455,
  "published_confidence": 0.566859,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 2,
  "sample_weight": 0.03,
  "home_net_margin": 3.0,
  "absolute_net_margin": 3.0,
  "home_average_margin": 1.5,
  "home_run_delta": 0.0225,
  "away_run_delta": -0.0225,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 4.0
    },
    {
      "game_id": null,
      "home_margin": -1.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616438356164384,
    "runs_scored": 658,
    "runs_allowed": 620,
    "run_differential": 38,
    "run_differential_per_game": 0.2602739726027397,
    "available": true
  },
  "away": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068493150684932,
    "runs_scored": 660,
    "runs_allowed": 701,
    "run_differential": -41,
    "run_differential_per_game": -0.2808219178082192,
    "available": true
  },
  "run_differential_edge_per_game": 0.5411,
  "win_pct_edge": 0.0548,
  "quality_edge": 0.4289,
  "season_quality_edge": 0.6233,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.6233,
    "recent_quality_edge": 0.068,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": 0.4289
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.022717820861471897
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.021760079436394932
    },
    {
      "home_runs": 5,
      "away_runs": 3,
      "probability": 0.02151904012651874
    },
    {
      "home_runs": 6,
      "away_runs": 4,
      "probability": 0.02109022879958114
    },
    {
      "home_runs": 5,
      "away_runs": 5,
      "probability": 0.020688643559826934
    }
  ],
  "home_distribution": {
    "0": 0.035220045439377394,
    "1": 0.05881151952710289,
    "2": 0.08732594930993925,
    "3": 0.11530088928035831,
    "4": 0.13537249231192708,
    "5": 0.1413307354370048,
    "6": 0.13120525797589114,
    "7": 0.10831142919882729,
    "8": 0.079507071981534,
    "9": 0.05189740705195948,
    "10": 0.030122706202293844,
    "11": 0.015547148207852881,
    "12": 0.007135360463757417,
    "13": 0.002911987612174272
  },
  "away_distribution": {
    "0": 0.05331929262498383,
    "1": 0.08769269964529917,
    "2": 0.1244125159152629,
    "3": 0.15226015813177735,
    "4": 0.16074225320647176,
    "5": 0.14638460272534604,
    "6": 0.11499588939376591,
    "7": 0.07792751114578689,
    "8": 0.04555340729348853,
    "9": 0.02297060845040504,
    "10": 0.009991845329418703,
    "11": 0.003749216137993863
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.75,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.6,
  "winner_flipped": false,
  "reasons": [
    "recent head-to-head is split and volatile"
  ],
  "signals": {
    "predicted_team": "PHI",
    "opponent_team": "HOU",
    "h2h_net_margin": 3,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-09",
        "predicted_team_runs": 11,
        "opponent_runs": 7,
        "margin_for_predicted_team": 4,
        "winner": "PHI"
      },
      {
        "date": "2026-09-08",
        "predicted_team_runs": 5,
        "opponent_runs": 6,
        "margin_for_predicted_team": -1,
        "winner": "HOU"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 2,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260909",
          "away": "HOU",
          "home": "PHI",
          "game_number": 1,
          "predicted_team": "PHI",
          "actual_winner": "PHI",
          "actual_margin": 4,
          "raw_pick_probability": 0.519697,
          "artifact": "20260909_HOU@PHI.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260908",
          "away": "HOU",
          "home": "PHI",
          "game_number": 1,
          "predicted_team": "HOU",
          "actual_winner": "HOU",
          "actual_margin": 1,
          "raw_pick_probability": 0.55362,
          "artifact": "20260908_HOU@PHI.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "PHI",
    "guardrail_opponent_team": "HOU",
    "output_pre_simulation_winner": "PHI",
    "output_opponent_team": "HOU",
    "simulation_score_winner": "PHI",
    "final_score_winner": "PHI",
    "pre_simulation_winner": "PHI",
    "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 PHI",
      "winner": "PHI"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "HOU 4 - 5 PHI",
      "winner": "PHI"
    },
    "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.0198,
      "recent_form_edge_home_minus_away": 0.068,
      "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": "PHI",
      "model_winner": "PHI",
      "simulation_winner": "PHI",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "PHI",
        "published_winner_draw_share": 0.5,
        "draw_majority_team": null,
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.4289,
      "winner": "PHI",
      "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": "PHI",
      "games": 146,
      "wins": 82,
      "losses": 64,
      "win_pct": 0.5616438356164384,
      "runs_scored": 658,
      "runs_allowed": 620,
      "run_differential": 38,
      "run_differential_per_game": 0.2602739726027397,
      "available": true
    },
    "away": {
      "team": "HOU",
      "games": 146,
      "wins": 74,
      "losses": 72,
      "win_pct": 0.5068493150684932,
      "runs_scored": 660,
      "runs_allowed": 701,
      "run_differential": -41,
      "run_differential_per_game": -0.2808219178082192,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 1.0,
  "final_margin": 1.0,
  "margin_cap": 1.5,
  "season_quality_edge": 0.4289,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.58455,
  "final_confidence": 0.6031,
  "calibrated_pick_probability": 0.6031,
  "shrinkage_weight": 0.964653,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 1.0,
  "calibration_sample_size": 313,
  "calibration_empirical_hit_rate": 0.5591,
  "calibration_bayesian_hit_rate": 0.5559,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.4289,
  "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.603125,
    "margin_implied_home_probability": 0.581951,
    "shrinkage_weight": 0.964653,
    "side_flipped": false,
    "applied": true,
    "probability_after": 0.592538,
    "aligned_pick_probability": 0.592538
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 14,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "HOU 4 - 5 PHI",
    "winner": "PHI"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "HOU 4 - 5 PHI",
    "winner": "PHI"
  },
  "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.0198,
    "recent_form_edge_home_minus_away": 0.068,
    "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": "PHI",
    "model_winner": "PHI",
    "simulation_winner": "PHI",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 6,
      "published_winner": "PHI",
      "published_winner_draw_share": 0.5,
      "draw_majority_team": null,
      "published_winner_is_draw_majority": false,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 5
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": 0.4289,
    "winner": "PHI",
    "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.566858705,
  "home_win_probability": 0.566858705,
  "away_win_probability": 0.433141295,
  "predicted_score_text": "HOU 4 - 5 PHI",
  "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.487,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": -0.040280619878596075,
        "contact": -0.10670108715564676,
        "power": 0.012853133729272366,
        "discipline": 0.063741299392133,
        "xwoba": 0.3141515151515152,
        "recent_xwoba": 0.3141515151515152,
        "barrel": 8.045454545454545,
        "ab_hard_contact": 0.0340530228966536,
        "ab_bat_speed": 70.54465908370298,
        "ab_strikeout_rate": 0.2178590922796875,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "670541",
            "player_name": "Yordan Alvarez",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.8285146051509416,
            "contact": 2.0,
            "power": 2.0,
            "discipline": 1.2373648304850398,
            "xwoba": 0.44699999999999995,
            "recent_xwoba": 0.447,
            "barrel": 16.2,
            "ab_hard_contact": 1.5724560878531286,
            "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.168673611062311,
            "contact": -1.4005640229588323,
            "power": -1.3550642886919553,
            "discipline": 0.07214758391619575,
            "xwoba": 0.238,
            "recent_xwoba": 0.238,
            "barrel": 2.1,
            "ab_hard_contact": -1.1390000595533898,
            "ab_bat_speed": 62.367201682316114,
            "ab_strikeout_rate": 0.21572769953051643,
            "available": 1.0
          },
          {
            "player_id": "514888",
            "player_name": "Jose Altuve",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.6876481054620011,
            "contact": -0.7578194970768735,
            "power": -0.7959041771025129,
            "discipline": 0.033184807256235994,
            "xwoba": 0.274,
            "recent_xwoba": 0.274,
            "barrel": 4.5,
            "ab_hard_contact": -0.7443692563359712,
            "ab_bat_speed": 66.72382944444445,
            "ab_strikeout_rate": 0.21533333333333335,
            "available": 1.0
          },
          {
            "player_id": "701358",
            "player_name": "Cam Smith",
            "position": "RF",
            "weight": 3.0,
            "quality": 0.2935733346407641,
            "contact": 0.11392506388386112,
            "power": 0.608579944106641,
            "discipline": -0.40007709750566867,
            "xwoba": 0.319,
            "recent_xwoba": 0.319,
            "barrel": 11.2,
            "ab_hard_contact": 0.8919798345137813,
            "ab_bat_speed": 75.95847448482317,
            "ab_strikeout_rate": 0.24166666666666667,
            "available": 1.0
          },
          {
            "player_id": "666211",
            "player_name": "Taylor Trammell",
            "position": "LF",
            "weight": 3.0,
            "quality": -0.4464174421014645,
            "contact": -0.9905773799340168,
            "power": 0.1011730347568348,
            "discipline": -0.8393122165532876,
            "xwoba": 0.284,
            "recent_xwoba": 0.284,
            "barrel": 11.6,
            "ab_hard_contact": -0.15292025724424702,
            "ab_bat_speed": 74.08419661458333,
            "ab_strikeout_rate": 0.3796875,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "554430",
        "player_name": "Zack Wheeler",
        "quality": 0.6670961804985404,
        "contact": 0.8077855156893091,
        "command": 0.5739711399711399,
        "movement": 0.5139946232433726,
        "xwoba": 0.271,
        "whiff": 31.1,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    },
    "home": {
      "team": "PHI",
      "original_runs": 5,
      "run_delta": 0.1663,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.1777595883131986,
        "contact": 0.16123310021443052,
        "power": 0.032021190089036554,
        "discipline": 0.18188396975351262,
        "xwoba": 0.31603030303030305,
        "recent_xwoba": 0.31603030303030305,
        "barrel": 6.851515151515152,
        "ab_hard_contact": -0.005198131841197807,
        "ab_bat_speed": 69.23680348283976,
        "ab_strikeout_rate": 0.19349347819536422,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "656941",
            "player_name": "Kyle Schwarber",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.9342503628832256,
            "contact": 0.6852094044575175,
            "power": 1.6622995606874011,
            "discipline": 0.028740362811791723,
            "xwoba": 0.369,
            "recent_xwoba": 0.369,
            "barrel": 16.9,
            "ab_hard_contact": 0.7589435947004077,
            "ab_bat_speed": 74.64320818327332,
            "ab_strikeout_rate": 0.3427777777777778,
            "available": 1.0
          },
          {
            "player_id": "547180",
            "player_name": "Bryce Harper",
            "position": "RF",
            "weight": 4.0,
            "quality": 1.044444026234395,
            "contact": 1.15651890105011,
            "power": 1.0753472366071237,
            "discipline": 0.813310204081633,
            "xwoba": 0.391,
            "recent_xwoba": 0.391,
            "barrel": 10.9,
            "ab_hard_contact": 1.4158971130948603,
            "ab_bat_speed": 73.24339794546852,
            "ab_strikeout_rate": 0.2114222222222222,
            "available": 1.0
          },
          {
            "player_id": "665561",
            "player_name": "Rafael Marchán",
            "position": "C",
            "weight": 3.0,
            "quality": -0.5416676804297698,
            "contact": -1.7662933960904792,
            "power": -1.616905156142574,
            "discipline": -0.2992913832199544,
            "xwoba": 0.208,
            "recent_xwoba": 0.208,
            "barrel": 2.7,
            "ab_hard_contact": -1.3209602657086204,
            "ab_bat_speed": 64.98211805555556,
            "ab_strikeout_rate": 0.16666666666666666,
            "available": 1.0
          },
          {
            "player_id": "702222",
            "player_name": "Justin Crawford",
            "position": "CF",
            "weight": 3.0,
            "quality": -0.48485833958861724,
            "contact": -0.23810998750204368,
            "power": -0.913105721859993,
            "discipline": 0.029262188208617063,
            "xwoba": 0.281,
            "recent_xwoba": 0.281,
            "barrel": 1.3,
            "ab_hard_contact": -0.808019199104618,
            "ab_bat_speed": 66.46404166666666,
            "ab_strikeout_rate": 0.1956845238095238,
            "available": 1.0
          },
          {
            "player_id": "650333",
            "player_name": "Luis Arraez",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.2559370531274358,
            "contact": 0.11857516906863474,
            "power": -0.8665943835941481,
            "discipline": 0.7220322648833547,
            "xwoba": 0.305,
            "recent_xwoba": 0.305,
            "barrel": 1.1,
            "ab_hard_contact": -0.6739829099781937,
            "ab_bat_speed": 62.17860782119116,
            "ab_strikeout_rate": 0.04498587570621469,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "664299",
        "player_name": "Cristian Javier",
        "quality": -0.19525619979414524,
        "contact": -0.5993090559024375,
        "command": 0.03297113997113995,
        "movement": -0.21612747982056602,
        "xwoba": 0.34,
        "whiff": 30.0,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    }
  },
  "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.4289,
      "recent_form_edge_home_minus_away": 0.068,
      "pitcher_matchup_edge_home_minus_away": 0.0198,
      "composite_home_edge": 0.4765,
      "existing_home_win_probability": 0.5925,
      "refreshed_home_win_probability": 0.7,
      "winner_support_before_review": 0.4765
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.592538,
  "uncapped_away_win_probability": 0.407462,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.592538,
    "discount_factor": 0.7225,
    "published_confidence": 0.566859,
    "guardrail_confidence_cap": 0.6,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.7,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.566859,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 5,
    "predicted_score_text": "HOU 4 - 5 PHI",
    "confidence": 0.566858705,
    "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 PHI",
      "winner": "PHI"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "HOU 4 - 5 PHI",
      "winner": "PHI"
    },
    "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.0198,
      "recent_form_edge_home_minus_away": 0.068,
      "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": "PHI",
      "model_winner": "PHI",
      "simulation_winner": "PHI",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 6,
        "published_winner": "PHI",
        "published_winner_draw_share": 0.5,
        "draw_majority_team": null,
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": 0.4289,
      "winner": "PHI",
      "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": "PHI",
    "display_confidence": 0.5669,
    "internal_signal_score": 0.5549,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5669,
    "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.4289,
      "winner_recent_form_edge": 0.068,
      "winner_pitcher_matchup_edge": 0.0198,
      "winner_simulation_draw_rate": 0.5,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 1.0,
      "total_runs_spread": {
        "min": 3,
        "median": 5,
        "max": 6,
        "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.00681.0068190
Home PHITrue1.02511.0251190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
2BJose Altuve3650.9530-0.6269negative_batter_regression0.27400.22200.32604.5032.2085.5010.6022.1020.407.80-0.9714
3BIsaac Paredes440.9975-0.0332neutral0.32000.24300.36104.70288624.5015.1013.1010.70-0.7714
DHYordan Alvarez51.15002neutral0.44700.32200.648016.2053.1094.301919.5017.4015.800.6571
SSJeremy Peña621.02610.3478neutral0.32500.27000.41706.6038.9088.4012.1031.4022.405.60-0.4000
1BChristian Walker1191.00590.0785neutral0.30300.22700.38808.9040.8089.1014.1029.3023.308.10-0.4857
CFDaulton Varsho2070.9930-0.0927neutral0.29200.23500.36406.803786.8015.6021.602080
RFCam Smith2051.04290.5720neutral0.31900.24000.425011.2044.308911.8029.2025.307.500.7143
LFTaylor Trammell6030.9847-0.2041neutral0.28400.19200.368011.6036.3087.8015.4038.3031.208.80-0.1143
CChristian Vázquez2940.9080-1.2266neutral0.23800.19800.27302.1022.908614.6019.3019.207.10-0.8000

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
RFBryce Harper461.11051.4739neutral0.39100.27700.498010.9044.8090.5012.70302116.300.2000
1BAlec Bohm5391.03870.5163neutral0.32200.26000.4090643.2090.50916.9014.806.900.4286
3BBryson Stott1581.03960.5285neutral0.33000.26800.40506.1037.8089.2014.5019.10179.600.2857
DHKyle Schwarber681.10491.3987neutral0.36900.24300.505016.9049.7092.4019.8033.8032.1014.40-0.2286
2BLuis Arraez640.9867-0.1775negative_batter_regression0.30500.28800.37701.101986.3016.207.604.404.70-0.8571
SSTrea Turner3730.9975-0.0328neutral0.29400.24300.36906.3039.9088.5011.4027.3021.306.40-0.1143
LFBrandon Marsh2271.02480.3304neutral0.30600.25600.40808.3043.5089.3013.4024.9024.806.10-0.3143
CFJustin Crawford4740.9659-0.4550neutral0.28100.25400.31601.3036.2087.301.5018.4017.506-0.3429
CRafael Marchán6160.9577-0.5644positive_batter_regression0.20800.18100.24802.7018.9083.2025.4016.7015.202.201.8571
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0251,
    "raw_average_factor": 1.0251,
    "team_espn_average_rank": 285.0,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "547180",
        "player_name": "Bryce Harper",
        "offense_factor": 1.1105,
        "quality_score": 1.4739,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "547180",
          "espn_id": 30951,
          "player_name": "Bryce Harper",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 46,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 46,
            "gp_value": 146.0,
            "gp_rank": 3,
            "ab_value": 513.0,
            "ab_rank": 58,
            "r_value": 86.0,
            "r_rank": 23,
            "h_value": 139.0,
            "h_rank": 38,
            "avg_value": 0.2709551,
            "avg_rank": 43.0,
            "2b_value": 28.0,
            "2b_rank": 33,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 27.0,
            "hr_rank": 21,
            "rbi_value": 82.0,
            "rbi_rank": 22,
            "tb_value": 254.0,
            "tb_rank": 208,
            "bb_value": 102.0,
            "bb_rank": 1,
            "so_value": 133.0,
            "so_rank": 45,
            "sb_value": 7.0,
            "sb_rank": 136,
            "obp_value": 0.388443,
            "obp_rank": "5",
            "slg_value": 0.4951267,
            "slg_rank": "16",
            "ops_value": 0.8835697,
            "ops_rank": 8.0,
            "war_value": 3.53,
            "war_rank": 44.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 539.0,
          "k_percent": 21.0,
          "bb_percent": 16.3,
          "woba": 0.384,
          "xwoba": 0.391,
          "xba": 0.277,
          "xslg": 0.498,
          "sweet_spot_percent": 38.3,
          "barrel_batted_rate": 10.9,
          "hard_hit_percent": 44.8,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 12.7,
          "whiff_percent": 30.0,
          "swing_percent": 49.2
        },
        "components": {
          "expected_quality": 1.6813,
          "regression_edge": 0.2,
          "xwoba_edge": 2.5,
          "xba_edge": 1.1714,
          "xslg_edge": 1.9,
          "barrel_edge": 0.9556,
          "hard_hit_edge": 1.0714,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": 0.8333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "664761",
        "player_name": "Alec Bohm",
        "offense_factor": 1.0387,
        "quality_score": 0.5163,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "664761",
          "espn_id": 41169,
          "player_name": "Alec Bohm",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 539,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 539,
            "gp_value": 139.0,
            "gp_rank": 54,
            "ab_value": 509.0,
            "ab_rank": 61,
            "r_value": 55.0,
            "r_rank": 132,
            "h_value": 125.0,
            "h_rank": 77,
            "avg_value": 0.2455795,
            "avg_rank": 90.0,
            "2b_value": 26.0,
            "2b_rank": 47,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 15.0,
            "hr_rank": 120,
            "rbi_value": 80.0,
            "rbi_rank": 27,
            "tb_value": 198.0,
            "tb_rank": 762,
            "bb_value": 39.0,
            "bb_rank": 139,
            "so_value": 83.0,
            "so_rank": 174,
            "sb_value": 2.0,
            "sb_rank": 278,
            "obp_value": 0.3078291,
            "obp_rank": "111",
            "slg_value": 0.388998,
            "slg_rank": "107",
            "ops_value": 0.6968271,
            "ops_rank": 112.0,
            "war_value": -0.25,
            "war_rank": 146.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 493.0,
          "k_percent": 14.8,
          "bb_percent": 6.9,
          "woba": 0.307,
          "xwoba": 0.322,
          "xba": 0.26,
          "xslg": 0.409,
          "sweet_spot_percent": 34.1,
          "barrel_batted_rate": 6.0,
          "hard_hit_percent": 43.2,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 9.0,
          "whiff_percent": 16.9,
          "swing_percent": 46.4
        },
        "components": {
          "expected_quality": 0.5306,
          "regression_edge": 0.4286,
          "xwoba_edge": 0.6286,
          "xba_edge": 0.6857,
          "xslg_edge": 0.6286,
          "barrel_edge": -0.1333,
          "hard_hit_edge": 0.8429,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": 0.1333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "681082",
        "player_name": "Bryson Stott",
        "offense_factor": 1.0396,
        "quality_score": 0.5285,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "681082",
          "espn_id": 42417,
          "player_name": "Bryson Stott",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 158,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 158,
            "gp_value": 139.0,
            "gp_rank": 54,
            "ab_value": 483.0,
            "ab_rank": 85,
            "r_value": 63.0,
            "r_rank": 99,
            "h_value": 121.0,
            "h_rank": 84,
            "avg_value": 0.2505175,
            "avg_rank": 75.0,
            "2b_value": 27.0,
            "2b_rank": 39,
            "3b_value": 6.0,
            "3b_rank": 7,
            "hr_value": 10.0,
            "hr_rank": 183,
            "rbi_value": 61.0,
            "rbi_rank": 93,
            "tb_value": 190.0,
            "tb_rank": 686,
            "bb_value": 53.0,
            "bb_rank": 68,
            "so_value": 93.0,
            "so_rank": 139,
            "sb_value": 24.0,
            "sb_rank": 18,
            "obp_value": 0.3265682,
            "obp_rank": "76",
            "slg_value": 0.3933747,
            "slg_rank": "99",
            "ops_value": 0.7199429,
            "ops_rank": 97.0,
            "war_value": 1.56,
            "war_rank": 104.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 473.0,
          "k_percent": 17.0,
          "bb_percent": 9.6,
          "woba": 0.32,
          "xwoba": 0.33,
          "xba": 0.268,
          "xslg": 0.405,
          "sweet_spot_percent": 35.0,
          "barrel_batted_rate": 6.1,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 14.5,
          "whiff_percent": 19.1,
          "swing_percent": 42.1
        },
        "components": {
          "expected_quality": 0.568,
          "regression_edge": 0.2857,
          "xwoba_edge": 0.8571,
          "xba_edge": 0.9143,
          "xslg_edge": 0.5714,
          "barrel_edge": -0.1111,
          "hard_hit_edge": 0.0714,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.2833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "656941",
        "player_name": "Kyle Schwarber",
        "offense_factor": 1.1049,
        "quality_score": 1.3987,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "656941",
          "espn_id": 33712,
          "player_name": "Kyle Schwarber",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 68,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 68,
            "gp_value": 140.0,
            "gp_rank": 43,
            "ab_value": 525.0,
            "ab_rank": 44,
            "r_value": 88.0,
            "r_rank": 18,
            "h_value": 127.0,
            "h_rank": 72,
            "avg_value": 0.2419047,
            "avg_rank": 102.0,
            "2b_value": 17.0,
            "2b_rank": 166,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 44.0,
            "hr_rank": 1,
            "rbi_value": 92.0,
            "rbi_rank": 9,
            "tb_value": 278.0,
            "tb_rank": 513,
            "bb_value": 90.0,
            "bb_rank": 5,
            "so_value": 203.0,
            "so_rank": 1,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3556618,
            "obp_rank": "36",
            "slg_value": 0.5295238,
            "slg_rank": "5",
            "ops_value": 0.8851856,
            "ops_rank": 7.0,
            "war_value": 2.89,
            "war_rank": 61.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 538.0,
          "k_percent": 32.1,
          "bb_percent": 14.4,
          "woba": 0.377,
          "xwoba": 0.369,
          "xba": 0.243,
          "xslg": 0.505,
          "sweet_spot_percent": 39.3,
          "barrel_batted_rate": 16.9,
          "hard_hit_percent": 49.7,
          "exit_velocity_avg": 92.4,
          "launch_angle_avg": 19.8,
          "whiff_percent": 33.8,
          "swing_percent": 44.4
        },
        "components": {
          "expected_quality": 1.6636,
          "regression_edge": -0.2286,
          "xwoba_edge": 1.9714,
          "xba_edge": 0.2,
          "xslg_edge": 2.0,
          "barrel_edge": 2.2889,
          "hard_hit_edge": 1.7714,
          "exit_velocity_edge": 1.6,
          "sweet_spot_edge": 1.0,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "2B",
        "player_id": "650333",
        "player_name": "Luis Arraez",
        "offense_factor": 0.9867,
        "quality_score": -0.1775,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "650333",
          "espn_id": 39572,
          "player_name": "Luis Arraez",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 64,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 64,
            "gp_value": 138.0,
            "gp_rank": 64,
            "ab_value": 548.0,
            "ab_rank": 22,
            "r_value": 65.0,
            "r_rank": 86,
            "h_value": 174.0,
            "h_rank": 1,
            "avg_value": 0.3175182,
            "avg_rank": 1.0,
            "2b_value": 30.0,
            "2b_rank": 14,
            "3b_value": 7.0,
            "3b_rank": 4,
            "hr_value": 6.0,
            "hr_rank": 280,
            "rbi_value": 58.0,
            "rbi_rank": 107,
            "tb_value": 236.0,
            "tb_rank": 861,
            "bb_value": 29.0,
            "bb_rank": 205,
            "so_value": 26.0,
            "so_rank": 443,
            "sb_value": 10.0,
            "sb_rank": 88,
            "obp_value": 0.3501683,
            "obp_rank": "42",
            "slg_value": 0.4306569,
            "slg_rank": "62",
            "ops_value": 0.7808252,
            "ops_rank": 57.0,
            "war_value": 2.95,
            "war_rank": 57.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 514.0,
          "k_percent": 4.4,
          "bb_percent": 4.7,
          "woba": 0.335,
          "xwoba": 0.305,
          "xba": 0.288,
          "xslg": 0.377,
          "sweet_spot_percent": 39.6,
          "barrel_batted_rate": 1.1,
          "hard_hit_percent": 19.0,
          "exit_velocity_avg": 86.3,
          "launch_angle_avg": 16.2,
          "whiff_percent": 7.6,
          "swing_percent": 49.5
        },
        "components": {
          "expected_quality": -0.0669,
          "regression_edge": -0.8571,
          "xwoba_edge": 0.1429,
          "xba_edge": 1.4857,
          "xslg_edge": 0.1714,
          "barrel_edge": -1.2222,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -0.84,
          "sweet_spot_edge": 1.05,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "607208",
        "player_name": "Trea Turner",
        "offense_factor": 0.9975,
        "quality_score": -0.0328,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "607208",
          "espn_id": 33710,
          "player_name": "Trea Turner",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 373,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 373,
            "gp_value": 141.0,
            "gp_rank": 33,
            "ab_value": 581.0,
            "ab_rank": 1,
            "r_value": 93.0,
            "r_rank": 7,
            "h_value": 141.0,
            "h_rank": 30,
            "avg_value": 0.242685,
            "avg_rank": 100.0,
            "2b_value": 27.0,
            "2b_rank": 39,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 19.0,
            "hr_rank": 73,
            "rbi_value": 56.0,
            "rbi_rank": 116,
            "tb_value": 227.0,
            "tb_rank": 566,
            "bb_value": 40.0,
            "bb_rank": 135,
            "so_value": 134.0,
            "so_rank": 42,
            "sb_value": 19.0,
            "sb_rank": 35,
            "obp_value": 0.2945859,
            "obp_rank": "131",
            "slg_value": 0.3907056,
            "slg_rank": "103",
            "ops_value": 0.6852915,
            "ops_rank": 121.0,
            "war_value": 0.1,
            "war_rank": 139.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 540.0,
          "k_percent": 21.3,
          "bb_percent": 6.4,
          "woba": 0.298,
          "xwoba": 0.294,
          "xba": 0.243,
          "xslg": 0.369,
          "sweet_spot_percent": 32.5,
          "barrel_batted_rate": 6.3,
          "hard_hit_percent": 39.9,
          "exit_velocity_avg": 88.5,
          "launch_angle_avg": 11.4,
          "whiff_percent": 27.3,
          "swing_percent": 50.5
        },
        "components": {
          "expected_quality": -0.0196,
          "regression_edge": -0.1143,
          "xwoba_edge": -0.1714,
          "xba_edge": 0.2,
          "xslg_edge": 0.0571,
          "barrel_edge": -0.0667,
          "hard_hit_edge": 0.3714,
          "exit_velocity_edge": 0.04,
          "sweet_spot_edge": -0.1333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "669016",
        "player_name": "Brandon Marsh",
        "offense_factor": 1.0248,
        "quality_score": 0.3304,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669016",
          "espn_id": 40803,
          "player_name": "Brandon Marsh",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 227,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 227,
            "gp_value": 140.0,
            "gp_rank": 43,
            "ab_value": 488.0,
            "ab_rank": 80,
            "r_value": 67.0,
            "r_rank": 74,
            "h_value": 131.0,
            "h_rank": 61,
            "avg_value": 0.2684426,
            "avg_rank": 45.0,
            "2b_value": 19.0,
            "2b_rank": 133,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 17.0,
            "hr_rank": 92,
            "rbi_value": 58.0,
            "rbi_rank": 107,
            "tb_value": 205.0,
            "tb_rank": 622,
            "bb_value": 32.0,
            "bb_rank": 192,
            "so_value": 130.0,
            "so_rank": 50,
            "sb_value": 11.0,
            "sb_rank": 78,
            "obp_value": 0.3136882,
            "obp_rank": "101",
            "slg_value": 0.4200819,
            "slg_rank": "76",
            "ops_value": 0.7337701,
            "ops_rank": 85.0,
            "war_value": 0.9,
            "war_rank": 121.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 470.0,
          "k_percent": 24.8,
          "bb_percent": 6.1,
          "woba": 0.317,
          "xwoba": 0.306,
          "xba": 0.256,
          "xslg": 0.408,
          "sweet_spot_percent": 41.8,
          "barrel_batted_rate": 8.3,
          "hard_hit_percent": 43.5,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 13.4,
          "whiff_percent": 24.9,
          "swing_percent": 52.1
        },
        "components": {
          "expected_quality": 0.4354,
          "regression_edge": -0.3143,
          "xwoba_edge": 0.1714,
          "xba_edge": 0.5714,
          "xslg_edge": 0.6143,
          "barrel_edge": 0.3778,
          "hard_hit_edge": 0.8857,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 1.4167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "702222",
        "player_name": "Justin Crawford",
        "offense_factor": 0.9659,
        "quality_score": -0.455,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "702222",
          "espn_id": 5080642,
          "player_name": "Justin Crawford",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 474,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 474,
            "gp_value": 135.0,
            "gp_rank": 82,
            "ab_value": 384.0,
            "ab_rank": 157,
            "r_value": 46.0,
            "r_rank": 178,
            "h_value": 101.0,
            "h_rank": 135,
            "avg_value": 0.2630208,
            "avg_rank": null,
            "2b_value": 18.0,
            "2b_rank": 149,
            "3b_value": 4.0,
            "3b_rank": 19,
            "hr_value": 2.0,
            "hr_rank": 421,
            "rbi_value": 35.0,
            "rbi_rank": 239,
            "tb_value": 133.0,
            "tb_rank": 1315,
            "bb_value": 25.0,
            "bb_rank": 241,
            "so_value": 74.0,
            "so_rank": 208,
            "sb_value": 16.0,
            "sb_rank": 54,
            "obp_value": 0.3108433,
            "obp_rank": "-",
            "slg_value": 0.3463541,
            "slg_rank": "-",
            "ops_value": 0.6571974,
            "ops_rank": null,
            "war_value": -0.1,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 366.0,
          "k_percent": 17.5,
          "bb_percent": 6.0,
          "woba": 0.293,
          "xwoba": 0.281,
          "xba": 0.254,
          "xslg": 0.316,
          "sweet_spot_percent": 27.9,
          "barrel_batted_rate": 1.3,
          "hard_hit_percent": 36.2,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 1.5,
          "whiff_percent": 18.4,
          "swing_percent": 53.3
        },
        "components": {
          "expected_quality": -0.4733,
          "regression_edge": -0.3429,
          "xwoba_edge": -0.5429,
          "xba_edge": 0.5143,
          "xslg_edge": -0.7,
          "barrel_edge": -1.1778,
          "hard_hit_edge": -0.1571,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": -0.9,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "665561",
        "player_name": "Rafael Marchán",
        "offense_factor": 0.9577,
        "quality_score": -0.5644,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "665561",
          "espn_id": 40816,
          "player_name": "Rafael Marchan",
          "team": "PHI",
          "role": "batter",
          "espn_rank": 616,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 616,
            "gp_value": 32.0,
            "gp_rank": 458,
            "ab_value": 88.0,
            "ab_rank": 449,
            "r_value": 5.0,
            "r_rank": 509,
            "h_value": 9.0,
            "h_rank": 513,
            "avg_value": 0.1022727,
            "avg_rank": null,
            "2b_value": 0.0,
            "2b_rank": 575,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 2.0,
            "hr_rank": 421,
            "rbi_value": 6.0,
            "rbi_rank": 491,
            "tb_value": 15.0,
            "tb_rank": 2929,
            "bb_value": 2.0,
            "bb_rank": 530,
            "so_value": 14.0,
            "so_rank": 514,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.1413043,
            "obp_rank": "-",
            "slg_value": 0.1704545,
            "slg_rank": "-",
            "ops_value": 0.3117588,
            "ops_rank": null,
            "war_value": -0.63,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 89.0,
          "k_percent": 15.2,
          "bb_percent": 2.2,
          "woba": 0.143,
          "xwoba": 0.208,
          "xba": 0.181,
          "xslg": 0.248,
          "sweet_spot_percent": 32.4,
          "barrel_batted_rate": 2.7,
          "hard_hit_percent": 18.9,
          "exit_velocity_avg": 83.2,
          "launch_angle_avg": 25.4,
          "whiff_percent": 16.7,
          "swing_percent": 49.7
        },
        "components": {
          "expected_quality": -1.7607,
          "regression_edge": 1.8571,
          "xwoba_edge": -2.5,
          "xba_edge": -1.5714,
          "xslg_edge": -1.6714,
          "barrel_edge": -0.8667,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -2.08,
          "sweet_spot_edge": -0.15,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0068,
    "raw_average_factor": 1.0068,
    "team_espn_average_rank": 211.56,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "2B",
        "player_id": "514888",
        "player_name": "Jose Altuve",
        "offense_factor": 0.953,
        "quality_score": -0.6269,
        "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": 365,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 365,
            "gp_value": 119.0,
            "gp_rank": 147,
            "ab_value": 459.0,
            "ab_rank": 104,
            "r_value": 65.0,
            "r_rank": 86,
            "h_value": 112.0,
            "h_rank": 104,
            "avg_value": 0.2440087,
            "avg_rank": 96.0,
            "2b_value": 21.0,
            "2b_rank": 107,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 15.0,
            "hr_rank": 120,
            "rbi_value": 44.0,
            "rbi_rank": 179,
            "tb_value": 182.0,
            "tb_rank": 723,
            "bb_value": 39.0,
            "bb_rank": 139,
            "so_value": 103.0,
            "so_rank": 109,
            "sb_value": 4.0,
            "sb_rank": 199,
            "obp_value": 0.3055555,
            "obp_rank": "115",
            "slg_value": 0.3965141,
            "slg_rank": "95",
            "ops_value": 0.7020696,
            "ops_rank": 110.0,
            "war_value": 0.13,
            "war_rank": 138.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 423.0,
          "k_percent": 20.4,
          "bb_percent": 7.8,
          "woba": 0.308,
          "xwoba": 0.274,
          "xba": 0.222,
          "xslg": 0.326,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 4.5,
          "hard_hit_percent": 32.2,
          "exit_velocity_avg": 85.5,
          "launch_angle_avg": 10.6,
          "whiff_percent": 22.1,
          "swing_percent": 48.9
        },
        "components": {
          "expected_quality": -0.5708,
          "regression_edge": -0.9714,
          "xwoba_edge": -0.7429,
          "xba_edge": -0.4,
          "xslg_edge": -0.5571,
          "barrel_edge": -0.4667,
          "hard_hit_edge": -0.7286,
          "exit_velocity_edge": -1.16,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "670623",
        "player_name": "Isaac Paredes",
        "offense_factor": 0.9975,
        "quality_score": -0.0332,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "670623",
          "espn_id": 39706,
          "player_name": "Isaac Paredes",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 44,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 44,
            "gp_value": 139.0,
            "gp_rank": 54,
            "ab_value": 504.0,
            "ab_rank": 67,
            "r_value": 59.0,
            "r_rank": 114,
            "h_value": 131.0,
            "h_rank": 61,
            "avg_value": 0.2599206,
            "avg_rank": 61.0,
            "2b_value": 25.0,
            "2b_rank": 55,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 19.0,
            "hr_rank": 73,
            "rbi_value": 82.0,
            "rbi_rank": 22,
            "tb_value": 215.0,
            "tb_rank": 613,
            "bb_value": 63.0,
            "bb_rank": 39,
            "so_value": 78.0,
            "so_rank": 193,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.360406,
            "obp_rank": "30",
            "slg_value": 0.4265873,
            "slg_rank": "68",
            "ops_value": 0.7869933,
            "ops_rank": 53.0,
            "war_value": 3.58,
            "war_rank": 41.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 504.0,
          "k_percent": 13.1,
          "bb_percent": 10.7,
          "woba": 0.347,
          "xwoba": 0.32,
          "xba": 0.243,
          "xslg": 0.361,
          "sweet_spot_percent": 37.6,
          "barrel_batted_rate": 4.7,
          "hard_hit_percent": 28.0,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 24.5,
          "whiff_percent": 15.1,
          "swing_percent": 43.6
        },
        "components": {
          "expected_quality": 0.087,
          "regression_edge": -0.7714,
          "xwoba_edge": 0.5714,
          "xba_edge": 0.2,
          "xslg_edge": -0.0571,
          "barrel_edge": -0.4222,
          "hard_hit_edge": -1.3286,
          "exit_velocity_edge": -0.96,
          "sweet_spot_edge": 0.7167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "670541",
        "player_name": "Yordan Alvarez",
        "offense_factor": 1.15,
        "quality_score": 2.0,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "670541",
          "espn_id": 36018,
          "player_name": "Yordan Alvarez",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 5,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 5,
            "gp_value": 144.0,
            "gp_rank": 16,
            "ab_value": 519.0,
            "ab_rank": 48,
            "r_value": 95.0,
            "r_rank": 4,
            "h_value": 162.0,
            "h_rank": 4,
            "avg_value": 0.3121387,
            "avg_rank": 2.0,
            "2b_value": 30.0,
            "2b_rank": 14,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 38.0,
            "hr_rank": 4,
            "rbi_value": 96.0,
            "rbi_rank": 6,
            "tb_value": 308.0,
            "tb_rank": 276,
            "bb_value": 99.0,
            "bb_rank": 2,
            "so_value": 110.0,
            "so_rank": 94,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.42812,
            "obp_rank": "1",
            "slg_value": 0.5934489,
            "slg_rank": "1",
            "ops_value": 1.0215689,
            "ops_rank": 1.0,
            "war_value": 5.9,
            "war_rank": 5.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 520.0,
          "k_percent": 17.4,
          "bb_percent": 15.8,
          "woba": 0.424,
          "xwoba": 0.447,
          "xba": 0.322,
          "xslg": 0.648,
          "sweet_spot_percent": 41.1,
          "barrel_batted_rate": 16.2,
          "hard_hit_percent": 53.1,
          "exit_velocity_avg": 94.3,
          "launch_angle_avg": 19.0,
          "whiff_percent": 19.5,
          "swing_percent": 43.3
        },
        "components": {
          "expected_quality": 2.3288,
          "regression_edge": 0.6571,
          "xwoba_edge": 2.5,
          "xba_edge": 2.4571,
          "xslg_edge": 2.5,
          "barrel_edge": 2.1333,
          "hard_hit_edge": 2.2571,
          "exit_velocity_edge": 2.36,
          "sweet_spot_edge": 1.3,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "SS",
        "player_id": "665161",
        "player_name": "Jeremy Peña",
        "offense_factor": 1.0261,
        "quality_score": 0.3478,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665161",
          "espn_id": 41273,
          "player_name": "Jeremy Pena",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 62,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 62,
            "gp_value": 96.0,
            "gp_rank": 223,
            "ab_value": 383.0,
            "ab_rank": 158,
            "r_value": 70.0,
            "r_rank": 63,
            "h_value": 104.0,
            "h_rank": 126,
            "avg_value": 0.2715404,
            "avg_rank": null,
            "2b_value": 18.0,
            "2b_rank": 149,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 17.0,
            "hr_rank": 92,
            "rbi_value": 47.0,
            "rbi_rank": 162,
            "tb_value": 175.0,
            "tb_rank": 829,
            "bb_value": 23.0,
            "bb_rank": 260,
            "so_value": 94.0,
            "so_rank": 137,
            "sb_value": 9.0,
            "sb_rank": 105,
            "obp_value": 0.3245192,
            "obp_rank": "-",
            "slg_value": 0.456919,
            "slg_rank": "-",
            "ops_value": 0.7814382,
            "ops_rank": null,
            "war_value": 2.99,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 336.0,
          "k_percent": 22.4,
          "bb_percent": 5.6,
          "woba": 0.339,
          "xwoba": 0.325,
          "xba": 0.27,
          "xslg": 0.417,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 6.6,
          "hard_hit_percent": 38.9,
          "exit_velocity_avg": 88.4,
          "launch_angle_avg": 12.1,
          "whiff_percent": 31.4,
          "swing_percent": 55.3
        },
        "components": {
          "expected_quality": 0.4695,
          "regression_edge": -0.4,
          "xwoba_edge": 0.7143,
          "xba_edge": 0.9714,
          "xslg_edge": 0.7429,
          "barrel_edge": 0.0,
          "hard_hit_edge": 0.2286,
          "exit_velocity_edge": 0.0,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "572233",
        "player_name": "Christian Walker",
        "offense_factor": 1.0059,
        "quality_score": 0.0785,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "572233",
          "espn_id": 32758,
          "player_name": "Christian Walker",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 119,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 119,
            "gp_value": 141.0,
            "gp_rank": 33,
            "ab_value": 517.0,
            "ab_rank": 52,
            "r_value": 65.0,
            "r_rank": 86,
            "h_value": 118.0,
            "h_rank": 90,
            "avg_value": 0.2282398,
            "avg_rank": 120.0,
            "2b_value": 25.0,
            "2b_rank": 55,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 25.0,
            "hr_rank": 29,
            "rbi_value": 80.0,
            "rbi_rank": 27,
            "tb_value": 220.0,
            "tb_rank": 510,
            "bb_value": 46.0,
            "bb_rank": 94,
            "so_value": 133.0,
            "so_rank": 45,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.3026086,
            "obp_rank": "118",
            "slg_value": 0.4255319,
            "slg_rank": "70",
            "ops_value": 0.7281405,
            "ops_rank": 91.0,
            "war_value": 1.98,
            "war_rank": 92.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 498.0,
          "k_percent": 23.3,
          "bb_percent": 8.1,
          "woba": 0.32,
          "xwoba": 0.303,
          "xba": 0.227,
          "xslg": 0.388,
          "sweet_spot_percent": 30.9,
          "barrel_batted_rate": 8.9,
          "hard_hit_percent": 40.8,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 14.1,
          "whiff_percent": 29.3,
          "swing_percent": 50.2
        },
        "components": {
          "expected_quality": 0.1704,
          "regression_edge": -0.4857,
          "xwoba_edge": 0.0857,
          "xba_edge": -0.2571,
          "xslg_edge": 0.3286,
          "barrel_edge": 0.5111,
          "hard_hit_edge": 0.5,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": -0.4,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "662139",
        "player_name": "Daulton Varsho",
        "offense_factor": 0.993,
        "quality_score": -0.0927,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "662139",
          "espn_id": 40963,
          "player_name": "Daulton Varsho",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 207,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 207,
            "gp_value": 131.0,
            "gp_rank": 100,
            "ab_value": 452.0,
            "ab_rank": 107,
            "r_value": 50.0,
            "r_rank": 158,
            "h_value": 104.0,
            "h_rank": 126,
            "avg_value": 0.2300884,
            "avg_rank": 116.0,
            "2b_value": 23.0,
            "2b_rank": 83,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 11.0,
            "hr_rank": 164,
            "rbi_value": 39.0,
            "rbi_rank": 206,
            "tb_value": 166.0,
            "tb_rank": 775,
            "bb_value": 39.0,
            "bb_rank": 139,
            "so_value": 98.0,
            "so_rank": 123,
            "sb_value": 12.0,
            "sb_rank": 69,
            "obp_value": 0.2935222,
            "obp_rank": "133",
            "slg_value": 0.3672566,
            "slg_rank": "125",
            "ops_value": 0.6607788,
            "ops_rank": 134.0,
            "war_value": 1.0,
            "war_rank": 118.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 412.0,
          "k_percent": 20.0,
          "bb_percent": 8.0,
          "woba": 0.292,
          "xwoba": 0.292,
          "xba": 0.235,
          "xslg": 0.364,
          "sweet_spot_percent": 33.0,
          "barrel_batted_rate": 6.8,
          "hard_hit_percent": 37.0,
          "exit_velocity_avg": 86.8,
          "launch_angle_avg": 15.6,
          "whiff_percent": 21.6,
          "swing_percent": 52.6
        },
        "components": {
          "expected_quality": -0.1078,
          "regression_edge": 0.0,
          "xwoba_edge": -0.2286,
          "xba_edge": -0.0286,
          "xslg_edge": -0.0143,
          "barrel_edge": 0.0444,
          "hard_hit_edge": -0.0429,
          "exit_velocity_edge": -0.64,
          "sweet_spot_edge": -0.05,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "701358",
        "player_name": "Cam Smith",
        "offense_factor": 1.0429,
        "quality_score": 0.572,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "701358",
          "espn_id": 5080766,
          "player_name": "Cam Smith",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 205,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 205,
            "gp_value": 142.0,
            "gp_rank": 30,
            "ab_value": 458.0,
            "ab_rank": 105,
            "r_value": 61.0,
            "r_rank": 108,
            "h_value": 99.0,
            "h_rank": 138,
            "avg_value": 0.2161572,
            "avg_rank": 135.0,
            "2b_value": 16.0,
            "2b_rank": 180,
            "3b_value": 6.0,
            "3b_rank": 7,
            "hr_value": 19.0,
            "hr_rank": 73,
            "rbi_value": 53.0,
            "rbi_rank": 131,
            "tb_value": 184.0,
            "tb_rank": 551,
            "bb_value": 38.0,
            "bb_rank": 148,
            "so_value": 128.0,
            "so_rank": 55,
            "sb_value": 10.0,
            "sb_rank": 88,
            "obp_value": 0.281496,
            "obp_rank": "144",
            "slg_value": 0.4017467,
            "slg_rank": "93",
            "ops_value": 0.6832427,
            "ops_rank": 124.0,
            "war_value": 1.01,
            "war_rank": 117.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 444.0,
          "k_percent": 25.3,
          "bb_percent": 7.5,
          "woba": 0.294,
          "xwoba": 0.319,
          "xba": 0.24,
          "xslg": 0.425,
          "sweet_spot_percent": 30.7,
          "barrel_batted_rate": 11.2,
          "hard_hit_percent": 44.3,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 11.8,
          "whiff_percent": 29.2,
          "swing_percent": 48.9
        },
        "components": {
          "expected_quality": 0.5488,
          "regression_edge": 0.7143,
          "xwoba_edge": 0.5429,
          "xba_edge": 0.1143,
          "xslg_edge": 0.8571,
          "barrel_edge": 1.0222,
          "hard_hit_edge": 1.0,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": -0.4333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "666211",
        "player_name": "Taylor Trammell",
        "offense_factor": 0.9847,
        "quality_score": -0.2041,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "666211",
          "espn_id": 37773,
          "player_name": "Taylor Trammell",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 603,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 603,
            "gp_value": 87.0,
            "gp_rank": 267,
            "ab_value": 223.0,
            "ab_rank": 293,
            "r_value": 27.0,
            "r_rank": 294,
            "h_value": 46.0,
            "h_rank": 316,
            "avg_value": 0.206278,
            "avg_rank": null,
            "2b_value": 9.0,
            "2b_rank": 291,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 7.0,
            "hr_rank": 252,
            "rbi_value": 20.0,
            "rbi_rank": 338,
            "tb_value": 80.0,
            "tb_rank": 1515,
            "bb_value": 22.0,
            "bb_rank": 269,
            "so_value": 78.0,
            "so_rank": 193,
            "sb_value": 4.0,
            "sb_rank": 199,
            "obp_value": 0.2891566,
            "obp_rank": "-",
            "slg_value": 0.3587443,
            "slg_rank": "-",
            "ops_value": 0.6479009,
            "ops_rank": null,
            "war_value": -0.54,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 201.0,
          "k_percent": 31.2,
          "bb_percent": 8.8,
          "woba": 0.288,
          "xwoba": 0.284,
          "xba": 0.192,
          "xslg": 0.368,
          "sweet_spot_percent": 28.8,
          "barrel_batted_rate": 11.6,
          "hard_hit_percent": 36.3,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 15.4,
          "whiff_percent": 38.3,
          "swing_percent": 48.3
        },
        "components": {
          "expected_quality": -0.2411,
          "regression_edge": -0.1143,
          "xwoba_edge": -0.4571,
          "xba_edge": -1.2571,
          "xslg_edge": 0.0429,
          "barrel_edge": 1.1111,
          "hard_hit_edge": -0.1429,
          "exit_velocity_edge": -0.24,
          "sweet_spot_edge": -0.75,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "543877",
        "player_name": "Christian Vázquez",
        "offense_factor": 0.908,
        "quality_score": -1.2266,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "543877",
          "espn_id": 31389,
          "player_name": "Christian Vazquez",
          "team": "HOU",
          "role": "batter",
          "espn_rank": 294,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 294,
            "gp_value": 82.0,
            "gp_rank": 289,
            "ab_value": 231.0,
            "ab_rank": 286,
            "r_value": 22.0,
            "r_rank": 330,
            "h_value": 49.0,
            "h_rank": 298,
            "avg_value": 0.2121212,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": 330,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 7.0,
            "hr_rank": 252,
            "rbi_value": 25.0,
            "rbi_rank": 302,
            "tb_value": 77.0,
            "tb_rank": 1962,
            "bb_value": 18.0,
            "bb_rank": 304,
            "so_value": 49.0,
            "so_rank": 310,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.268,
            "obp_rank": "-",
            "slg_value": 0.3333333,
            "slg_rank": "-",
            "ops_value": 0.6013333,
            "ops_rank": null,
            "war_value": 0.45,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 225.0,
          "k_percent": 19.2,
          "bb_percent": 7.1,
          "woba": 0.266,
          "xwoba": 0.238,
          "xba": 0.198,
          "xslg": 0.273,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 2.1,
          "hard_hit_percent": 22.9,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 14.6,
          "whiff_percent": 19.3,
          "swing_percent": 48.0
        },
        "components": {
          "expected_quality": -1.2961,
          "regression_edge": -0.8,
          "xwoba_edge": -1.7714,
          "xba_edge": -1.0857,
          "xslg_edge": -1.3143,
          "barrel_edge": -1.0,
          "hard_hit_edge": -2.0571,
          "exit_velocity_edge": -0.96,
          "sweet_spot_edge": -0.2333,
          "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 HOUTrue734-0.18620.66801.01581.02061.00941.0351neutral0.34000.360022.409.90309.4035.60
Home PHITrue110.668410.94321.07940.97400.9349neutral0.27100.287029.807.9031.106.3035

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away HOUTrueNone8688.56233300000000-0.0734
Home PHITrueNone9990.042373000000000.0094
Run FactorValue
away_runs_vs_home_pitcher0.9677
home_runs_vs_away_pitcher1.0009
home_pitcher_starter_only_factor0.9432
away_pitcher_starter_only_factor1.0106
home_pitcher_workload_share0.6296
away_pitcher_workload_share0.4815
home_pitcher_quality_edge0.5105
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "554430",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 473.0,
      "k_percent": 29.8,
      "bb_percent": 7.9,
      "woba": 0.287,
      "xwoba": 0.271,
      "sweet_spot_percent": 34.4,
      "barrel_batted_rate": 6.3,
      "hard_hit_percent": 35.0,
      "avg_best_speed": 74.929,
      "avg_hyper_speed": 93.4258,
      "whiff_percent": 31.1,
      "swing_percent": 49.5
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.706,
      "command_and_miss": 0.8714,
      "regression_edge": 0.4571,
      "xwoba_edge": 1.1429,
      "barrel_edge": 0.1778,
      "hard_hit_edge": 0.4143,
      "whiff_edge": 0.8714,
      "bb_edge": 0.325,
      "pitch_design_score": 0.0094
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "554430",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 99,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 99,
        "pitch_usage": 0.0,
        "release_speed": 90.04289921739226,
        "release_spin_rate": 2372.877200953717,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 99,
          "pitch_usage": 0.0,
          "release_speed": 90.04289921739226,
          "release_spin_rate": 2372.877200953717,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0429,
        "release_spin_rate": 2372.8772,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0094,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.0671,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.6684,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9432,
    "strikeout_factor": 1.0794,
    "walk_factor": 0.974,
    "homer_factor": 0.9349,
    "woba_minus_xwoba": 0.016,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "554430",
      "espn_id": 31267,
      "player_name": "Zack Wheeler",
      "team": "PHI",
      "role": "pitcher",
      "espn_rank": 11,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 11,
        "gp_value": 24.0,
        "gp_rank": 339,
        "gs_value": 24.0,
        "gs_rank": 71,
        "qs_value": 14.0,
        "qs_rank": 23,
        "era_value": 3.2347,
        "era_rank": null,
        "w_value": 12.0,
        "w_rank": 17,
        "l_value": 5.0,
        "l_rank": 135,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 136.1,
        "ip_rank": 69,
        "h_value": 104.0,
        "h_rank": 111,
        "er_value": 49.0,
        "er_rank": 107,
        "hr_value": 20.0,
        "hr_rank": 38,
        "bb_value": 43.0,
        "bb_rank": 67,
        "k_value": 163.0,
        "k_rank": 23,
        "k_per_9_value": 10.760391,
        "k_per_9_rank": 9,
        "whip_value": 1.0782,
        "whip_rank": null,
        "war_value": 4.44,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "664299",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 167.0,
      "k_percent": 22.4,
      "bb_percent": 9.9,
      "woba": 0.36,
      "xwoba": 0.34,
      "sweet_spot_percent": 39.6,
      "barrel_batted_rate": 9.4,
      "hard_hit_percent": 35.6,
      "avg_best_speed": 79.9323,
      "avg_hyper_speed": 94.1518,
      "whiff_percent": 30.0,
      "swing_percent": 51.8
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.7011,
      "command_and_miss": 0.2407,
      "regression_edge": 0.5714,
      "xwoba_edge": -0.8286,
      "barrel_edge": -0.5111,
      "hard_hit_edge": 0.3286,
      "whiff_edge": 0.7143,
      "bb_edge": -0.175,
      "pitch_design_score": -0.0734
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "664299",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 86,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 86,
        "pitch_usage": 0.0,
        "release_speed": 88.56457245574717,
        "release_spin_rate": 2333.204506137456,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 86,
          "pitch_usage": 0.0,
          "release_speed": 88.56457245574717,
          "release_spin_rate": 2333.204506137456,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.5646,
        "release_spin_rate": 2333.2045,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0734,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.5242,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1862,
    "sample_weight": 0.668,
    "run_prevention_factor": 1.0158,
    "strikeout_factor": 1.0206,
    "walk_factor": 1.0094,
    "homer_factor": 1.0351,
    "woba_minus_xwoba": 0.02,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "664299",
      "espn_id": 41261,
      "player_name": "Cristian Javier",
      "team": "HOU",
      "role": "pitcher",
      "espn_rank": 734,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 734,
        "gp_value": 14.0,
        "gp_rank": 473,
        "gs_value": 9.0,
        "gs_rank": 179,
        "qs_value": 1.0,
        "qs_rank": 176,
        "era_value": 5.9798,
        "era_rank": null,
        "w_value": 2.0,
        "w_rank": 316,
        "l_value": 5.0,
        "l_rank": 135,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 49.2,
        "ip_rank": 302,
        "h_value": 55.0,
        "h_rank": 210,
        "er_value": 33.0,
        "er_rank": 173,
        "hr_value": 9.0,
        "hr_rank": 176,
        "bb_value": 22.0,
        "bb_rank": 260,
        "k_value": 50.0,
        "k_rank": 291,
        "k_per_9_value": 9.060403,
        "k_per_9_rank": 26,
        "whip_value": 1.5503,
        "whip_rank": null,
        "war_value": -0.37,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9677,
    "home_runs_vs_away_pitcher": 1.0009,
    "home_pitcher_starter_only_factor": 0.9432,
    "away_pitcher_starter_only_factor": 1.0106,
    "home_pitcher_workload_share": 0.6296,
    "away_pitcher_workload_share": 0.4815,
    "home_pitcher_quality_edge": 0.5105
  },
  "score_before": {
    "away_runs": 3.0,
    "home_runs": 6.0
  },
  "score_after": {
    "away_runs": 2.9032,
    "home_runs": 6.0056,
    "home_win_probability": 0.7729
  },
  "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 HOU6-40.6004.203.7051Laverageaverage
Home PHI6-40.6004.103111Waveragestrong

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away HOU74-720.507-41-0.281True
Home PHI82-640.562380.260True
Signal--0.5410.429applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-09HOU @ PHI7 - 11PHI4blowout
2026-09-08HOU @ PHI6 - 5HOU1close

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target HOU--4----
Game target PHI--5----
Player finalized HOU33841439
Player finalized PHI33941437
Player model fractional HOU34.817.554.151.364.102.908.80
Player model fractional PHI33.568.624.261.264.623.116.72
Simulation box HOU35840437
Simulation box PHI31750538

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 HOUStarterCristian Javier456724.961.39True
Away HOUMiddle Reliever (High Leverage)AJ Blubaugh1.1000005.041.58True
Away HOUSetup ManBryan Abreu100012.081.12True
Away HOUCloserJosh Hader100002.500.84True
Away HOUMiddle Reliever (High Leverage)Enyel De Los Santos0.2002003.101.18True
Home PHIStarterZack Wheeler5.2036714.811.37True
Home PHICloserJhoan Duran100012.471.15True
Home PHISetup ManJonathan Bowlan100005.191.15True
Home PHIMiddle Reliever (High Leverage)Orion Kerkering110106.621.52True
Home PHIMiddle Reliever (High Leverage)Brooks Raley0.1001013.391.38True
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
homePHIbatterDHKyle Schwarberworse103746predicted_AB-1.9300deboostworse
homePHIbatter2BLuis Arraezworse115647predicted_SO1.8160boostworse
awayHOUbatter2BJose Altuveworse114756predicted_RBI1.6500boostbetter
awayHOUbatterDHYordan Alvarezdeboosted104655predicted_H1.6500boostbetter
awayHOUbatterCFDaulton Varshoworse101928predicted_AB-1.6100deboostworse
awayHOUbatterSSJeremy Peñaworse93636predicted_RBI1.5000boostbetter
awayHOUbatterCChristian Vázquezworse92718predicted_SO1.3800boostworse
homePHIbatterSSTrea Turnerworse1111029predicted_AB-1.3700deboostworse
homePHIbatter3BBryson Stottworse1129110predicted_SO1.3410boostworse
awayHOUbatter3BIsaac Paredesworse113829predicted_H-1.0900deboostworse
homePHIbatterRFBryce Harperworse84435predicted_SO1.0760boostworse
homePHIpitcherStarterZack Wheelerbetter41331predicted_ER-1.0000deboostbetter
homePHIpitcherMiddle Reliever (High Leverage)Orion Kerkeringworse32103predicted_ER1.0000boostworse
awayHOUbatterRFCam Smithworse103737predicted_H-0.8400deboostworse
homePHIbatterCFJustin Crawfordbetter96372predicted_BB0.8060boostbetter
homePHIbatterLFBrandon Marshworse115647predicted_BB0.7660boostbetter
homePHIbatter1BAlec Bohmworse103746predicted_AB-0.7430deboostworse
awayHOUbatterLFTaylor Trammellworse102828predicted_BB0.7370boostbetter
awayHOUbatter1BChristian Walkerworse94536predicted_RBI-0.5800deboostworse
homePHIbatterCRafael Marchánworse91809predicted_SO0.5170boostworse
awayHOUpitcherStarterCristian Javierworse10101predicted_IP-0.3333deboostworse
awayHOUpitcherMiddle Reliever (High Leverage)AJ Blubaughworse10101predicted_IP-0.2333deboostworse
homePHIpitcherMiddle Reliever (High Leverage)Brooks Raleyworse10101predicted_IP-0.2333deboostworse
awayHOUpitcherMiddle Reliever (High Leverage)Enyel De Los Santosworse10101predicted_IP-0.1333deboostworse

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
PitcherCristian Javier
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1862
ESPN Rank734
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0734
Avg Velo88.5646
Avg Spin2333.2045
HB Inches0
IVB Inches0
Release Extension0
Pre IP4
Pre ER5
Pre H7
Pre BB2
Pre SO6
Season ERA5.9799
Season WHIP1.5503
Role Avg IP4.0370
Recent Avg IP4.8000
Last Start IP5
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "opponent": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "edges": {
    "quality_edge": -0.1127,
    "offense_edge": 0.0045,
    "opponent_offense_edge": 0.0014,
    "defense_strength": -0.0627,
    "opponent_defense_weakness": -0.0598,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9936,
    "run_prevention": 1.0121,
    "strikeout": 0.9965
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "664299",
    "profile": {
      "available": true,
      "pitcher_id": "664299",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 167.0,
        "k_percent": 22.4,
        "bb_percent": 9.9,
        "woba": 0.36,
        "xwoba": 0.34,
        "sweet_spot_percent": 39.6,
        "barrel_batted_rate": 9.4,
        "hard_hit_percent": 35.6,
        "avg_best_speed": 79.9323,
        "avg_hyper_speed": 94.1518,
        "whiff_percent": 30.0,
        "swing_percent": 51.8
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.7011,
        "command_and_miss": 0.2407,
        "regression_edge": 0.5714,
        "xwoba_edge": -0.8286,
        "barrel_edge": -0.5111,
        "hard_hit_edge": 0.3286,
        "whiff_edge": 0.7143,
        "bb_edge": -0.175,
        "pitch_design_score": -0.0734
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "664299",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 86,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 86,
          "pitch_usage": 0.0,
          "release_speed": 88.56457245574717,
          "release_spin_rate": 2333.204506137456,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 86,
            "pitch_usage": 0.0,
            "release_speed": 88.56457245574717,
            "release_spin_rate": 2333.204506137456,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5646,
          "release_spin_rate": 2333.2045,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0734,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.5242,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1862,
      "sample_weight": 0.668,
      "run_prevention_factor": 1.0158,
      "strikeout_factor": 1.0206,
      "walk_factor": 1.0094,
      "homer_factor": 1.0351,
      "woba_minus_xwoba": 0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "664299",
        "espn_id": 41261,
        "player_name": "Cristian Javier",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 734,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 734,
          "gp_value": 14.0,
          "gp_rank": 473,
          "gs_value": 9.0,
          "gs_rank": 179,
          "qs_value": 1.0,
          "qs_rank": 176,
          "era_value": 5.9798,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 316,
          "l_value": 5.0,
          "l_rank": 135,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 49.2,
          "ip_rank": 302,
          "h_value": 55.0,
          "h_rank": 210,
          "er_value": 33.0,
          "er_rank": 173,
          "hr_value": 9.0,
          "hr_rank": 176,
          "bb_value": 22.0,
          "bb_rank": 260,
          "k_value": 50.0,
          "k_rank": 291,
          "k_per_9_value": 9.060403,
          "k_per_9_rank": 26,
          "whip_value": 1.5503,
          "whip_rank": null,
          "war_value": -0.37,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.0106,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0106,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.0063,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0234,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 1.0138,
        "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": 38.1,
    "ER": 19,
    "H": 40,
    "BB": 12,
    "SO": 42,
    "HR": 6,
    "ERA": 4.460869565217392,
    "WHIP": 1.356521739130435,
    "K9": 9.860869565217392,
    "HR9": 1.4086956521739131,
    "games_pitched": 10,
    "quality_starts": 1,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "664299",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 86,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 86,
    "pitch_usage": 0.0,
    "release_speed": 88.56457245574717,
    "release_spin_rate": 2333.204506137456,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 86,
      "pitch_usage": 0.0,
      "release_speed": 88.56457245574717,
      "release_spin_rate": 2333.204506137456,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5646,
    "release_spin_rate": 2333.2045,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0734,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.5242,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7368,
    "prior_weight": 0.2632
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "664299",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 14,
  "reference_playing_time": 4.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 22.1,
        "ER": 13.0,
        "R": 13.0,
        "H": 24.0,
        "BB": 7.0,
        "SO": 27.0,
        "HR": 5.0,
        "BF": 98.0,
        "Pitches": 420.0
      },
      "per_game": {
        "IP": 4.1,
        "ER": 2.6,
        "R": 2.6,
        "H": 4.8,
        "BB": 1.4,
        "SO": 5.4,
        "HR": 1.0,
        "BF": 19.6,
        "Pitches": 84.0
      },
      "rates": {
        "ERA": 5.2388,
        "WHIP": 1.3881,
        "ER_per_IP": 0.58209,
        "H_per_IP": 1.07463,
        "BB_per_IP": 0.31343,
        "SO_per_IP": 1.20896,
        "HR_per_IP": 0.22388
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 38.1,
        "ER": 19.0,
        "R": 19.0,
        "H": 40.0,
        "BB": 12.0,
        "SO": 42.0,
        "HR": 6.0,
        "BF": 166.0,
        "Pitches": 685.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 1.9,
        "R": 1.9,
        "H": 4.0,
        "BB": 1.2,
        "SO": 4.2,
        "HR": 0.6,
        "BF": 16.6,
        "Pitches": 68.5
      },
      "rates": {
        "ERA": 4.4609,
        "WHIP": 1.3565,
        "ER_per_IP": 0.49565,
        "H_per_IP": 1.04348,
        "BB_per_IP": 0.31304,
        "SO_per_IP": 1.09565,
        "HR_per_IP": 0.15652
      }
    },
    "season": {
      "games": 14,
      "totals": {
        "IP": 49.2,
        "ER": 33.0,
        "R": 33.0,
        "H": 55.0,
        "BB": 22.0,
        "SO": 50.0,
        "HR": 9.0,
        "BF": 223.0,
        "Pitches": 900.0
      },
      "per_game": {
        "IP": 3.2,
        "ER": 2.3571,
        "R": 2.3571,
        "H": 3.9286,
        "BB": 1.5714,
        "SO": 3.5714,
        "HR": 0.6429,
        "BF": 15.9286,
        "Pitches": 64.2857
      },
      "rates": {
        "ERA": 5.9799,
        "WHIP": 1.5503,
        "ER_per_IP": 0.66443,
        "H_per_IP": 1.10738,
        "BB_per_IP": 0.44295,
        "SO_per_IP": 1.00671,
        "HR_per_IP": 0.18121
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.0,
    "predicted_ER": 2.287,
    "predicted_H": 4.335,
    "predicted_BB": 1.443,
    "predicted_SO": 4.477,
    "predicted_HR": 0.747,
    "predicted_ERA": 4.96,
    "predicted_WHIP": 1.3924
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4612,
  "form_weight": 0.5388,
  "form_reliability": 0.7368,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7368,
    "prior_weight": 0.2632
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.1,
      "form": 4.0,
      "final": 4.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 5.0,
      "form": 2.287,
      "final": 3.5382,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 7.0,
      "form": 4.335,
      "final": 5.5641,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.443,
      "final": 1.6999,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 4.477,
      "final": 5.1794,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.747,
      "final": 0.4025,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.96,
      "final": 4.96,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3924,
      "final": 1.3924,
      "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
PitcherAJ Blubaugh
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0292
ESPN Rank138
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA3.3371
Season WHIP1.2022
Role Avg IP1.4970
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "opponent": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "edges": {
    "quality_edge": -0.1127,
    "offense_edge": 0.0045,
    "opponent_offense_edge": 0.0014,
    "defense_strength": -0.0627,
    "opponent_defense_weakness": -0.0598,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9936,
    "run_prevention": 1.0121,
    "strikeout": 0.9965
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "805123",
    "profile": {
      "available": true,
      "pitcher_id": "805123",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 317.0,
        "k_percent": 24.4,
        "bb_percent": 9.8,
        "woba": 0.305,
        "xwoba": 0.312,
        "sweet_spot_percent": 37.1,
        "barrel_batted_rate": 10.5,
        "hard_hit_percent": 38.3,
        "avg_best_speed": 78.9391,
        "avg_hyper_speed": 93.8969,
        "whiff_percent": 28.8,
        "swing_percent": 49.3
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1623,
        "command_and_miss": 0.3143,
        "regression_edge": -0.2,
        "xwoba_edge": -0.0286,
        "barrel_edge": -0.7556,
        "hard_hit_edge": -0.0571,
        "whiff_edge": 0.5429,
        "bb_edge": -0.15,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "805123",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": -0.0292,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0025,
      "strikeout_factor": 1.0354,
      "walk_factor": 1.012,
      "homer_factor": 1.0636,
      "woba_minus_xwoba": -0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "805123",
        "espn_id": 42556,
        "player_name": "AJ Blubaugh",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 138,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 138,
          "gp_value": 57.0,
          "gp_rank": 67,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 3.337,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 144,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 1.0,
          "sv_rank": 139,
          "hld_value": 10.0,
          "hld_rank": 85,
          "ip_value": 89.0,
          "ip_rank": 144,
          "h_value": 71.0,
          "h_rank": 161,
          "er_value": 33.0,
          "er_rank": 173,
          "hr_value": 12.0,
          "hr_rank": 135,
          "bb_value": 36.0,
          "bb_rank": 119,
          "k_value": 90.0,
          "k_rank": 130,
          "k_per_9_value": 9.101123,
          "k_per_9_rank": 24,
          "whip_value": 1.2022,
          "whip_rank": null,
          "war_value": 1.35,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0025,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0025,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.012,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0636,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0354,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 12.0,
    "ER": 4,
    "H": 12,
    "BB": 3,
    "SO": 13,
    "HR": 2,
    "ERA": 2.9999999999999996,
    "WHIP": 1.2499999999999998,
    "K9": 9.749999999999998,
    "HR9": 1.4999999999999998,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "805123",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.962,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7823,
    "prior_weight": 0.2177
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "805123",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 57,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 8.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 2.0,
        "BF": 23.0,
        "Pitches": 89.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.6,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.4,
        "BF": 4.6,
        "Pitches": 17.8
      },
      "rates": {
        "ERA": 7.7143,
        "WHIP": 2.1429,
        "ER_per_IP": 0.85714,
        "H_per_IP": 1.71429,
        "BB_per_IP": 0.42857,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.42857
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 12.0,
        "BB": 3.0,
        "SO": 13.0,
        "HR": 2.0,
        "BF": 48.0,
        "Pitches": 199.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.3,
        "SO": 1.3,
        "HR": 0.2,
        "BF": 4.8,
        "Pitches": 19.9
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.25,
        "ER_per_IP": 0.33333,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.25,
        "SO_per_IP": 1.08333,
        "HR_per_IP": 0.16667
      }
    },
    "season": {
      "games": 57,
      "totals": {
        "IP": 89.0,
        "ER": 33.0,
        "R": 35.0,
        "H": 71.0,
        "BB": 36.0,
        "SO": 90.0,
        "HR": 12.0,
        "BF": 369.0,
        "Pitches": 1518.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.5789,
        "R": 0.614,
        "H": 1.2456,
        "BB": 0.6316,
        "SO": 1.5789,
        "HR": 0.2105,
        "BF": 6.4737,
        "Pitches": 26.6316
      },
      "rates": {
        "ERA": 3.3371,
        "WHIP": 1.2022,
        "ER_per_IP": 0.37079,
        "H_per_IP": 0.79775,
        "BB_per_IP": 0.40449,
        "SO_per_IP": 1.01124,
        "HR_per_IP": 0.13483
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.711,
    "predicted_H": 1.539,
    "predicted_BB": 0.461,
    "predicted_SO": 1.219,
    "predicted_HR": 0.317,
    "predicted_ERA": 5.0447,
    "predicted_WHIP": 1.5774
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.442,
  "form_weight": 0.558,
  "form_reliability": 0.7823,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.962,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7823,
    "prior_weight": 0.2177
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.711,
      "final": 0.3968,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.539,
      "final": 0.8588,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.461,
      "final": 0.2572,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.219,
      "final": 0.6802,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.317,
      "final": 0.1769,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.0447,
      "final": 5.0447,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5774,
      "final": 1.5774,
      "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
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0556
ESPN Rank179
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO0
Season ERA3.6316
Season WHIP1.3333
Role Avg IP0.9830
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "opponent": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "edges": {
    "quality_edge": -0.1127,
    "offense_edge": 0.0045,
    "opponent_offense_edge": 0.0014,
    "defense_strength": -0.0627,
    "opponent_defense_weakness": -0.0598,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9936,
    "run_prevention": 1.0121,
    "strikeout": 0.9965
  },
  "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.4,
        "bb_percent": 16.3,
        "woba": 0.319,
        "xwoba": 0.315,
        "sweet_spot_percent": 35.2,
        "barrel_batted_rate": 5.5,
        "hard_hit_percent": 42.2,
        "avg_best_speed": 81.8021,
        "avg_hyper_speed": 94.319,
        "whiff_percent": 34.8,
        "swing_percent": 40.8
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1785,
        "command_and_miss": 0.6107,
        "regression_edge": 0.1143,
        "xwoba_edge": -0.1143,
        "barrel_edge": 0.3556,
        "hard_hit_edge": -0.6143,
        "whiff_edge": 1.4,
        "bb_edge": -1.775,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "650556",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.0556,
      "sample_weight": 0.792,
      "run_prevention_factor": 0.9953,
      "strikeout_factor": 1.0778,
      "walk_factor": 1.1125,
      "homer_factor": 0.9996,
      "woba_minus_xwoba": 0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "650556",
        "espn_id": 41208,
        "player_name": "Bryan Abreu",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 179,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 179,
          "gp_value": 59.0,
          "gp_rank": 52,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 3.6315,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 144,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 8.0,
          "sv_rank": 31,
          "hld_value": 14.0,
          "hld_rank": 42,
          "ip_value": 57.0,
          "ip_rank": 257,
          "h_value": 38.0,
          "h_rank": 345,
          "er_value": 23.0,
          "er_rank": 273,
          "hr_value": 7.0,
          "hr_rank": 226,
          "bb_value": 40.0,
          "bb_rank": 85,
          "k_value": 72.0,
          "k_rank": 172,
          "k_per_9_value": 11.368421,
          "k_per_9_rank": 18,
          "whip_value": 1.3684,
          "whip_rank": null,
          "war_value": 1.03,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9963,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9963,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0891,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9997,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0616,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.0,
    "ER": 1,
    "H": 6,
    "BB": 7,
    "SO": 13,
    "HR": 0,
    "ERA": 0.8181818181818183,
    "WHIP": 1.181818181818182,
    "K9": 10.636363636363638,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "650556",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.504,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.697,
    "prior_weight": 0.303
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "650556",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 58,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 20.0,
        "Pitches": 77.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.75,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 6.0,
        "BB": 7.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 44.0,
        "Pitches": 173.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.6,
        "BB": 0.7,
        "SO": 1.3,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 17.3
      },
      "rates": {
        "ERA": 0.8182,
        "WHIP": 1.1818,
        "ER_per_IP": 0.09091,
        "H_per_IP": 0.54545,
        "BB_per_IP": 0.63636,
        "SO_per_IP": 1.18182,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 58,
      "totals": {
        "IP": 57.0,
        "ER": 23.0,
        "R": 24.0,
        "H": 36.0,
        "BB": 40.0,
        "SO": 72.0,
        "HR": 7.0,
        "BF": 243.0,
        "Pitches": 1008.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3966,
        "R": 0.4138,
        "H": 0.6207,
        "BB": 0.6897,
        "SO": 1.2414,
        "HR": 0.1207,
        "BF": 4.1897,
        "Pitches": 17.3793
      },
      "rates": {
        "ERA": 3.6316,
        "WHIP": 1.3333,
        "ER_per_IP": 0.40351,
        "H_per_IP": 0.63158,
        "BB_per_IP": 0.70175,
        "SO_per_IP": 1.26316,
        "HR_per_IP": 0.12281
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.231,
    "predicted_H": 0.634,
    "predicted_BB": 0.483,
    "predicted_SO": 1.102,
    "predicted_HR": 0.062,
    "predicted_ERA": 2.0774,
    "predicted_WHIP": 1.1168
  }
}
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.697,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.504,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.697,
    "prior_weight": 0.303
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.231,
      "final": 0.1206,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.634,
      "final": 0.3309,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.483,
      "final": 0.7301,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.102,
      "final": 0.5752,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.062,
      "final": 0.0324,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0774,
      "final": 2.0774,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1168,
      "final": 1.1168,
      "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.5701
ESPN Rank48
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA0.6694
Season WHIP0.5950
Role Avg IP1.0080
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "opponent": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "edges": {
    "quality_edge": -0.1127,
    "offense_edge": 0.0045,
    "opponent_offense_edge": 0.0014,
    "defense_strength": -0.0627,
    "opponent_defense_weakness": -0.0598,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9936,
    "run_prevention": 1.0121,
    "strikeout": 0.9965
  },
  "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.8,
        "bb_percent": 7.4,
        "woba": 0.166,
        "xwoba": 0.206,
        "sweet_spot_percent": 23.8,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 32.1,
        "avg_best_speed": 75.0397,
        "avg_hyper_speed": 92.7507,
        "whiff_percent": 35.4,
        "swing_percent": 53.9
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.6843,
        "command_and_miss": 1.4971,
        "regression_edge": -1.1429,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.0,
        "hard_hit_edge": 0.8286,
        "whiff_edge": 1.4857,
        "bb_edge": 0.45,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "623352",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.5701,
      "sample_weight": 0.468,
      "run_prevention_factor": 0.9515,
      "strikeout_factor": 1.0647,
      "walk_factor": 0.9832,
      "homer_factor": 0.9494,
      "woba_minus_xwoba": -0.04,
      "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": 48,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 48,
          "gp_value": 41.0,
          "gp_rank": 155,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 0.8925,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 190,
          "l_value": 1.0,
          "l_rank": 427,
          "sv_value": 24.0,
          "sv_rank": 13,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 40.1,
          "ip_rank": 364,
          "h_value": 16.0,
          "h_rank": 556,
          "er_value": 4.0,
          "er_rank": 681,
          "hr_value": 1.0,
          "hr_rank": 613,
          "bb_value": 11.0,
          "bb_rank": 460,
          "k_value": 53.0,
          "k_rank": 276,
          "k_per_9_value": 11.826447,
          "k_per_9_rank": 20,
          "whip_value": 0.6694,
          "whip_rank": null,
          "war_value": 2.58,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9773,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9773,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9921,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9763,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0303,
        "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": 1,
    "SO": 12,
    "HR": 0,
    "ERA": 0.870967741935484,
    "WHIP": 0.38709677419354843,
    "K9": 10.451612903225808,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "623352",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.14,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6195,
    "prior_weight": 0.3805
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "623352",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 40,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 70.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.0
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.6,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 35.0,
        "Pitches": 141.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.1,
        "H": 0.3,
        "BB": 0.1,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.5,
        "Pitches": 14.1
      },
      "rates": {
        "ERA": 0.871,
        "WHIP": 0.3871,
        "ER_per_IP": 0.09677,
        "H_per_IP": 0.29032,
        "BB_per_IP": 0.09677,
        "SO_per_IP": 1.16129,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 40,
      "totals": {
        "IP": 40.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 13.0,
        "BB": 11.0,
        "SO": 53.0,
        "HR": 1.0,
        "BF": 145.0,
        "Pitches": 588.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.075,
        "R": 0.075,
        "H": 0.325,
        "BB": 0.275,
        "SO": 1.325,
        "HR": 0.025,
        "BF": 3.625,
        "Pitches": 14.7
      },
      "rates": {
        "ERA": 0.6694,
        "WHIP": 0.595,
        "ER_per_IP": 0.07438,
        "H_per_IP": 0.32231,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 1.31405,
        "HR_per_IP": 0.02479
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.277,
    "predicted_H": 0.64,
    "predicted_BB": 0.196,
    "predicted_SO": 1.051,
    "predicted_HR": 0.059,
    "predicted_ERA": 2.496,
    "predicted_WHIP": 0.8365
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5108,
  "form_weight": 0.4892,
  "form_reliability": 0.6195,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.14,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6195,
    "prior_weight": 0.3805
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.277,
      "final": 0.1355,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.64,
      "final": 0.3131,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.196,
      "final": 0.0959,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.051,
      "final": 0.5142,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.059,
      "final": 0.0289,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.496,
      "final": 2.496,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8365,
      "final": 0.8365,
      "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
PitcherEnyel De Los Santos
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3767
ESPN Rank339
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO2
Season ERA4.2772
Season WHIP1.1733
Role Avg IP1.0690
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "opponent": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "edges": {
    "quality_edge": -0.1127,
    "offense_edge": 0.0045,
    "opponent_offense_edge": 0.0014,
    "defense_strength": -0.0627,
    "opponent_defense_weakness": -0.0598,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 0.9936,
    "run_prevention": 1.0121,
    "strikeout": 0.9965
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "660853",
    "profile": {
      "available": true,
      "pitcher_id": "660853",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 237.0,
        "k_percent": 22.2,
        "bb_percent": 6.5,
        "woba": 0.299,
        "xwoba": 0.281,
        "sweet_spot_percent": 33.8,
        "barrel_batted_rate": 5.1,
        "hard_hit_percent": 36.9,
        "avg_best_speed": 77.326,
        "avg_hyper_speed": 93.4233,
        "whiff_percent": 27.1,
        "swing_percent": 54.2
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.5003,
        "command_and_miss": 0.2529,
        "regression_edge": 0.5143,
        "xwoba_edge": 0.8571,
        "barrel_edge": 0.4444,
        "hard_hit_edge": 0.1429,
        "whiff_edge": 0.3,
        "bb_edge": 0.675,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "660853",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.3767,
      "sample_weight": 0.948,
      "run_prevention_factor": 0.968,
      "strikeout_factor": 1.0125,
      "walk_factor": 0.9488,
      "homer_factor": 0.9365,
      "woba_minus_xwoba": 0.018,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "660853",
        "espn_id": 35026,
        "player_name": "Enyel De Los Santos",
        "team": "HOU",
        "role": "pitcher",
        "espn_rank": 339,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 339,
          "gp_value": 63.0,
          "gp_rank": 28,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 4.2772,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 243,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 5.0,
          "sv_rank": 48,
          "hld_value": 10.0,
          "hld_rank": 85,
          "ip_value": 67.1,
          "ip_rank": 194,
          "h_value": 61.0,
          "h_rank": 190,
          "er_value": 32.0,
          "er_rank": 178,
          "hr_value": 8.0,
          "hr_rank": 205,
          "bb_value": 18.0,
          "bb_rank": 329,
          "k_value": 62.0,
          "k_rank": 217,
          "k_per_9_value": 8.287128,
          "k_per_9_rank": 30,
          "whip_value": 1.1732,
          "whip_rank": null,
          "war_value": 0.22,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9697,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9697,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9515,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9398,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0118,
        "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": 6,
    "H": 8,
    "BB": 5,
    "SO": 9,
    "HR": 1,
    "ERA": 4.909090909090908,
    "WHIP": 1.1818181818181817,
    "K9": 7.363636363636362,
    "HR9": 0.818181818181818,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "660853",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.589,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.731,
    "prior_weight": 0.269
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "660853",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 63,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 4.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 23.0,
        "Pitches": 85.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.8,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.0588,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.35294,
        "BB_per_IP": 0.70588,
        "SO_per_IP": 0.88235,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 6.0,
        "R": 7.0,
        "H": 8.0,
        "BB": 5.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 48.0,
        "Pitches": 192.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.7,
        "H": 0.8,
        "BB": 0.5,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.8,
        "Pitches": 19.2
      },
      "rates": {
        "ERA": 4.9091,
        "WHIP": 1.1818,
        "ER_per_IP": 0.54545,
        "H_per_IP": 0.72727,
        "BB_per_IP": 0.45455,
        "SO_per_IP": 0.81818,
        "HR_per_IP": 0.09091
      }
    },
    "season": {
      "games": 63,
      "totals": {
        "IP": 67.1,
        "ER": 32.0,
        "R": 36.0,
        "H": 61.0,
        "BB": 18.0,
        "SO": 62.0,
        "HR": 8.0,
        "BF": 279.0,
        "Pitches": 1071.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.5079,
        "R": 0.5714,
        "H": 0.9683,
        "BB": 0.2857,
        "SO": 0.9841,
        "HR": 0.127,
        "BF": 4.4286,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 4.2772,
        "WHIP": 1.1733,
        "ER_per_IP": 0.47525,
        "H_per_IP": 0.90594,
        "BB_per_IP": 0.26733,
        "SO_per_IP": 0.92079,
        "HR_per_IP": 0.11881
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.283,
    "predicted_H": 0.572,
    "predicted_BB": 0.4,
    "predicted_SO": 0.728,
    "predicted_HR": 0.066,
    "predicted_ERA": 3.099,
    "predicted_WHIP": 1.1839
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4637,
  "form_weight": 0.5363,
  "form_reliability": 0.731,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.589,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.731,
    "prior_weight": 0.269
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.283,
      "final": 0.1518,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.572,
      "final": 0.3068,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.4,
      "final": 0.2145,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.728,
      "final": 1.3178,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.066,
      "final": 0.0354,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.099,
      "final": 3.099,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1839,
      "final": 1.1839,
      "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."
}
Jose Altuve (514888) · BATTER · 2B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 449
All-history rows before 20260910: 449
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2518
Diff (system - data): -0.0078
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.1780.0000.000Hitting_2B0.1781.000-0.178-1.000
predicted_3B0.0170.0000.000Hitting_3B0.0200.000-0.0200.000
predicted_AB4.5704.0004.000Hitting_AB3.9894.0000.0110.000
predicted_AVG0.2180.5000.250Hitting_AVG0.2520.2500.2480.250
predicted_BB0.3310.0000.000Hitting_BB0.3590.000-0.3590.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.0002.0001.000Hitting_H1.0041.0000.9961.000
predicted_HR0.0900.0000.000Hitting_HR0.1360.000-0.1360.000
predicted_OBP0.2850.5000.250Hitting_OBP0.3140.2500.1860.250
predicted_R0.5511.0001.000Hitting_R0.6041.0000.3960.000
predicted_RBI0.3502.0000.000Hitting_RBI0.3900.0001.6102.000
predicted_SB-0.0000.000BaseRunning_SB0.0400.000-0.0400.000
predicted_SLG0.3760.5000.250Hitting_SLG0.4090.5000.0910.000
predicted_SO0.8730.0001.000Hitting_SO0.8601.000-0.860-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.3500 -> 2.0000 (boost 1.6500, 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_blend43131predicted_2B: 0.1780 -> 0.2287 (boost 0.0507, better)predicted_AB: 4.5700 -> 4.3073 (deboost -0.2627, worse)Final model input calibrated 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.3842 -> 0.3499 (deboost -0.0343, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.8801 -> 1.0000 (boost 0.1199, worse)predicted_RBI: 0.3382 -> 0.0000 (deboost -0.3382, worse)AB rounded to 4 (raw=4.57), rates preserved: AVG=0.199 HR/AB=0.020
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
7consistency_constraints11010predicted_R: 0.5258 -> 1.0000 (boost 0.4742, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4005 (boost 0.4005, better)predicted_H: 1.0000 -> 0.8831 (deboost -0.1169, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_H: 0.8831 -> 1.0000 (boost 0.1169, better)predicted_RBI: 0.4005 -> 0.0000 (deboost -0.4005, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.3499 -> 0.3940 (boost 0.0441, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_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
12current_json_final30303-predicted_SLG: 0.3940 -> 0.3499 (deboost -0.0441, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "514888",
  "player_name": "Jose Altuve",
  "position": "2B",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.178,
        "predicted_3B": 0.017,
        "predicted_AB": 4.57,
        "predicted_AVG": 0.218,
        "predicted_BB": 0.331,
        "predicted_H": 1.0,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.285,
        "predicted_R": 0.551,
        "predicted_RBI": 0.35,
        "predicted_SLG": 0.376,
        "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.2287,
        "predicted_3B": 0.0144,
        "predicted_AB": 4.3073,
        "predicted_AVG": 0.2273,
        "predicted_BB": 0.285,
        "predicted_H": 0.9783,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0943,
        "predicted_OBP": 0.284,
        "predicted_R": 0.5341,
        "predicted_RBI": 0.3435,
        "predicted_SLG": 0.3842,
        "predicted_SO": 0.8773
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.178,
          "after": 0.2287,
          "delta": 0.0507,
          "percent_delta": 0.2848,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.0144,
          "delta": -0.0026,
          "percent_delta": -0.1529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.57,
          "after": 4.3073,
          "delta": -0.2627,
          "percent_delta": -0.0575,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.218,
          "after": 0.2273,
          "delta": 0.0093,
          "percent_delta": 0.0427,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.331,
          "after": 0.285,
          "delta": -0.046,
          "percent_delta": -0.139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9783,
          "delta": -0.0217,
          "percent_delta": -0.0217,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0943,
          "delta": 0.0043,
          "percent_delta": 0.0478,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.284,
          "delta": -0.001,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.551,
          "after": 0.5341,
          "delta": -0.0169,
          "percent_delta": -0.0307,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.35,
          "after": 0.3435,
          "delta": -0.0065,
          "percent_delta": -0.0186,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.3842,
          "delta": 0.0082,
          "percent_delta": 0.0218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.873,
          "after": 0.8773,
          "delta": 0.0043,
          "percent_delta": 0.0049,
          "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.178,
          "after": 0.2287,
          "delta": 0.0507,
          "percent_delta": 0.2848,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.57,
          "after": 4.3073,
          "delta": -0.2627,
          "percent_delta": -0.0575,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2287,
        "predicted_3B": 0.0144,
        "predicted_AB": 4.3073,
        "predicted_AVG": 0.2251,
        "predicted_BB": 0.2841,
        "predicted_H": 0.9697,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0933,
        "predicted_OBP": 0.2731,
        "predicted_R": 0.5258,
        "predicted_RBI": 0.3382,
        "predicted_SLG": 0.3499,
        "predicted_SO": 0.8801
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2287,
          "after": 0.2287,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0144,
          "after": 0.0144,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3073,
          "after": 4.3073,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2273,
          "after": 0.2251,
          "delta": -0.0022,
          "percent_delta": -0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.285,
          "after": 0.2841,
          "delta": -0.0009,
          "percent_delta": -0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9783,
          "after": 0.9697,
          "delta": -0.0086,
          "percent_delta": -0.0088,
          "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.0943,
          "after": 0.0933,
          "delta": -0.001,
          "percent_delta": -0.0106,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.2731,
          "delta": -0.0109,
          "percent_delta": -0.0384,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5341,
          "after": 0.5258,
          "delta": -0.0083,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3435,
          "after": 0.3382,
          "delta": -0.0053,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3842,
          "after": 0.3499,
          "delta": -0.0343,
          "percent_delta": -0.0893,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8773,
          "after": 0.8801,
          "delta": 0.0028,
          "percent_delta": 0.0032,
          "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.3842,
          "after": 0.3499,
          "delta": -0.0343,
          "percent_delta": -0.0893,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.57), rates preserved: AVG=0.199 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.2287,
          "after": 0.0,
          "delta": -0.2287,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0144,
          "after": 0.0,
          "delta": -0.0144,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3073,
          "after": 4.0,
          "delta": -0.3073,
          "percent_delta": -0.0713,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2841,
          "after": 0.0,
          "delta": -0.2841,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9697,
          "after": 1.0,
          "delta": 0.0303,
          "percent_delta": 0.0312,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.0933,
          "after": 0.0,
          "delta": -0.0933,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3382,
          "after": 0.0,
          "delta": -0.3382,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8801,
          "after": 1.0,
          "delta": 0.1199,
          "percent_delta": 0.1362,
          "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.8801,
          "after": 1.0,
          "delta": 0.1199,
          "percent_delta": 0.1362,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3382,
          "after": 0.0,
          "delta": -0.3382,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5258,
          "after": 1.0,
          "delta": 0.4742,
          "percent_delta": 0.9019,
          "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.5258,
          "after": 1.0,
          "delta": 0.4742,
          "percent_delta": 0.9019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1836,
        "predicted_3B": 0.0165,
        "predicted_BB": 0.2904,
        "predicted_H": 0.8831,
        "predicted_HR": 0.1268,
        "predicted_RBI": 0.4005,
        "predicted_SO": 1.1403
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1836,
          "delta": 0.1836,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0165,
          "delta": 0.0165,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2904,
          "delta": 0.2904,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8831,
          "delta": -0.1169,
          "percent_delta": -0.1169,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1268,
          "delta": 0.1268,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4005,
          "delta": 0.4005,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1403,
          "delta": 0.1403,
          "percent_delta": 0.1403,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4005,
          "delta": 0.4005,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8831,
          "delta": -0.1169,
          "percent_delta": -0.1169,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1836,
          "after": 0.0,
          "delta": -0.1836,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0165,
          "after": 0.0,
          "delta": -0.0165,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2904,
          "after": 0.0,
          "delta": -0.2904,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8831,
          "after": 1.0,
          "delta": 0.1169,
          "percent_delta": 0.1324,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1268,
          "after": 0.0,
          "delta": -0.1268,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4005,
          "after": 0.0,
          "delta": -0.4005,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1403,
          "after": 1.0,
          "delta": -0.1403,
          "percent_delta": -0.123,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8831,
          "after": 1.0,
          "delta": 0.1169,
          "percent_delta": 0.1324,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4005,
          "after": 0.0,
          "delta": -0.4005,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.295,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.394,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2251,
          "after": 0.235,
          "delta": 0.0099,
          "percent_delta": 0.044,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2731,
          "after": 0.295,
          "delta": 0.0219,
          "percent_delta": 0.0802,
          "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.3499,
          "after": 0.394,
          "delta": 0.0441,
          "percent_delta": 0.126,
          "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.3499,
          "after": 0.394,
          "delta": 0.0441,
          "percent_delta": 0.126,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 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": 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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2251,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2731,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3499,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.2251,
          "delta": -0.0099,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.295,
          "after": 0.2731,
          "delta": -0.0219,
          "percent_delta": -0.0743,
          "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.394,
          "after": 0.3499,
          "delta": -0.0441,
          "percent_delta": -0.112,
          "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.394,
          "after": 0.3499,
          "delta": -0.0441,
          "percent_delta": -0.112,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.178,
        "after": 0.0,
        "delta": -0.178,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.017,
        "after": 0.0,
        "delta": -0.017,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.57,
        "after": 4.0,
        "delta": -0.57,
        "percent_delta": -0.1247,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.218,
        "after": 0.2251,
        "delta": 0.0071,
        "percent_delta": 0.0326,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.331,
        "after": 0.0,
        "delta": -0.331,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.285,
        "after": 0.2731,
        "delta": -0.0119,
        "percent_delta": -0.0418,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.551,
        "after": 1.0,
        "delta": 0.449,
        "percent_delta": 0.8149,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.35,
        "after": 2.0,
        "delta": 1.65,
        "percent_delta": 4.7143,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.376,
        "after": 0.3499,
        "delta": -0.0261,
        "percent_delta": -0.0694,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.35,
        "after": 2.0,
        "delta": 1.65,
        "percent_delta": 4.7143,
        "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": "worse"
    }
  }
}

Prediction Evolution 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.017-
predicted_AB4.570-
predicted_AVG0.218-
predicted_BB0.331-
predicted_H1.000-
predicted_HR0.090-
predicted_OBP0.285-
predicted_R0.551-
predicted_RBI0.350-
predicted_SLG0.376-
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.2290.051
predicted_3B0.014-0.003
predicted_AB4.307-0.263
predicted_AVG0.2270.009
predicted_BB0.285-0.046
predicted_H0.978-0.022
predicted_HBP0.030-
predicted_HR0.0940.004
predicted_OBP0.284-0.001
predicted_R0.534-0.017
predicted_RBI0.344-0.006
predicted_SLG0.3840.008
predicted_SO0.8770.004
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2290.000
predicted_3B0.0140.000
predicted_AB4.3070.000
predicted_AVG0.225-0.002
predicted_BB0.284-0.001
predicted_H0.970-0.009
predicted_HBP0.0300.000
predicted_HR0.093-0.001
predicted_OBP0.273-0.011
predicted_R0.526-0.008
predicted_RBI0.338-0.005
predicted_SLG0.350-0.034
predicted_SO0.8800.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.57), rates preserved: AVG=0.199 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-
6. bvp_blend

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1840.184
3B0.0170.017
BB0.2900.290
H0.883-0.117
HR0.1270.127
RBI0.4010.401
SO1.1400.140
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.184
3B0.000-0.017
AB4.0000.000
BB0.000-0.290
H1.0000.117
HR0.000-0.127
R1.0000.000
RBI0.000-0.401
SO1.000-0.140
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.229
predicted_3B0.000-0.014
predicted_AB4.000-0.307
predicted_AVG0.2350.010
predicted_BB0.000-0.284
predicted_H1.0000.030
predicted_HR0.000-0.093
predicted_OBP0.2950.022
predicted_R1.0000.474
predicted_RBI0.000-0.338
predicted_SLG0.3940.044
predicted_SO1.0000.120
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.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: 118
Reference playing time: 4.570
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0005.0003.0000.0000.0001.0002.0000.0004.0000.23810.23810.38100.23810.00000.04760.00000.1905
last_100.2010-40.0009.0004.0000.0001.0003.0005.0001.00010.0000.22500.25580.40000.22500.02500.07500.02500.2500
season0.60118-459.000112.00021.0002.00015.00044.00065.00039.000103.0000.24400.30420.39650.24400.03270.09590.08500.2244
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2950
predicted_3B0.0110
predicted_AB3.9640
predicted_AVG0.2395
predicted_BB0.2250
predicted_H0.9500
predicted_HBP0.0300
predicted_HR0.1000
predicted_OBP0.2827
predicted_R0.5120
predicted_RBI0.3350
predicted_SLG0.3948
predicted_SO0.8830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17800.29500.2287model_form_blend
predicted_3B0.01700.01100.0144model_form_blend
predicted_AB4.57003.96404.3073model_form_blend
predicted_AVG0.21800.23950.2273model_form_blend
predicted_BB0.33100.22500.2850model_form_blend
predicted_H1.00000.95000.9783model_form_blend
predicted_HBP-0.03000.0300form_only
predicted_HR0.09000.10000.0943model_form_blend
predicted_OBP0.28500.28270.2840model_form_blend
predicted_R0.55100.51200.5341model_form_blend
predicted_RBI0.35000.33500.3435model_form_blend
predicted_SLG0.37600.39480.3842model_form_blend
predicted_SO0.87300.88300.8773model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date449
Season rows before report date449
Report year2026
Profile rows 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
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_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260909_HOU@PHI
game_typefull
mlbID514888
playerID514888
playerNameJose Altuve
pos2B
startedTrue
startingPosition2B
teamHOU
teamID11
game_date2026-09-09
sl_k_percent20.4
sl_bb_percent7.8
sl_woba0.308
sl_xwoba0.274
sl_xba0.222
sl_xslg0.326
sl_sweet_spot_percent33.1
sl_barrel_batted_rate4.5
sl_hard_hit_percent32.2
sl_exit_velocity_avg85.5
sl_launch_angle_avg10.6
sl_whiff_percent22.1
sl_swing_percent48.9
Isaac Paredes (670623) · BATTER · 3B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 526
All-history rows before 20260910: 526
System season_avg: 0.2560
Data season_avg (2026 season-to-date): 0.2604
Diff (system - data): -0.0044
System opponent_avg: 0.1790

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1810.0000.000Hitting_2B0.1900.000-0.1900.000
predicted_3B0.0070.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.3005.0004.000Hitting_AB3.7604.0001.2401.000
predicted_AVG0.2530.0000.250Hitting_AVG0.2600.500-0.260-0.500
predicted_BB0.4570.0001.000Hitting_BB0.4470.000-0.4470.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0900.0001.000Hitting_H0.9792.000-0.979-2.000
predicted_HR0.2200.0000.000Hitting_HR0.1371.000-0.137-1.000
predicted_OBP0.3780.0000.400Hitting_OBP0.3580.500-0.358-0.500
predicted_R0.4200.0000.000Hitting_R0.4351.000-0.435-1.000
predicted_RBI0.9800.0001.000Hitting_RBI0.6103.000-0.610-3.000
predicted_SLG0.4590.0000.250Hitting_SLG0.4241.250-0.424-1.250
predicted_SO0.5651.0001.000Hitting_SO0.5861.0000.4140.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 4.3000 -> 5.0000 (boost 0.7000, better)
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_blend31212predicted_AVG: 0.2530 -> 0.2624 (boost 0.0094, better)predicted_AB: 4.3000 -> 4.0050 (deboost -0.2950, worse)Final model input calibrated 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.3792 -> 0.3343 (deboost -0.0449, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_SO: 0.6035 -> 1.0000 (boost 0.3965, worse)predicted_BB: 0.4504 -> 0.0000 (deboost -0.4504, worse)AB rounded to 4 (raw=4.30), rates preserved: AVG=0.226 HR/AB=0.045
6consistency_constraints10101-predicted_R: 0.4199 -> 0.0000 (deboost -0.4199, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3632 (boost 0.3632, better)predicted_RBI: 1.0000 -> 0.5575 (deboost -0.4425, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64233predicted_BB: 0.3632 -> 1.0000 (boost 0.6368, better)predicted_2B: 0.1623 -> 0.0000 (deboost -0.1623, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference31212predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3980 -> 0.4524 (boost 0.0544, 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.181,
        "predicted_3B": 0.007,
        "predicted_AB": 4.3,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.457,
        "predicted_H": 1.09,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.378,
        "predicted_R": 0.42,
        "predicted_RBI": 0.98,
        "predicted_SLG": 0.459,
        "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.1841,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.005,
        "predicted_AVG": 0.2624,
        "predicted_BB": 0.4518,
        "predicted_H": 1.0482,
        "predicted_HBP": 0.195,
        "predicted_HR": 0.1943,
        "predicted_OBP": 0.3792,
        "predicted_R": 0.4265,
        "predicted_RBI": 0.9024,
        "predicted_SLG": 0.4606,
        "predicted_SO": 0.6016
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.181,
          "after": 0.1841,
          "delta": 0.0031,
          "percent_delta": 0.0171,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3,
          "after": 4.005,
          "delta": -0.295,
          "percent_delta": -0.0686,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2624,
          "delta": 0.0094,
          "percent_delta": 0.0372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.457,
          "after": 0.4518,
          "delta": -0.0052,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.09,
          "after": 1.0482,
          "delta": -0.0418,
          "percent_delta": -0.0383,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.1943,
          "delta": -0.0257,
          "percent_delta": -0.1168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.378,
          "after": 0.3792,
          "delta": 0.0012,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.42,
          "after": 0.4265,
          "delta": 0.0065,
          "percent_delta": 0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.98,
          "after": 0.9024,
          "delta": -0.0776,
          "percent_delta": -0.0792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.459,
          "after": 0.4606,
          "delta": 0.0016,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.565,
          "after": 0.6016,
          "delta": 0.0366,
          "percent_delta": 0.0648,
          "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.253,
          "after": 0.2624,
          "delta": 0.0094,
          "percent_delta": 0.0372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.3,
          "after": 4.005,
          "delta": -0.295,
          "percent_delta": -0.0686,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1841,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.005,
        "predicted_AVG": 0.2594,
        "predicted_BB": 0.4504,
        "predicted_H": 1.039,
        "predicted_HBP": 0.195,
        "predicted_HR": 0.1921,
        "predicted_OBP": 0.3343,
        "predicted_R": 0.4199,
        "predicted_RBI": 0.8884,
        "predicted_SLG": 0.4524,
        "predicted_SO": 0.6035
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1841,
          "after": 0.1841,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.005,
          "after": 4.005,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2624,
          "after": 0.2594,
          "delta": -0.003,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4518,
          "after": 0.4504,
          "delta": -0.0014,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0482,
          "after": 1.039,
          "delta": -0.0092,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.195,
          "after": 0.195,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1943,
          "after": 0.1921,
          "delta": -0.0022,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3792,
          "after": 0.3343,
          "delta": -0.0449,
          "percent_delta": -0.1184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4265,
          "after": 0.4199,
          "delta": -0.0066,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.9024,
          "after": 0.8884,
          "delta": -0.014,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4606,
          "after": 0.4524,
          "delta": -0.0082,
          "percent_delta": -0.0178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6016,
          "after": 0.6035,
          "delta": 0.0019,
          "percent_delta": 0.0032,
          "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.3792,
          "after": 0.3343,
          "delta": -0.0449,
          "percent_delta": -0.1184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.30), rates preserved: AVG=0.226 HR/AB=0.045",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1841,
          "after": 0.0,
          "delta": -0.1841,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.005,
          "after": 4.0,
          "delta": -0.005,
          "percent_delta": -0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4504,
          "after": 0.0,
          "delta": -0.4504,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.039,
          "after": 1.0,
          "delta": -0.039,
          "percent_delta": -0.0375,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.195,
          "after": 0.0,
          "delta": -0.195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1921,
          "after": 0.0,
          "delta": -0.1921,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8884,
          "after": 1.0,
          "delta": 0.1116,
          "percent_delta": 0.1256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6035,
          "after": 1.0,
          "delta": 0.3965,
          "percent_delta": 0.657,
          "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.6035,
          "after": 1.0,
          "delta": 0.3965,
          "percent_delta": 0.657,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4504,
          "after": 0.0,
          "delta": -0.4504,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4199,
          "after": 0.0,
          "delta": -0.4199,
          "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.4199,
          "after": 0.0,
          "delta": -0.4199,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1623,
        "predicted_3B": 0.0128,
        "predicted_BB": 0.3632,
        "predicted_H": 0.8356,
        "predicted_HR": 0.1354,
        "predicted_RBI": 0.5575,
        "predicted_SO": 0.698
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1623,
          "delta": 0.1623,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0128,
          "delta": 0.0128,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3632,
          "delta": 0.3632,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8356,
          "delta": -0.1644,
          "percent_delta": -0.1644,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1354,
          "delta": 0.1354,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5575,
          "delta": -0.4425,
          "percent_delta": -0.4425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.698,
          "delta": -0.302,
          "percent_delta": -0.302,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3632,
          "delta": 0.3632,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5575,
          "delta": -0.4425,
          "percent_delta": -0.4425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1623,
          "after": 0.0,
          "delta": -0.1623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0128,
          "after": 0.0,
          "delta": -0.0128,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3632,
          "after": 1.0,
          "delta": 0.6368,
          "percent_delta": 1.7533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8356,
          "after": 1.0,
          "delta": 0.1644,
          "percent_delta": 0.1967,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1354,
          "after": 0.0,
          "delta": -0.1354,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5575,
          "after": 1.0,
          "delta": 0.4425,
          "percent_delta": 0.7937,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.698,
          "after": 1.0,
          "delta": 0.302,
          "percent_delta": 0.4327,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.3632,
          "after": 1.0,
          "delta": 0.6368,
          "percent_delta": 1.7533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1623,
          "after": 0.0,
          "delta": -0.1623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "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.2594,
          "after": 0.233,
          "delta": -0.0264,
          "percent_delta": -0.1018,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3343,
          "after": 0.308,
          "delta": -0.0263,
          "percent_delta": -0.0787,
          "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.4524,
          "after": 0.398,
          "delta": -0.0544,
          "percent_delta": -0.1202,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2594,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3343,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4524,
        "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.233,
          "after": 0.2594,
          "delta": 0.0264,
          "percent_delta": 0.1134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.308,
          "after": 0.3343,
          "delta": 0.0263,
          "percent_delta": 0.0853,
          "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.398,
          "after": 0.4524,
          "delta": 0.0544,
          "percent_delta": 0.1366,
          "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.398,
          "after": 0.4524,
          "delta": 0.0544,
          "percent_delta": 0.1366,
          "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.181,
        "after": 0.0,
        "delta": -0.181,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.3,
        "after": 5.0,
        "delta": 0.7,
        "percent_delta": 0.1628,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.253,
        "after": 0.2594,
        "delta": 0.0064,
        "percent_delta": 0.0253,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.457,
        "after": 0.0,
        "delta": -0.457,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.09,
        "after": 0.0,
        "delta": -1.09,
        "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.378,
        "after": 0.3343,
        "delta": -0.0437,
        "percent_delta": -0.1156,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.98,
        "after": 0.0,
        "delta": -0.98,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.459,
        "after": 0.4524,
        "delta": -0.0066,
        "percent_delta": -0.0144,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.565,
        "after": 1.0,
        "delta": 0.435,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 4.3,
        "after": 5.0,
        "delta": 0.7,
        "percent_delta": 0.1628,
        "direction": "boost",
        "projection_effect": "better",
        "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.181-
predicted_3B0.007-
predicted_AB4.300-
predicted_AVG0.253-
predicted_BB0.457-
predicted_H1.090-
predicted_HR0.220-
predicted_OBP0.378-
predicted_R0.420-
predicted_RBI0.980-
predicted_SLG0.459-
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.1840.003
predicted_3B0.006-0.001
predicted_AB4.005-0.295
predicted_AVG0.2620.009
predicted_BB0.452-0.005
predicted_H1.048-0.042
predicted_HBP0.195-
predicted_HR0.194-0.026
predicted_OBP0.3790.001
predicted_R0.4260.007
predicted_RBI0.902-0.078
predicted_SLG0.4610.002
predicted_SO0.6020.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.1840.000
predicted_3B0.0060.000
predicted_AB4.0050.000
predicted_AVG0.259-0.003
predicted_BB0.450-0.001
predicted_H1.039-0.009
predicted_HBP0.1950.000
predicted_HR0.192-0.002
predicted_OBP0.334-0.045
predicted_R0.420-0.007
predicted_RBI0.888-0.014
predicted_SLG0.452-0.008
predicted_SO0.6040.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1620.162
3B0.0130.013
BB0.3630.363
H0.836-0.164
HR0.1350.135
RBI0.557-0.443
SO0.698-0.302
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.162
3B0.000-0.013
AB4.0000.000
BB1.0000.637
H1.0000.164
HR0.000-0.135
R0.0000.000
RBI1.0000.443
SO1.0000.302
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.184
predicted_3B0.000-0.006
predicted_AB4.000-0.005
predicted_AVG0.233-0.026
predicted_BB0.000-0.450
predicted_H1.000-0.039
predicted_HR0.000-0.192
predicted_OBP0.308-0.026
predicted_R0.000-0.420
predicted_RBI1.0000.112
predicted_SLG0.398-0.054
predicted_SO1.0000.396
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
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: 138
Reference playing time: 4.300
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0001.0000.0001.0007.0001.0002.0004.0000.33330.45450.55560.33330.05560.38890.11110.2222
last_100.2010-36.00010.0002.0000.0002.0009.0007.0005.0007.0000.27780.39530.50000.27780.05560.25000.13890.1944
season0.60138-500.000128.00025.0001.00019.00082.00058.00063.00078.0000.25600.35780.42400.25600.03800.16400.12600.1560
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1880
predicted_3B0.0050
predicted_AB3.6230
predicted_AVG0.2745
predicted_BB0.4450
predicted_H0.9940
predicted_HBP0.1950
predicted_HR0.1610
predicted_OBP0.3808
predicted_R0.4350
predicted_RBI0.8020
predicted_SLG0.4627
predicted_SO0.6490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18100.18800.1841model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.30003.62304.0050model_form_blend
predicted_AVG0.25300.27450.2624model_form_blend
predicted_BB0.45700.44500.4518model_form_blend
predicted_H1.09000.99401.0482model_form_blend
predicted_HBP-0.19500.1950form_only
predicted_HR0.22000.16100.1943model_form_blend
predicted_OBP0.37800.38080.3792model_form_blend
predicted_R0.42000.43500.4265model_form_blend
predicted_RBI0.98000.80200.9024model_form_blend
predicted_SLG0.45900.46270.4606model_form_blend
predicted_SO0.56500.64900.6016model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP1
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI3
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
allPositionsPlayed3B
gameID20260909_HOU@PHI
game_typefull
mlbID670623
playerID670623
playerNameIsaac Paredes
pos3B
startedTrue
startingPosition3B
teamHOU
teamID11
game_date2026-09-09
sl_k_percent13.1
sl_bb_percent10.7
sl_woba0.347
sl_xwoba0.32
sl_xba0.243
sl_xslg0.361
sl_sweet_spot_percent37.6
sl_barrel_batted_rate4.7
sl_hard_hit_percent28.0
sl_exit_velocity_avg86.0
sl_launch_angle_avg24.5
sl_whiff_percent15.1
sl_swing_percent43.6
Yordan Alvarez (670541) · BATTER · DH · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 567
All-history rows before 20260910: 567
System season_avg: 0.3150
Data season_avg (2026 season-to-date): 0.3308
Diff (system - data): -0.0158
System opponent_avg: 0.4630
System season_avg diverges from 2026 season-to-date by -0.0158. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2101.0000.000Hitting_2B0.2131.0000.7870.000
predicted_3B0.0070.0000.000Hitting_3B0.0020.000-0.0020.000
predicted_AB4.8604.0004.000Hitting_AB3.6955.0000.305-1.000
predicted_AVG0.2780.7500.250Hitting_AVG0.3310.4000.4190.350
predicted_BB0.6921.0001.000Hitting_BB0.7410.0000.2591.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.3503.0001.000Hitting_H1.2222.0001.7781.000
predicted_HR0.2700.0001.000Hitting_HR0.3030.000-0.3030.000
predicted_OBP0.3800.8000.400Hitting_OBP0.4470.4000.3530.400
predicted_R0.6641.0001.000Hitting_R0.7141.0000.2860.000
predicted_RBI0.6900.0001.000Hitting_RBI0.7391.000-0.739-1.000
predicted_SLG0.5381.0001.000Hitting_SLG0.6360.6000.3640.400
predicted_SO0.7550.0001.000Hitting_SO0.7580.000-0.7580.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_H: 1.3500 -> 3.0000 (boost 1.6500, better)
Biggest Deboostpredicted_AB: 4.8600 -> 4.0000 (deboost -0.8600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 4.8600 -> 4.3975 (deboost -0.4625, worse)Final model input calibrated 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.5234 -> 0.4915 (deboost -0.0319, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81708predicted_SO: 0.7684 -> 1.0000 (boost 0.2316, worse)predicted_BB: 0.6545 -> 0.0000 (deboost -0.6545, worse)AB rounded to 4 (raw=4.86), rates preserved: AVG=0.233 HR/AB=0.050
6bvp_blend11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500)
7consistency_constraints11010predicted_R: 0.6343 -> 1.0000 (boost 0.3657, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53241predicted_RBI: 0.0000 -> 0.5935 (boost 0.5935, better)predicted_BB: 1.0000 -> 0.5599 (deboost -0.4401, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation54132predicted_HR: 0.2193 -> 1.0000 (boost 0.7807, better)predicted_2B: 0.2078 -> 0.0000 (deboost -0.2078, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context41313predicted_SLG: 0.4915 -> 0.5050 (boost 0.0135, better)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference32130predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
12current_json_final21111predicted_AVG: 0.2630 -> 0.2743 (boost 0.0113, better)predicted_SLG: 0.5050 -> 0.4915 (deboost -0.0135, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670541",
  "player_name": "Yordan Alvarez",
  "position": "DH",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.21,
        "predicted_3B": 0.007,
        "predicted_AB": 4.86,
        "predicted_AVG": 0.278,
        "predicted_BB": 0.692,
        "predicted_H": 1.35,
        "predicted_HR": 0.27,
        "predicted_OBP": 0.38,
        "predicted_R": 0.664,
        "predicted_RBI": 0.69,
        "predicted_SLG": 0.538,
        "predicted_SO": 0.755
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2083,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.3975,
        "predicted_AVG": 0.2767,
        "predicted_BB": 0.6566,
        "predicted_H": 1.2168,
        "predicted_HBP": 0.063,
        "predicted_HR": 0.2477,
        "predicted_OBP": 0.38,
        "predicted_R": 0.6443,
        "predicted_RBI": 0.6293,
        "predicted_SLG": 0.5234,
        "predicted_SO": 0.7659
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.21,
          "after": 0.2083,
          "delta": -0.0017,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.86,
          "after": 4.3975,
          "delta": -0.4625,
          "percent_delta": -0.0952,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.278,
          "after": 0.2767,
          "delta": -0.0013,
          "percent_delta": -0.0047,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.692,
          "after": 0.6566,
          "delta": -0.0354,
          "percent_delta": -0.0512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.35,
          "after": 1.2168,
          "delta": -0.1332,
          "percent_delta": -0.0987,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.27,
          "after": 0.2477,
          "delta": -0.0223,
          "percent_delta": -0.0826,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.38,
          "after": 0.38,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.664,
          "after": 0.6443,
          "delta": -0.0197,
          "percent_delta": -0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.69,
          "after": 0.6293,
          "delta": -0.0607,
          "percent_delta": -0.088,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.538,
          "after": 0.5234,
          "delta": -0.0146,
          "percent_delta": -0.0271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.755,
          "after": 0.7659,
          "delta": 0.0109,
          "percent_delta": 0.0144,
          "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.86,
          "after": 4.3975,
          "delta": -0.4625,
          "percent_delta": -0.0952,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 143
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2083,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.3975,
        "predicted_AVG": 0.2743,
        "predicted_BB": 0.6545,
        "predicted_H": 1.2061,
        "predicted_HBP": 0.063,
        "predicted_HR": 0.245,
        "predicted_OBP": 0.3683,
        "predicted_R": 0.6343,
        "predicted_RBI": 0.6195,
        "predicted_SLG": 0.4915,
        "predicted_SO": 0.7684
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2083,
          "after": 0.2083,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3975,
          "after": 4.3975,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2767,
          "after": 0.2743,
          "delta": -0.0024,
          "percent_delta": -0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6566,
          "after": 0.6545,
          "delta": -0.0021,
          "percent_delta": -0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2168,
          "after": 1.2061,
          "delta": -0.0107,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.063,
          "after": 0.063,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2477,
          "after": 0.245,
          "delta": -0.0027,
          "percent_delta": -0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.38,
          "after": 0.3683,
          "delta": -0.0117,
          "percent_delta": -0.0308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6443,
          "after": 0.6343,
          "delta": -0.01,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6293,
          "after": 0.6195,
          "delta": -0.0098,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5234,
          "after": 0.4915,
          "delta": -0.0319,
          "percent_delta": -0.0609,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7659,
          "after": 0.7684,
          "delta": 0.0025,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5234,
          "after": 0.4915,
          "delta": -0.0319,
          "percent_delta": -0.0609,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.86), rates preserved: AVG=0.233 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2083,
          "after": 0.0,
          "delta": -0.2083,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3975,
          "after": 4.0,
          "delta": -0.3975,
          "percent_delta": -0.0904,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6545,
          "after": 0.0,
          "delta": -0.6545,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2061,
          "after": 1.0,
          "delta": -0.2061,
          "percent_delta": -0.1709,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.063,
          "after": 0.0,
          "delta": -0.063,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.245,
          "after": 0.0,
          "delta": -0.245,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6195,
          "after": 0.0,
          "delta": -0.6195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7684,
          "after": 1.0,
          "delta": 0.2316,
          "percent_delta": 0.3014,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 0,
        "worse_metrics": 8,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7684,
          "after": 1.0,
          "delta": 0.2316,
          "percent_delta": 0.3014,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.6545,
          "after": 0.0,
          "delta": -0.6545,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.500)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.6343,
          "after": 1.0,
          "delta": 0.3657,
          "percent_delta": 0.5765,
          "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.6343,
          "after": 1.0,
          "delta": 0.3657,
          "percent_delta": 0.5765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.2078,
        "predicted_3B": 0.0115,
        "predicted_BB": 0.5599,
        "predicted_H": 0.9636,
        "predicted_HR": 0.2193,
        "predicted_RBI": 0.5935,
        "predicted_SO": 0.843
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2078,
          "delta": 0.2078,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0115,
          "delta": 0.0115,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5599,
          "delta": -0.4401,
          "percent_delta": -0.4401,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9636,
          "delta": -0.0364,
          "percent_delta": -0.0364,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2193,
          "delta": 0.2193,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5935,
          "delta": 0.5935,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.843,
          "delta": -0.157,
          "percent_delta": -0.157,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5935,
          "delta": 0.5935,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5599,
          "delta": -0.4401,
          "percent_delta": -0.4401,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2078,
          "after": 0.0,
          "delta": -0.2078,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0115,
          "after": 0.0,
          "delta": -0.0115,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5599,
          "after": 1.0,
          "delta": 0.4401,
          "percent_delta": 0.786,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9636,
          "after": 1.0,
          "delta": 0.0364,
          "percent_delta": 0.0378,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2193,
          "after": 1.0,
          "delta": 0.7807,
          "percent_delta": 3.56,
          "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.5935,
          "after": 1.0,
          "delta": 0.4065,
          "percent_delta": 0.6849,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.843,
          "after": 1.0,
          "delta": 0.157,
          "percent_delta": 0.1862,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2193,
          "after": 1.0,
          "delta": 0.7807,
          "percent_delta": 3.56,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2078,
          "after": 0.0,
          "delta": -0.2078,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.263,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.365,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.505,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2743,
          "after": 0.263,
          "delta": -0.0113,
          "percent_delta": -0.0412,
          "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.3683,
          "after": 0.365,
          "delta": -0.0033,
          "percent_delta": -0.009,
          "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.4915,
          "after": 0.505,
          "delta": 0.0135,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4915,
          "after": 0.505,
          "delta": 0.0135,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2743,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3683,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4915,
        "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.263,
          "after": 0.2743,
          "delta": 0.0113,
          "percent_delta": 0.0428,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.365,
          "after": 0.3683,
          "delta": 0.0033,
          "percent_delta": 0.009,
          "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.505,
          "after": 0.4915,
          "delta": -0.0135,
          "percent_delta": -0.0267,
          "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.263,
          "after": 0.2743,
          "delta": 0.0113,
          "percent_delta": 0.0428,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.505,
          "after": 0.4915,
          "delta": -0.0135,
          "percent_delta": -0.0267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.21,
        "after": 1.0,
        "delta": 0.79,
        "percent_delta": 3.7619,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.86,
        "after": 4.0,
        "delta": -0.86,
        "percent_delta": -0.177,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.278,
        "after": 0.2743,
        "delta": -0.0037,
        "percent_delta": -0.0133,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.692,
        "after": 1.0,
        "delta": 0.308,
        "percent_delta": 0.4451,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.35,
        "after": 3.0,
        "delta": 1.65,
        "percent_delta": 1.2222,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.38,
        "after": 0.3683,
        "delta": -0.0117,
        "percent_delta": -0.0308,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.664,
        "after": 1.0,
        "delta": 0.336,
        "percent_delta": 0.506,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.69,
        "after": 0.0,
        "delta": -0.69,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.538,
        "after": 0.4915,
        "delta": -0.0465,
        "percent_delta": -0.0864,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.755,
        "after": 0.0,
        "delta": -0.755,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.35,
        "after": 3.0,
        "delta": 1.65,
        "percent_delta": 1.2222,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.86,
        "after": 4.0,
        "delta": -0.86,
        "percent_delta": -0.177,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.210-
predicted_3B0.007-
predicted_AB4.860-
predicted_AVG0.278-
predicted_BB0.692-
predicted_H1.350-
predicted_HR0.270-
predicted_OBP0.380-
predicted_R0.664-
predicted_RBI0.690-
predicted_SLG0.538-
predicted_SO0.755-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.208-0.002
predicted_3B0.006-0.001
predicted_AB4.397-0.463
predicted_AVG0.277-0.001
predicted_BB0.657-0.035
predicted_H1.217-0.133
predicted_HBP0.063-
predicted_HR0.248-0.022
predicted_OBP0.3800.000
predicted_R0.644-0.020
predicted_RBI0.629-0.061
predicted_SLG0.523-0.015
predicted_SO0.7660.011
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2080.000
predicted_3B0.0060.000
predicted_AB4.3970.000
predicted_AVG0.274-0.002
predicted_BB0.654-0.002
predicted_H1.206-0.011
predicted_HBP0.0630.000
predicted_HR0.245-0.003
predicted_OBP0.368-0.012
predicted_R0.634-0.010
predicted_RBI0.620-0.010
predicted_SLG0.491-0.032
predicted_SO0.7680.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.2080.208
3B0.0110.011
BB0.560-0.440
H0.964-0.036
HR0.2190.219
RBI0.5940.594
SO0.843-0.157
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.208
3B0.000-0.011
AB4.0000.000
BB1.0000.440
H1.0000.036
HR1.0000.781
R1.0000.000
RBI1.0000.406
SO1.0000.157
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.208
predicted_3B0.000-0.006
predicted_AB4.000-0.397
predicted_AVG0.263-0.011
predicted_BB1.0000.346
predicted_H1.000-0.206
predicted_HR0.000-0.245
predicted_OBP0.365-0.003
predicted_R1.0000.366
predicted_RBI0.000-0.620
predicted_SLG0.5050.014
predicted_SO1.0000.232
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 143
Reference playing time: 4.860
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-22.0005.0001.0000.0001.0002.0003.0002.0004.0000.22730.29170.40910.22730.04540.09090.09090.1818
last_100.2010-38.0008.0002.0000.0001.0003.0005.0006.0008.0000.21050.33330.34210.21050.02630.07900.15790.2105
season0.60143-515.000162.00030.0001.00038.00096.00095.00099.000108.0000.31460.43080.59810.31460.07380.18640.19220.2097
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2060
predicted_3B0.0050
predicted_AB3.8010
predicted_AVG0.2750
predicted_BB0.6110
predicted_H1.0450
predicted_HBP0.0630
predicted_HR0.2190
predicted_OBP0.3799
predicted_R0.6190
predicted_RBI0.5510
predicted_SLG0.5045
predicted_SO0.7800
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21000.20600.2083model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.86003.80104.3975model_form_blend
predicted_AVG0.27800.27500.2767model_form_blend
predicted_BB0.69200.61100.6566model_form_blend
predicted_H1.35001.04501.2168model_form_blend
predicted_HBP-0.06300.0630form_only
predicted_HR0.27000.21900.2477model_form_blend
predicted_OBP0.38000.37990.3800model_form_blend
predicted_R0.66400.61900.6443model_form_blend
predicted_RBI0.69000.55100.6293model_form_blend
predicted_SLG0.53800.50450.5234model_form_blend
predicted_SO0.75500.78000.7659model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date567
Season rows before report date567
Report year2026
Profile rows used143
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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
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_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP1
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_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
allPositionsPlayedDH
gameID20260909_HOU@PHI
game_typefull
mlbID670541
playerID670541
playerNameYordan Alvarez
posDH
startedTrue
startingPositionDH
teamHOU
teamID11
game_date2026-09-09
sl_k_percent17.4
sl_bb_percent15.8
sl_woba0.424
sl_xwoba0.447
sl_xba0.322
sl_xslg0.648
sl_sweet_spot_percent41.1
sl_barrel_batted_rate16.2
sl_hard_hit_percent53.1
sl_exit_velocity_avg94.3
sl_launch_angle_avg19.0
sl_whiff_percent19.5
sl_swing_percent43.3
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 20260910: 357
All-history rows before 20260910: 357
System season_avg: 0.2720
Data season_avg (2026 season-to-date): 0.2851
Diff (system - data): -0.0131
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.1890.0001.000Hitting_2B0.1961.000-0.196-1.000
predicted_3B0.0110.0000.000Hitting_3B0.0140.000-0.0140.000
predicted_AB5.2504.0004.000Hitting_AB4.1465.000-0.146-1.000
predicted_AVG0.2380.5000.250Hitting_AVG0.2850.4000.2150.100
predicted_BB0.2420.0000.000Hitting_BB0.2830.000-0.2830.000
predicted_CS-0.0000.000BaseRunning_CS0.0110.000-0.0110.000
predicted_H1.2502.0001.000Hitting_H1.1822.0000.8180.000
predicted_HR0.1700.0000.000Hitting_HR0.1850.000-0.1850.000
predicted_OBP0.2820.6000.250Hitting_OBP0.3420.4000.2580.200
predicted_R0.7371.0001.000Hitting_R0.8071.0000.1930.000
predicted_RBI0.5002.0001.000Hitting_RBI0.5490.0001.4512.000
predicted_SLG0.3930.5000.500Hitting_SLG0.4730.6000.027-0.100
predicted_SO0.9891.0001.000Hitting_SO0.9222.0000.078-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_RBI: 0.5000 -> 2.0000 (boost 1.5000, better)
Biggest Deboostpredicted_AB: 5.2500 -> 4.0000 (deboost -1.2500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31203predicted_SO: 0.9890 -> 1.0471 (boost 0.0581, worse)predicted_AB: 5.2500 -> 4.7861 (deboost -0.4639, worse)Final model input calibrated 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.2822 -> 0.2679 (deboost -0.0143, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling80817-predicted_AB: 4.7861 -> 4.0000 (deboost -0.7861, worse)AB rounded to 4 (raw=5.25), rates preserved: AVG=0.201 HR/AB=0.029
6bvp_blend00000--Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)
7consistency_constraints11010predicted_R: 0.6836 -> 1.0000 (boost 0.3164, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_RBI: 0.0000 -> 0.5162 (boost 0.5162, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation52332predicted_2B: 0.2087 -> 1.0000 (boost 0.7913, better)predicted_BB: 0.2436 -> 0.0000 (deboost -0.2436, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53232predicted_SLG: 0.3772 -> 0.4300 (boost 0.0528, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4300 -> 0.3772 (deboost -0.0528, worse)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.189,
        "predicted_3B": 0.011,
        "predicted_AB": 5.25,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.242,
        "predicted_H": 1.25,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.282,
        "predicted_R": 0.737,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.393,
        "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.2054,
        "predicted_3B": 0.0093,
        "predicted_AB": 4.7861,
        "predicted_AVG": 0.2371,
        "predicted_BB": 0.2145,
        "predicted_H": 1.1355,
        "predicted_HBP": 0.103,
        "predicted_HR": 0.1536,
        "predicted_OBP": 0.2822,
        "predicted_R": 0.6944,
        "predicted_RBI": 0.4613,
        "predicted_SLG": 0.3909,
        "predicted_SO": 1.0471
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.189,
          "after": 0.2054,
          "delta": 0.0164,
          "percent_delta": 0.0868,
          "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": 5.25,
          "after": 4.7861,
          "delta": -0.4639,
          "percent_delta": -0.0884,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2371,
          "delta": -0.0009,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.242,
          "after": 0.2145,
          "delta": -0.0275,
          "percent_delta": -0.1136,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.25,
          "after": 1.1355,
          "delta": -0.1145,
          "percent_delta": -0.0916,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1536,
          "delta": -0.0164,
          "percent_delta": -0.0965,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.2822,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.737,
          "after": 0.6944,
          "delta": -0.0426,
          "percent_delta": -0.0578,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5,
          "after": 0.4613,
          "delta": -0.0387,
          "percent_delta": -0.0774,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.393,
          "after": 0.3909,
          "delta": -0.0021,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.989,
          "after": 1.0471,
          "delta": 0.0581,
          "percent_delta": 0.0587,
          "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.989,
          "after": 1.0471,
          "delta": 0.0581,
          "percent_delta": 0.0587,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.25,
          "after": 4.7861,
          "delta": -0.4639,
          "percent_delta": -0.0884,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 95
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2054,
        "predicted_3B": 0.0093,
        "predicted_AB": 4.7861,
        "predicted_AVG": 0.2352,
        "predicted_BB": 0.2138,
        "predicted_H": 1.1255,
        "predicted_HBP": 0.103,
        "predicted_HR": 0.1519,
        "predicted_OBP": 0.2679,
        "predicted_R": 0.6836,
        "predicted_RBI": 0.4541,
        "predicted_SLG": 0.3772,
        "predicted_SO": 1.0505
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2054,
          "after": 0.2054,
          "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": 4.7861,
          "after": 4.7861,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2371,
          "after": 0.2352,
          "delta": -0.0019,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2145,
          "after": 0.2138,
          "delta": -0.0007,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1355,
          "after": 1.1255,
          "delta": -0.01,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.103,
          "after": 0.103,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1536,
          "after": 0.1519,
          "delta": -0.0017,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2822,
          "after": 0.2679,
          "delta": -0.0143,
          "percent_delta": -0.0507,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6944,
          "after": 0.6836,
          "delta": -0.0108,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4613,
          "after": 0.4541,
          "delta": -0.0072,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3909,
          "after": 0.3772,
          "delta": -0.0137,
          "percent_delta": -0.035,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0471,
          "after": 1.0505,
          "delta": 0.0034,
          "percent_delta": 0.0032,
          "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.2822,
          "after": 0.2679,
          "delta": -0.0143,
          "percent_delta": -0.0507,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.25), rates preserved: AVG=0.201 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2054,
          "after": 0.0,
          "delta": -0.2054,
          "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": 4.7861,
          "after": 4.0,
          "delta": -0.7861,
          "percent_delta": -0.1642,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2138,
          "after": 0.0,
          "delta": -0.2138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1255,
          "after": 1.0,
          "delta": -0.1255,
          "percent_delta": -0.1115,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.103,
          "after": 0.0,
          "delta": -0.103,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1519,
          "after": 0.0,
          "delta": -0.1519,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4541,
          "after": 0.0,
          "delta": -0.4541,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0505,
          "after": 1.0,
          "delta": -0.0505,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 0,
        "deboosted_metrics": 8,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.7861,
          "after": 4.0,
          "delta": -0.7861,
          "percent_delta": -0.1642,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8667,
        "bvp": 0.1333
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.6836,
          "after": 1.0,
          "delta": 0.3164,
          "percent_delta": 0.4628,
          "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.6836,
          "after": 1.0,
          "delta": 0.3164,
          "percent_delta": 0.4628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.2087,
        "predicted_3B": 0.0148,
        "predicted_BB": 0.2436,
        "predicted_H": 0.9987,
        "predicted_HR": 0.1622,
        "predicted_RBI": 0.5162,
        "predicted_SO": 1.2137
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2087,
          "delta": 0.2087,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0148,
          "delta": 0.0148,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2436,
          "delta": 0.2436,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9987,
          "delta": -0.0013,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1622,
          "delta": 0.1622,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5162,
          "delta": 0.5162,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2137,
          "delta": 0.2137,
          "percent_delta": 0.2137,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5162,
          "delta": 0.5162,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2087,
          "after": 1.0,
          "delta": 0.7913,
          "percent_delta": 3.7916,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0148,
          "after": 0.0,
          "delta": -0.0148,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2436,
          "after": 0.0,
          "delta": -0.2436,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9987,
          "after": 1.0,
          "delta": 0.0013,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1622,
          "after": 0.0,
          "delta": -0.1622,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5162,
          "after": 1.0,
          "delta": 0.4838,
          "percent_delta": 0.9372,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2137,
          "after": 1.0,
          "delta": -0.2137,
          "percent_delta": -0.1761,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.2087,
          "after": 1.0,
          "delta": 0.7913,
          "percent_delta": 3.7916,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2436,
          "after": 0.0,
          "delta": -0.2436,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.249,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.43,
        "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.2352,
          "after": 0.249,
          "delta": 0.0138,
          "percent_delta": 0.0587,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2679,
          "after": 0.298,
          "delta": 0.0301,
          "percent_delta": 0.1124,
          "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.3772,
          "after": 0.43,
          "delta": 0.0528,
          "percent_delta": 0.14,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3772,
          "after": 0.43,
          "delta": 0.0528,
          "percent_delta": 0.14,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "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": 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": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2352,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2679,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3772,
        "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.249,
          "after": 0.2352,
          "delta": -0.0138,
          "percent_delta": -0.0556,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.2679,
          "delta": -0.0301,
          "percent_delta": -0.1011,
          "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.43,
          "after": 0.3772,
          "delta": -0.0528,
          "percent_delta": -0.1229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.43,
          "after": 0.3772,
          "delta": -0.0528,
          "percent_delta": -0.1229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.189,
        "after": 0.0,
        "delta": -0.189,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.011,
        "after": 0.0,
        "delta": -0.011,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.25,
        "after": 4.0,
        "delta": -1.25,
        "percent_delta": -0.2381,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.238,
        "after": 0.2352,
        "delta": -0.0028,
        "percent_delta": -0.0118,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.242,
        "after": 0.0,
        "delta": -0.242,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.25,
        "after": 2.0,
        "delta": 0.75,
        "percent_delta": 0.6,
        "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.282,
        "after": 0.2679,
        "delta": -0.0141,
        "percent_delta": -0.05,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.737,
        "after": 1.0,
        "delta": 0.263,
        "percent_delta": 0.3569,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.393,
        "after": 0.3772,
        "delta": -0.0158,
        "percent_delta": -0.0402,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.989,
        "after": 1.0,
        "delta": 0.011,
        "percent_delta": 0.0111,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 2.0,
        "delta": 1.5,
        "percent_delta": 3.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.25,
        "after": 4.0,
        "delta": -1.25,
        "percent_delta": -0.2381,
        "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.011-
predicted_AB5.250-
predicted_AVG0.238-
predicted_BB0.242-
predicted_H1.250-
predicted_HR0.170-
predicted_OBP0.282-
predicted_R0.737-
predicted_RBI0.500-
predicted_SLG0.393-
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.2050.016
predicted_3B0.009-0.002
predicted_AB4.786-0.464
predicted_AVG0.237-0.001
predicted_BB0.214-0.027
predicted_H1.135-0.115
predicted_HBP0.103-
predicted_HR0.154-0.016
predicted_OBP0.2820.000
predicted_R0.694-0.043
predicted_RBI0.461-0.039
predicted_SLG0.391-0.002
predicted_SO1.0470.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.2050.000
predicted_3B0.0090.000
predicted_AB4.7860.000
predicted_AVG0.235-0.002
predicted_BB0.214-0.001
predicted_H1.125-0.010
predicted_HBP0.1030.000
predicted_HR0.152-0.002
predicted_OBP0.268-0.014
predicted_R0.684-0.011
predicted_RBI0.454-0.007
predicted_SLG0.377-0.014
predicted_SO1.0500.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.2090.209
3B0.0150.015
BB0.2440.244
H0.999-0.001
HR0.1620.162
RBI0.5160.516
SO1.2140.214
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.791
3B0.000-0.015
AB4.0000.000
BB0.000-0.244
H1.0000.001
HR0.000-0.162
R1.0000.000
RBI1.0000.484
SO1.000-0.214
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.205
predicted_3B0.000-0.009
predicted_AB4.000-0.786
predicted_AVG0.2490.014
predicted_BB0.000-0.214
predicted_H1.000-0.125
predicted_HR0.000-0.152
predicted_OBP0.2980.030
predicted_R1.0000.316
predicted_RBI0.000-0.454
predicted_SLG0.4300.053
predicted_SO1.000-0.050
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP1.0001.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI2.0001.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 95
Reference playing time: 5.250
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-23.0004.0002.0000.0000.0001.0003.0000.0008.0000.17390.20830.26090.17390.00000.04350.00000.3478
last_100.2010-43.0008.0002.0000.0001.0003.0004.0001.00012.0000.18600.22220.30230.18600.02330.06980.02330.2791
season0.6095-383.000104.00018.0001.00017.00047.00070.00023.00094.0000.27150.32450.45690.27150.04440.12270.06000.2454
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2270
predicted_3B0.0070
predicted_AB4.1720
predicted_AVG0.2358
predicted_BB0.1780
predicted_H0.9840
predicted_HBP0.1030
predicted_HR0.1320
predicted_OBP0.2825
predicted_R0.6380
predicted_RBI0.4100
predicted_SLG0.3882
predicted_SO1.1240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18900.22700.2054model_form_blend
predicted_3B0.01100.00700.0093model_form_blend
predicted_AB5.25004.17204.7861model_form_blend
predicted_AVG0.23800.23580.2371model_form_blend
predicted_BB0.24200.17800.2145model_form_blend
predicted_H1.25000.98401.1355model_form_blend
predicted_HBP-0.10300.1030form_only
predicted_HR0.17000.13200.1536model_form_blend
predicted_OBP0.28200.28250.2822model_form_blend
predicted_R0.73700.63800.6944model_form_blend
predicted_RBI0.50000.41000.4613model_form_blend
predicted_SLG0.39300.38820.3909model_form_blend
predicted_SO0.98901.12401.0471model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date357
Season rows before report date357
Report year2026
Profile rows used95
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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
HR0
R1
RBI2
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_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_SO2
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
allPositionsPlayedSS
gameID20260909_HOU@PHI
game_typefull
mlbID665161
playerID665161
playerNameJeremy Peña
posSS
startedTrue
startingPositionSS
teamHOU
teamID11
game_date2026-09-09
sl_k_percent22.4
sl_bb_percent5.6
sl_woba0.339
sl_xwoba0.325
sl_xba0.27
sl_xslg0.417
sl_sweet_spot_percent33.3
sl_barrel_batted_rate6.6
sl_hard_hit_percent38.9
sl_exit_velocity_avg88.4
sl_launch_angle_avg12.1
sl_whiff_percent31.4
sl_swing_percent55.3
Christian Walker (572233) · BATTER · 1B · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 521
All-history rows before 20260910: 521
System season_avg: 0.2300
Data season_avg (2026 season-to-date): 0.2426
Diff (system - data): -0.0126
System opponent_avg: 0.3850

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1800.0001.000Hitting_2B0.2050.000-0.2050.000
predicted_3B0.0070.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.0204.0004.000Hitting_AB3.8374.0000.1630.000
predicted_AVG0.2220.2500.250Hitting_AVG0.2430.0000.0070.250
predicted_BB0.3310.0000.000Hitting_BB0.3590.000-0.3590.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8901.0001.000Hitting_H0.9310.0000.0691.000
predicted_HR0.1700.0000.000Hitting_HR0.2030.000-0.2030.000
predicted_OBP0.2980.2500.250Hitting_OBP0.3190.000-0.0690.250
predicted_R0.4681.0000.000Hitting_R0.5450.0000.4551.000
predicted_RBI0.5800.0001.000Hitting_RBI0.6530.000-0.6530.000
predicted_SLG0.3790.2500.500Hitting_SLG0.4590.000-0.2090.250
predicted_SO0.9501.0001.000Hitting_SO0.9870.0000.0131.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_R: 0.4680 -> 1.0000 (boost 0.5320, better)
Biggest Deboostpredicted_RBI: 0.5800 -> 0.0000 (deboost -0.5800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41322predicted_SLG: 0.3790 -> 0.3884 (boost 0.0094, better)predicted_AB: 4.0200 -> 3.8228 (deboost -0.1972, worse)Final model input calibrated 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.3884 -> 0.3949 (boost 0.0065, better)predicted_OBP: 0.3012 -> 0.2845 (deboost -0.0167, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling84435predicted_RBI: 0.5633 -> 1.0000 (boost 0.4367, better)predicted_BB: 0.3321 -> 0.0000 (deboost -0.3321, worse)AB rounded to 4 (raw=4.02), rates preserved: AVG=0.198 HR/AB=0.041
6bvp_blend00000--Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.385)
7consistency_constraints10101-predicted_R: 0.4063 -> 0.0000 (deboost -0.4063, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2860 (boost 0.2860, better)predicted_RBI: 1.0000 -> 0.5635 (deboost -0.4365, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63342predicted_2B: 0.1887 -> 1.0000 (boost 0.8113, better)predicted_BB: 0.2860 -> 0.0000 (deboost -0.2860, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3949 -> 0.4410 (boost 0.0461, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference21111predicted_R: 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
12current_json_final30303-predicted_SLG: 0.4410 -> 0.3949 (deboost -0.0461, worse)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.18,
        "predicted_3B": 0.007,
        "predicted_AB": 4.02,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.331,
        "predicted_H": 0.89,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.298,
        "predicted_R": 0.468,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.379,
        "predicted_SO": 0.95
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1482,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.8228,
        "predicted_AVG": 0.2248,
        "predicted_BB": 0.3332,
        "predicted_H": 0.8573,
        "predicted_HBP": 0.062,
        "predicted_HR": 0.1683,
        "predicted_OBP": 0.3012,
        "predicted_R": 0.4127,
        "predicted_RBI": 0.5722,
        "predicted_SLG": 0.3884,
        "predicted_SO": 0.8786
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.18,
          "after": 0.1482,
          "delta": -0.0318,
          "percent_delta": -0.1767,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.02,
          "after": 3.8228,
          "delta": -0.1972,
          "percent_delta": -0.0491,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2248,
          "delta": 0.0028,
          "percent_delta": 0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.331,
          "after": 0.3332,
          "delta": 0.0022,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.89,
          "after": 0.8573,
          "delta": -0.0327,
          "percent_delta": -0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1683,
          "delta": -0.0017,
          "percent_delta": -0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.3012,
          "delta": 0.0032,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.468,
          "after": 0.4127,
          "delta": -0.0553,
          "percent_delta": -0.1182,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.58,
          "after": 0.5722,
          "delta": -0.0078,
          "percent_delta": -0.0134,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3884,
          "delta": 0.0094,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.95,
          "after": 0.8786,
          "delta": -0.0714,
          "percent_delta": -0.0752,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3884,
          "delta": 0.0094,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.02,
          "after": 3.8228,
          "delta": -0.1972,
          "percent_delta": -0.0491,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 139
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1482,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.8228,
        "predicted_AVG": 0.2223,
        "predicted_BB": 0.3321,
        "predicted_H": 0.8498,
        "predicted_HBP": 0.062,
        "predicted_HR": 0.1664,
        "predicted_OBP": 0.2845,
        "predicted_R": 0.4063,
        "predicted_RBI": 0.5633,
        "predicted_SLG": 0.3949,
        "predicted_SO": 0.8814
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1482,
          "after": 0.1482,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8228,
          "after": 3.8228,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2248,
          "after": 0.2223,
          "delta": -0.0025,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3332,
          "after": 0.3321,
          "delta": -0.0011,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8573,
          "after": 0.8498,
          "delta": -0.0075,
          "percent_delta": -0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.062,
          "after": 0.062,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1683,
          "after": 0.1664,
          "delta": -0.0019,
          "percent_delta": -0.0113,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3012,
          "after": 0.2845,
          "delta": -0.0167,
          "percent_delta": -0.0554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4127,
          "after": 0.4063,
          "delta": -0.0064,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5722,
          "after": 0.5633,
          "delta": -0.0089,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3884,
          "after": 0.3949,
          "delta": 0.0065,
          "percent_delta": 0.0167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8786,
          "after": 0.8814,
          "delta": 0.0028,
          "percent_delta": 0.0032,
          "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.3884,
          "after": 0.3949,
          "delta": 0.0065,
          "percent_delta": 0.0167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3012,
          "after": 0.2845,
          "delta": -0.0167,
          "percent_delta": -0.0554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.02), rates preserved: AVG=0.198 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1482,
          "after": 0.0,
          "delta": -0.1482,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8228,
          "after": 4.0,
          "delta": 0.1772,
          "percent_delta": 0.0464,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3321,
          "after": 0.0,
          "delta": -0.3321,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8498,
          "after": 1.0,
          "delta": 0.1502,
          "percent_delta": 0.1767,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.062,
          "after": 0.0,
          "delta": -0.062,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1664,
          "after": 0.0,
          "delta": -0.1664,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5633,
          "after": 1.0,
          "delta": 0.4367,
          "percent_delta": 0.7753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8814,
          "after": 1.0,
          "delta": 0.1186,
          "percent_delta": 0.1346,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5633,
          "after": 1.0,
          "delta": 0.4367,
          "percent_delta": 0.7753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3321,
          "after": 0.0,
          "delta": -0.3321,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.385)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8143,
        "bvp": 0.1857
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 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.4063,
          "after": 0.0,
          "delta": -0.4063,
          "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.4063,
          "after": 0.0,
          "delta": -0.4063,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1887,
        "predicted_3B": 0.0118,
        "predicted_BB": 0.286,
        "predicted_H": 0.8742,
        "predicted_HR": 0.1673,
        "predicted_RBI": 0.5635,
        "predicted_SO": 1.196
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1887,
          "delta": 0.1887,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0118,
          "delta": 0.0118,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.286,
          "delta": 0.286,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8742,
          "delta": -0.1258,
          "percent_delta": -0.1258,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1673,
          "delta": 0.1673,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5635,
          "delta": -0.4365,
          "percent_delta": -0.4365,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.196,
          "delta": 0.196,
          "percent_delta": 0.196,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.286,
          "delta": 0.286,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5635,
          "delta": -0.4365,
          "percent_delta": -0.4365,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1887,
          "after": 1.0,
          "delta": 0.8113,
          "percent_delta": 4.2994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0118,
          "after": 0.0,
          "delta": -0.0118,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.286,
          "after": 0.0,
          "delta": -0.286,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8742,
          "after": 1.0,
          "delta": 0.1258,
          "percent_delta": 0.1439,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1673,
          "after": 0.0,
          "delta": -0.1673,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5635,
          "after": 1.0,
          "delta": 0.4365,
          "percent_delta": 0.7746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.196,
          "after": 1.0,
          "delta": -0.196,
          "percent_delta": -0.1639,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1887,
          "after": 1.0,
          "delta": 0.8113,
          "percent_delta": 4.2994,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.286,
          "after": 0.0,
          "delta": -0.286,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.243,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.441,
        "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.2223,
          "after": 0.243,
          "delta": 0.0207,
          "percent_delta": 0.0931,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2845,
          "after": 0.304,
          "delta": 0.0195,
          "percent_delta": 0.0685,
          "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.3949,
          "after": 0.441,
          "delta": 0.0461,
          "percent_delta": 0.1167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3949,
          "after": 0.441,
          "delta": 0.0461,
          "percent_delta": 0.1167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "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": 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_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2223,
        "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.2845,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3949,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2223,
          "delta": -0.0207,
          "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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2845,
          "delta": -0.0195,
          "percent_delta": -0.0643,
          "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.441,
          "after": 0.3949,
          "delta": -0.0461,
          "percent_delta": -0.1046,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.441,
          "after": 0.3949,
          "delta": -0.0461,
          "percent_delta": -0.1046,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.02,
        "after": 4.0,
        "delta": -0.02,
        "percent_delta": -0.005,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.2223,
        "delta": 0.0003,
        "percent_delta": 0.0014,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.331,
        "after": 0.0,
        "delta": -0.331,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.89,
        "after": 1.0,
        "delta": 0.11,
        "percent_delta": 0.1236,
        "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.298,
        "after": 0.2845,
        "delta": -0.0135,
        "percent_delta": -0.0453,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.468,
        "after": 1.0,
        "delta": 0.532,
        "percent_delta": 1.1368,
        "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.379,
        "after": 0.3949,
        "delta": 0.0159,
        "percent_delta": 0.042,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.95,
        "after": 1.0,
        "delta": 0.05,
        "percent_delta": 0.0526,
        "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_R",
        "before": 0.468,
        "after": 1.0,
        "delta": 0.532,
        "percent_delta": 1.1368,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution 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.007-
predicted_AB4.020-
predicted_AVG0.222-
predicted_BB0.331-
predicted_H0.890-
predicted_HR0.170-
predicted_OBP0.298-
predicted_R0.468-
predicted_RBI0.580-
predicted_SLG0.379-
predicted_SO0.950-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.032
predicted_3B0.006-0.001
predicted_AB3.823-0.197
predicted_AVG0.2250.003
predicted_BB0.3330.002
predicted_H0.857-0.033
predicted_HBP0.062-
predicted_HR0.168-0.002
predicted_OBP0.3010.003
predicted_R0.413-0.055
predicted_RBI0.572-0.008
predicted_SLG0.3880.009
predicted_SO0.879-0.071
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1480.000
predicted_3B0.0060.000
predicted_AB3.8230.000
predicted_AVG0.222-0.003
predicted_BB0.332-0.001
predicted_H0.850-0.007
predicted_HBP0.0620.000
predicted_HR0.166-0.002
predicted_OBP0.284-0.017
predicted_R0.406-0.006
predicted_RBI0.563-0.009
predicted_SLG0.3950.006
predicted_SO0.8810.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.385)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1890.189
3B0.0120.012
BB0.2860.286
H0.874-0.126
HR0.1670.167
RBI0.564-0.436
SO1.1960.196
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.811
3B0.000-0.012
AB4.0000.000
BB0.000-0.286
H1.0000.126
HR0.000-0.167
R0.0000.000
RBI1.0000.436
SO1.000-0.196
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.148
predicted_3B0.000-0.006
predicted_AB4.0000.177
predicted_AVG0.2430.021
predicted_BB0.000-0.332
predicted_H1.0000.150
predicted_HR0.000-0.166
predicted_OBP0.3040.020
predicted_R0.000-0.406
predicted_RBI1.0000.437
predicted_SLG0.4410.046
predicted_SO1.0000.119
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 139
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-17.0004.0000.0000.0001.0003.0001.0002.0002.0000.23530.31580.41180.23530.05880.17650.11770.1177
last_100.2010-33.0007.0000.0000.0001.0005.0001.0003.0007.0000.21210.29730.30300.21210.03030.15150.09090.2121
season0.60139-513.000118.00025.0001.00025.00080.00065.00046.000132.0000.23000.30470.42880.23000.04870.15600.08970.2573
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1070
predicted_3B0.0050
predicted_AB3.5670
predicted_AVG0.2285
predicted_BB0.3360
predicted_H0.8150
predicted_HBP0.0620
predicted_HR0.1660
predicted_OBP0.3054
predicted_R0.3410
predicted_RBI0.5620
predicted_SLG0.4006
predicted_SO0.7860
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18000.10700.1482model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.02003.56703.8228model_form_blend
predicted_AVG0.22200.22850.2248model_form_blend
predicted_BB0.33100.33600.3332model_form_blend
predicted_H0.89000.81500.8573model_form_blend
predicted_HBP-0.06200.0620form_only
predicted_HR0.17000.16600.1683model_form_blend
predicted_OBP0.29800.30540.3012model_form_blend
predicted_R0.46800.34100.4127model_form_blend
predicted_RBI0.58000.56200.5722model_form_blend
predicted_SLG0.37900.40060.3884model_form_blend
predicted_SO0.95000.78600.8786model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_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_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
allPositionsPlayed1B
gameID20260909_HOU@PHI
game_typefull
mlbID572233
playerID572233
playerNameChristian Walker
pos1B
startedTrue
startingPosition1B
teamHOU
teamID11
game_date2026-09-09
sl_k_percent23.3
sl_bb_percent8.1
sl_woba0.32
sl_xwoba0.303
sl_xba0.227
sl_xslg0.388
sl_sweet_spot_percent30.9
sl_barrel_batted_rate8.9
sl_hard_hit_percent40.8
sl_exit_velocity_avg89.1
sl_launch_angle_avg14.1
sl_whiff_percent29.3
sl_swing_percent50.2
Daulton Varsho (662139) · BATTER · CF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 73
All-history rows before 20260910: 73
System season_avg: 0.2300
Data season_avg (2026 season-to-date): 0.1581
Diff (system - data): 0.0719
System opponent_avg: 0.1000
System season_avg diverges from 2026 season-to-date by 0.0719. 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.1870.0000.000Hitting_2B0.0550.000-0.0550.000
predicted_3B0.0240.0000.000Hitting_3B0.0140.000-0.0140.000
predicted_AB4.6103.0004.000Hitting_AB3.7264.000-0.726-1.000
predicted_AVG0.2270.0000.250Hitting_AVG0.1580.250-0.158-0.250
predicted_BB0.3091.0001.000Hitting_BB0.4250.0000.5751.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0500.0001.000Hitting_H0.5891.000-0.589-1.000
predicted_HR0.1200.0000.000Hitting_HR0.0820.000-0.0820.000
predicted_OBP0.2920.2500.400Hitting_OBP0.2440.2500.0060.000
predicted_R0.3980.0000.000Hitting_R0.2881.000-0.288-1.000
predicted_RBI0.3600.0000.000Hitting_RBI0.2880.000-0.2880.000
predicted_SLG0.3790.0000.250Hitting_SLG0.2460.250-0.246-0.250
predicted_SO0.7970.0001.000Hitting_SO0.9040.000-0.9040.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.3090 -> 1.0000 (boost 0.6910, better)
Biggest Deboostpredicted_AB: 4.6100 -> 3.0000 (deboost -1.6100, 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.6100 -> 4.2201 (deboost -0.3899, worse)Final model input calibrated 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.3823 -> 0.3653 (deboost -0.0170, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.7687 -> 1.0000 (boost 0.2313, worse)predicted_RBI: 0.3378 -> 0.0000 (deboost -0.3378, worse)AB rounded to 4 (raw=4.61), rates preserved: AVG=0.194 HR/AB=0.025
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)
7consistency_constraints10101-predicted_R: 0.4106 -> 0.0000 (deboost -0.4106, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.3750 (boost 0.3750, better)predicted_H: 1.0000 -> 0.8416 (deboost -0.1584, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation52323predicted_BB: 0.3134 -> 1.0000 (boost 0.6866, better)predicted_RBI: 0.3750 -> 0.0000 (deboost -0.3750, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context21111predicted_OBP: 0.2774 -> 0.2870 (boost 0.0096, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_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
12current_json_final10101-predicted_OBP: 0.2870 -> 0.2774 (deboost -0.0096, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "662139",
  "player_name": "Daulton Varsho",
  "position": "CF",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.187,
        "predicted_3B": 0.024,
        "predicted_AB": 4.61,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.309,
        "predicted_H": 1.05,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.292,
        "predicted_R": 0.398,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.379,
        "predicted_SO": 0.797
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1809,
        "predicted_3B": 0.0283,
        "predicted_AB": 4.2201,
        "predicted_AVG": 0.2282,
        "predicted_BB": 0.2986,
        "predicted_H": 0.9642,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1174,
        "predicted_OBP": 0.2896,
        "predicted_R": 0.4171,
        "predicted_RBI": 0.3431,
        "predicted_SLG": 0.3823,
        "predicted_SO": 0.7662
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.187,
          "after": 0.1809,
          "delta": -0.0061,
          "percent_delta": -0.0326,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0283,
          "delta": 0.0043,
          "percent_delta": 0.1792,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.61,
          "after": 4.2201,
          "delta": -0.3899,
          "percent_delta": -0.0846,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2282,
          "delta": 0.0012,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.309,
          "after": 0.2986,
          "delta": -0.0104,
          "percent_delta": -0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.05,
          "after": 0.9642,
          "delta": -0.0858,
          "percent_delta": -0.0817,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1174,
          "delta": -0.0026,
          "percent_delta": -0.0217,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.292,
          "after": 0.2896,
          "delta": -0.0024,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.398,
          "after": 0.4171,
          "delta": 0.0191,
          "percent_delta": 0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.3431,
          "delta": -0.0169,
          "percent_delta": -0.0469,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.3823,
          "delta": 0.0033,
          "percent_delta": 0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.797,
          "after": 0.7662,
          "delta": -0.0308,
          "percent_delta": -0.0386,
          "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.61,
          "after": 4.2201,
          "delta": -0.3899,
          "percent_delta": -0.0846,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1809,
        "predicted_3B": 0.0283,
        "predicted_AB": 4.2201,
        "predicted_AVG": 0.2265,
        "predicted_BB": 0.2976,
        "predicted_H": 0.9557,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.1161,
        "predicted_OBP": 0.2774,
        "predicted_R": 0.4106,
        "predicted_RBI": 0.3378,
        "predicted_SLG": 0.3653,
        "predicted_SO": 0.7687
      },
      "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.0283,
          "after": 0.0283,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2201,
          "after": 4.2201,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2282,
          "after": 0.2265,
          "delta": -0.0017,
          "percent_delta": -0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2986,
          "after": 0.2976,
          "delta": -0.001,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9642,
          "after": 0.9557,
          "delta": -0.0085,
          "percent_delta": -0.0088,
          "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.1174,
          "after": 0.1161,
          "delta": -0.0013,
          "percent_delta": -0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2896,
          "after": 0.2774,
          "delta": -0.0122,
          "percent_delta": -0.0421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4171,
          "after": 0.4106,
          "delta": -0.0065,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3431,
          "after": 0.3378,
          "delta": -0.0053,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3823,
          "after": 0.3653,
          "delta": -0.017,
          "percent_delta": -0.0445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7662,
          "after": 0.7687,
          "delta": 0.0025,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3823,
          "after": 0.3653,
          "delta": -0.017,
          "percent_delta": -0.0445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.61), rates preserved: AVG=0.194 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.1809,
          "after": 0.0,
          "delta": -0.1809,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0283,
          "after": 0.0,
          "delta": -0.0283,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2201,
          "after": 4.0,
          "delta": -0.2201,
          "percent_delta": -0.0522,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.9557,
          "after": 1.0,
          "delta": 0.0443,
          "percent_delta": 0.0464,
          "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.1161,
          "after": 0.0,
          "delta": -0.1161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3378,
          "after": 0.0,
          "delta": -0.3378,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7687,
          "after": 1.0,
          "delta": 0.2313,
          "percent_delta": 0.3009,
          "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.7687,
          "after": 1.0,
          "delta": 0.2313,
          "percent_delta": 0.3009,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3378,
          "after": 0.0,
          "delta": -0.3378,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9,
        "bvp": 0.1
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.4106,
          "after": 0.0,
          "delta": -0.4106,
          "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.4106,
          "after": 0.0,
          "delta": -0.4106,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1728,
        "predicted_3B": 0.019,
        "predicted_BB": 0.3134,
        "predicted_H": 0.8416,
        "predicted_HR": 0.1102,
        "predicted_RBI": 0.375,
        "predicted_SO": 0.9945
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1728,
          "delta": 0.1728,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.019,
          "delta": 0.019,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3134,
          "delta": 0.3134,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8416,
          "delta": -0.1584,
          "percent_delta": -0.1584,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1102,
          "delta": 0.1102,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.375,
          "delta": 0.375,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9945,
          "delta": -0.0055,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.375,
          "delta": 0.375,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8416,
          "delta": -0.1584,
          "percent_delta": -0.1584,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1728,
          "after": 0.0,
          "delta": -0.1728,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.0,
          "delta": -0.019,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3134,
          "after": 1.0,
          "delta": 0.6866,
          "percent_delta": 2.1908,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8416,
          "after": 1.0,
          "delta": 0.1584,
          "percent_delta": 0.1882,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1102,
          "after": 0.0,
          "delta": -0.1102,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.375,
          "after": 0.0,
          "delta": -0.375,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9945,
          "after": 1.0,
          "delta": 0.0055,
          "percent_delta": 0.0055,
          "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.3134,
          "after": 1.0,
          "delta": 0.6866,
          "percent_delta": 2.1908,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.375,
          "after": 0.0,
          "delta": -0.375,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.222,
        "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.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": 4.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.222,
          "delta": -0.0045,
          "percent_delta": -0.0199,
          "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.2774,
          "after": 0.287,
          "delta": 0.0096,
          "percent_delta": 0.0346,
          "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.3653,
          "after": 0.365,
          "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.2774,
          "after": 0.287,
          "delta": 0.0096,
          "percent_delta": 0.0346,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2265,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2774,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3653,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2265,
          "delta": 0.0045,
          "percent_delta": 0.0201,
          "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.287,
          "after": 0.2774,
          "delta": -0.0096,
          "percent_delta": -0.0333,
          "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.365,
          "after": 0.3653,
          "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": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2774,
          "delta": -0.0096,
          "percent_delta": -0.0333,
          "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.187,
        "after": 0.0,
        "delta": -0.187,
        "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.61,
        "after": 3.0,
        "delta": -1.61,
        "percent_delta": -0.3492,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.227,
        "after": 0.2265,
        "delta": -0.0005,
        "percent_delta": -0.0022,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 1.05,
        "after": 0.0,
        "delta": -1.05,
        "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.292,
        "after": 0.2774,
        "delta": -0.0146,
        "percent_delta": -0.05,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.398,
        "after": 0.0,
        "delta": -0.398,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.379,
        "after": 0.3653,
        "delta": -0.0137,
        "percent_delta": -0.0361,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.797,
        "after": 0.0,
        "delta": -0.797,
        "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.309,
        "after": 1.0,
        "delta": 0.691,
        "percent_delta": 2.2362,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.61,
        "after": 3.0,
        "delta": -1.61,
        "percent_delta": -0.3492,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.187-
predicted_3B0.024-
predicted_AB4.610-
predicted_AVG0.227-
predicted_BB0.309-
predicted_H1.050-
predicted_HR0.120-
predicted_OBP0.292-
predicted_R0.398-
predicted_RBI0.360-
predicted_SLG0.379-
predicted_SO0.797-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.181-0.006
predicted_3B0.0280.004
predicted_AB4.220-0.390
predicted_AVG0.2280.001
predicted_BB0.299-0.010
predicted_H0.964-0.086
predicted_HBP0.011-
predicted_HR0.117-0.003
predicted_OBP0.290-0.002
predicted_R0.4170.019
predicted_RBI0.343-0.017
predicted_SLG0.3820.003
predicted_SO0.766-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.1810.000
predicted_3B0.0280.000
predicted_AB4.2200.000
predicted_AVG0.227-0.002
predicted_BB0.298-0.001
predicted_H0.956-0.008
predicted_HBP0.0110.000
predicted_HR0.116-0.001
predicted_OBP0.277-0.012
predicted_R0.411-0.007
predicted_RBI0.338-0.005
predicted_SLG0.365-0.017
predicted_SO0.7690.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.61), rates preserved: AVG=0.194 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-
6. bvp_blend

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1730.173
3B0.0190.019
BB0.3130.313
H0.842-0.158
HR0.1100.110
RBI0.3750.375
SO0.995-0.005
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.173
3B0.000-0.019
AB4.0000.000
BB1.0000.687
H1.0000.158
HR0.000-0.110
R0.0000.000
RBI0.000-0.375
SO1.0000.005
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.181
predicted_3B0.000-0.028
predicted_AB4.000-0.220
predicted_AVG0.222-0.005
predicted_BB0.000-0.298
predicted_H1.0000.044
predicted_HR0.000-0.116
predicted_OBP0.2870.010
predicted_R0.000-0.411
predicted_RBI0.000-0.338
predicted_SLG0.365-0.000
predicted_SO1.0000.231
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.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: 123
Reference playing time: 4.610
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0005.0001.0000.0001.0001.0003.0001.0003.0000.26320.30000.47370.26320.05260.05260.05260.1579
last_100.2010-37.0007.0001.0001.0001.0004.0004.0003.0006.0000.18920.25000.35140.18920.02700.10810.08110.1622
season0.60123-452.000104.00023.0003.00011.00039.00049.00038.00098.0000.23010.29210.36730.23010.02430.08630.08410.2168
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1730
predicted_3B0.0340
predicted_AB3.7100
predicted_AVG0.2297
predicted_BB0.2850
predicted_H0.8520
predicted_HBP0.0110
predicted_HR0.1140
predicted_OBP0.2864
predicted_R0.4420
predicted_RBI0.3210
predicted_SLG0.3867
predicted_SO0.7260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18700.17300.1809model_form_blend
predicted_3B0.02400.03400.0283model_form_blend
predicted_AB4.61003.71004.2201model_form_blend
predicted_AVG0.22700.22970.2282model_form_blend
predicted_BB0.30900.28500.2986model_form_blend
predicted_H1.05000.85200.9642model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.12000.11400.1174model_form_blend
predicted_OBP0.29200.28640.2896model_form_blend
predicted_R0.39800.44200.4171model_form_blend
predicted_RBI0.36000.32100.3431model_form_blend
predicted_SLG0.37900.38670.3823model_form_blend
predicted_SO0.79700.72600.7662model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
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_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
allPositionsPlayedCF
gameID20260909_HOU@PHI
game_typefull
mlbID662139
playerID662139
playerNameDaulton Varsho
posCF
startedTrue
startingPositionCF
teamHOU
teamID11
game_date2026-09-09
sl_k_percent20.0
sl_bb_percent8.0
sl_woba0.292
sl_xwoba0.292
sl_xba0.235
sl_xslg0.364
sl_sweet_spot_percent33.0
sl_barrel_batted_rate6.8
sl_hard_hit_percent37.0
sl_exit_velocity_avg86.8
sl_launch_angle_avg15.6
sl_whiff_percent21.6
sl_swing_percent52.6
Cam Smith (701358) · BATTER · RF · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 477
All-history rows before 20260910: 477
System season_avg: 0.2160
Data season_avg (2026 season-to-date): 0.2282
Diff (system - data): -0.0122
System opponent_avg: 0.2510

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1200.0000.000Hitting_2B0.1470.000-0.1470.000
predicted_3B0.0450.0000.000Hitting_3B0.0360.000-0.0360.000
predicted_AB3.6404.0003.000Hitting_AB3.5644.0000.4360.000
predicted_AVG0.2300.0000.333Hitting_AVG0.2280.500-0.228-0.500
predicted_BB0.2780.0000.000Hitting_BB0.3080.000-0.3080.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H0.8400.0001.000Hitting_H0.8132.000-0.813-2.000
predicted_HR0.2600.0000.000Hitting_HR0.1491.000-0.149-1.000
predicted_OBP0.2960.0000.333Hitting_OBP0.2960.500-0.296-0.500
predicted_R0.4590.0001.000Hitting_R0.4932.000-0.493-2.000
predicted_RBI0.5200.0000.000Hitting_RBI0.4472.000-0.447-2.000
predicted_SLG0.4920.0000.333Hitting_SLG0.4151.250-0.415-1.250
predicted_SO0.9621.0001.000Hitting_SO0.9940.0000.0061.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_AB: 3.6400 -> 4.0000 (boost 0.3600, better)
Biggest Deboostpredicted_H: 0.8400 -> 0.0000 (deboost -0.8400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_SLG: 0.4920 -> 0.5100 (boost 0.0180, better)predicted_AB: 3.6400 -> 3.4908 (deboost -0.1492, worse)Final model input calibrated 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.3002 -> 0.2901 (deboost -0.0101, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71616predicted_H: 0.8253 -> 1.0000 (boost 0.1747, better)predicted_AB: 3.4908 -> 3.0000 (deboost -0.4908, worse)AB rounded to 3 (raw=3.64), rates preserved: AVG=0.212 HR/AB=0.065
6consistency_constraints10101-predicted_R: 0.4877 -> 0.0000 (deboost -0.4877, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4154 (boost 0.4154, better)predicted_H: 1.0000 -> 0.7390 (deboost -0.2610, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation72534predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.4154 -> 0.0000 (deboost -0.4154, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.4040 -> 0.5110 (boost 0.1070, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "701358",
  "player_name": "Cam Smith",
  "position": "RF",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.12,
        "predicted_3B": 0.045,
        "predicted_AB": 3.64,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.278,
        "predicted_H": 0.84,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.296,
        "predicted_R": 0.459,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.492,
        "predicted_SO": 0.962
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1092,
        "predicted_3B": 0.0723,
        "predicted_AB": 3.4908,
        "predicted_AVG": 0.2385,
        "predicted_BB": 0.2646,
        "predicted_H": 0.8326,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.2375,
        "predicted_OBP": 0.3002,
        "predicted_R": 0.4954,
        "predicted_RBI": 0.4957,
        "predicted_SLG": 0.51,
        "predicted_SO": 0.978
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.12,
          "after": 0.1092,
          "delta": -0.0108,
          "percent_delta": -0.09,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.045,
          "after": 0.0723,
          "delta": 0.0273,
          "percent_delta": 0.6067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.64,
          "after": 3.4908,
          "delta": -0.1492,
          "percent_delta": -0.041,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2385,
          "delta": 0.0085,
          "percent_delta": 0.037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.278,
          "after": 0.2646,
          "delta": -0.0134,
          "percent_delta": -0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.84,
          "after": 0.8326,
          "delta": -0.0074,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.2375,
          "delta": -0.0225,
          "percent_delta": -0.0865,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.3002,
          "delta": 0.0042,
          "percent_delta": 0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.459,
          "after": 0.4954,
          "delta": 0.0364,
          "percent_delta": 0.0793,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.52,
          "after": 0.4957,
          "delta": -0.0243,
          "percent_delta": -0.0467,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.492,
          "after": 0.51,
          "delta": 0.018,
          "percent_delta": 0.0366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.962,
          "after": 0.978,
          "delta": 0.016,
          "percent_delta": 0.0166,
          "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.492,
          "after": 0.51,
          "delta": 0.018,
          "percent_delta": 0.0366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.64,
          "after": 3.4908,
          "delta": -0.1492,
          "percent_delta": -0.041,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 133
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1092,
        "predicted_3B": 0.0723,
        "predicted_AB": 3.4908,
        "predicted_AVG": 0.2364,
        "predicted_BB": 0.2638,
        "predicted_H": 0.8253,
        "predicted_HBP": 0.026,
        "predicted_HR": 0.2349,
        "predicted_OBP": 0.2901,
        "predicted_R": 0.4877,
        "predicted_RBI": 0.488,
        "predicted_SLG": 0.511,
        "predicted_SO": 0.9811
      },
      "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.0723,
          "after": 0.0723,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4908,
          "after": 3.4908,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2385,
          "after": 0.2364,
          "delta": -0.0021,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2646,
          "after": 0.2638,
          "delta": -0.0008,
          "percent_delta": -0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8326,
          "after": 0.8253,
          "delta": -0.0073,
          "percent_delta": -0.0088,
          "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.2375,
          "after": 0.2349,
          "delta": -0.0026,
          "percent_delta": -0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3002,
          "after": 0.2901,
          "delta": -0.0101,
          "percent_delta": -0.0336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4954,
          "after": 0.4877,
          "delta": -0.0077,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4957,
          "after": 0.488,
          "delta": -0.0077,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.51,
          "after": 0.511,
          "delta": 0.001,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.978,
          "after": 0.9811,
          "delta": 0.0031,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3002,
          "after": 0.2901,
          "delta": -0.0101,
          "percent_delta": -0.0336,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.64), rates preserved: AVG=0.212 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": 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.0723,
          "after": 0.0,
          "delta": -0.0723,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4908,
          "after": 3.0,
          "delta": -0.4908,
          "percent_delta": -0.1406,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2638,
          "after": 0.0,
          "delta": -0.2638,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8253,
          "after": 1.0,
          "delta": 0.1747,
          "percent_delta": 0.2117,
          "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.2349,
          "after": 0.0,
          "delta": -0.2349,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.488,
          "after": 0.0,
          "delta": -0.488,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9811,
          "after": 1.0,
          "delta": 0.0189,
          "percent_delta": 0.0193,
          "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.8253,
          "after": 1.0,
          "delta": 0.1747,
          "percent_delta": 0.2117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4908,
          "after": 3.0,
          "delta": -0.4908,
          "percent_delta": -0.1406,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4877,
          "after": 0.0,
          "delta": -0.4877,
          "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.4877,
          "after": 0.0,
          "delta": -0.4877,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1377,
        "predicted_3B": 0.0267,
        "predicted_BB": 0.2458,
        "predicted_H": 0.739,
        "predicted_HR": 0.1389,
        "predicted_RBI": 0.4154,
        "predicted_SO": 1.1537
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1377,
          "delta": 0.1377,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0267,
          "delta": 0.0267,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2458,
          "delta": 0.2458,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.739,
          "delta": -0.261,
          "percent_delta": -0.261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1389,
          "delta": 0.1389,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4154,
          "delta": 0.4154,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1537,
          "delta": 0.1537,
          "percent_delta": 0.1537,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4154,
          "delta": 0.4154,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.739,
          "delta": -0.261,
          "percent_delta": -0.261,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1377,
          "after": 0.0,
          "delta": -0.1377,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0267,
          "after": 0.0,
          "delta": -0.0267,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2458,
          "after": 0.0,
          "delta": -0.2458,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.739,
          "after": 1.0,
          "delta": 0.261,
          "percent_delta": 0.3532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1389,
          "after": 0.0,
          "delta": -0.1389,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4154,
          "after": 0.0,
          "delta": -0.4154,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1537,
          "after": 1.0,
          "delta": -0.1537,
          "percent_delta": -0.1332,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4154,
          "after": 0.0,
          "delta": -0.4154,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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.2364,
          "after": 0.222,
          "delta": -0.0144,
          "percent_delta": -0.0609,
          "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.2901,
          "after": 0.281,
          "delta": -0.0091,
          "percent_delta": -0.0314,
          "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.511,
          "after": 0.404,
          "delta": -0.107,
          "percent_delta": -0.2094,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2364,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2901,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.511,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2364,
          "delta": 0.0144,
          "percent_delta": 0.0649,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2901,
          "delta": 0.0091,
          "percent_delta": 0.0322,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.404,
          "after": 0.511,
          "delta": 0.107,
          "percent_delta": 0.2648,
          "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.404,
          "after": 0.511,
          "delta": 0.107,
          "percent_delta": 0.2648,
          "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.12,
        "after": 0.0,
        "delta": -0.12,
        "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.64,
        "after": 4.0,
        "delta": 0.36,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.23,
        "after": 0.2364,
        "delta": 0.0064,
        "percent_delta": 0.0278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.278,
        "after": 0.0,
        "delta": -0.278,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 0.0,
        "delta": -0.84,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.296,
        "after": 0.2901,
        "delta": -0.0059,
        "percent_delta": -0.0199,
        "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.52,
        "after": 0.0,
        "delta": -0.52,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.492,
        "after": 0.511,
        "delta": 0.019,
        "percent_delta": 0.0386,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.962,
        "after": 1.0,
        "delta": 0.038,
        "percent_delta": 0.0395,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.64,
        "after": 4.0,
        "delta": 0.36,
        "percent_delta": 0.0989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 0.0,
        "delta": -0.84,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.120-
predicted_3B0.045-
predicted_AB3.640-
predicted_AVG0.230-
predicted_BB0.278-
predicted_H0.840-
predicted_HR0.260-
predicted_OBP0.296-
predicted_R0.459-
predicted_RBI0.520-
predicted_SLG0.492-
predicted_SO0.962-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.109-0.011
predicted_3B0.0720.027
predicted_AB3.491-0.149
predicted_AVG0.2380.008
predicted_BB0.265-0.013
predicted_H0.833-0.007
predicted_HBP0.026-
predicted_HR0.237-0.023
predicted_OBP0.3000.004
predicted_R0.4950.036
predicted_RBI0.496-0.024
predicted_SLG0.5100.018
predicted_SO0.9780.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.1090.000
predicted_3B0.0720.000
predicted_AB3.4910.000
predicted_AVG0.236-0.002
predicted_BB0.264-0.001
predicted_H0.825-0.007
predicted_HBP0.0260.000
predicted_HR0.235-0.003
predicted_OBP0.290-0.010
predicted_R0.488-0.008
predicted_RBI0.488-0.008
predicted_SLG0.5110.001
predicted_SO0.9810.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1380.138
3B0.0270.027
BB0.2460.246
H0.739-0.261
HR0.1390.139
RBI0.4150.415
SO1.1540.154
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.138
3B0.000-0.027
AB3.0000.000
BB0.000-0.246
H1.0000.261
HR0.000-0.139
R1.0001.000
RBI0.000-0.415
SO1.000-0.154
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.109
predicted_3B0.000-0.072
predicted_AB3.000-0.491
predicted_AVG0.222-0.014
predicted_BB0.000-0.264
predicted_H1.0000.175
predicted_HR0.000-0.235
predicted_OBP0.281-0.009
predicted_R0.000-0.488
predicted_RBI0.000-0.488
predicted_SLG0.404-0.107
predicted_SO1.0000.019
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 133
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.0000.0001.0002.0003.0004.0001.0006.0000.33330.37500.86670.33330.13330.20000.06670.4000
last_100.2010-30.0008.0001.0002.0002.0005.0005.0002.0009.0000.26670.31250.63330.26670.06670.16670.06670.3000
season0.60133-458.00099.00016.0006.00019.00052.00061.00037.000128.0000.21620.28060.40170.21620.04150.11350.08080.2795
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0950
predicted_3B0.1080
predicted_AB3.2960
predicted_AVG0.2496
predicted_BB0.2470
predicted_H0.8230
predicted_HBP0.0260
predicted_HR0.2080
predicted_OBP0.3058
predicted_R0.5430
predicted_RBI0.4640
predicted_SLG0.5335
predicted_SO0.9990
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12000.09500.1092model_form_blend
predicted_3B0.04500.10800.0723model_form_blend
predicted_AB3.64003.29603.4908model_form_blend
predicted_AVG0.23000.24960.2385model_form_blend
predicted_BB0.27800.24700.2646model_form_blend
predicted_H0.84000.82300.8326model_form_blend
predicted_HBP-0.02600.0260form_only
predicted_HR0.26000.20800.2375model_form_blend
predicted_OBP0.29600.30580.3002model_form_blend
predicted_R0.45900.54300.4954model_form_blend
predicted_RBI0.52000.46400.4957model_form_blend
predicted_SLG0.49200.53350.5100model_form_blend
predicted_SO0.96200.99900.9780model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_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
allPositionsPlayedRF
gameID20260909_HOU@PHI
game_typefull
mlbID701358
playerID701358
playerNameCam Smith
posRF
startedTrue
startingPositionRF
teamHOU
teamID11
game_date2026-09-09
sl_k_percent25.3
sl_bb_percent7.5
sl_woba0.294
sl_xwoba0.319
sl_xba0.24
sl_xslg0.425
sl_sweet_spot_percent30.7
sl_barrel_batted_rate11.2
sl_hard_hit_percent44.3
sl_exit_velocity_avg89.0
sl_launch_angle_avg11.8
sl_whiff_percent29.2
sl_swing_percent48.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 20260910: 226
All-history rows before 20260910: 226
System season_avg: 0.2060
Data season_avg (2026 season-to-date): 0.2269
Diff (system - data): -0.0209
System opponent_avg: 0.2060
System season_avg diverges from 2026 season-to-date by -0.0209. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1130.0000.000Hitting_2B0.1280.000-0.1280.000
predicted_3B0.0250.0000.000Hitting_3B0.0310.000-0.0310.000
predicted_AB2.7883.0003.000Hitting_AB3.0624.000-0.062-1.000
predicted_AVG0.2090.0000.333Hitting_AVG0.2270.250-0.227-0.250
predicted_BB0.2631.0000.000Hitting_BB0.3540.0000.6461.000
predicted_CS-0.0000.000BaseRunning_CS0.0530.000-0.0530.000
predicted_H0.4700.0001.000Hitting_H0.6951.000-0.695-1.000
predicted_HR0.0800.0000.000Hitting_HR0.1060.000-0.1060.000
predicted_OBP0.2630.2500.333Hitting_OBP0.3210.250-0.0710.000
predicted_R0.3250.0000.000Hitting_R0.4510.000-0.4510.000
predicted_RBI0.1500.0000.000Hitting_RBI0.3540.000-0.3540.000
predicted_SLG0.3330.0000.333Hitting_SLG0.3930.250-0.393-0.250
predicted_SO0.9751.0001.000Hitting_SO1.0443.000-0.044-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_BB: 0.2630 -> 1.0000 (boost 0.7370, better)
Biggest Deboostpredicted_H: 0.4700 -> 0.0000 (deboost -0.4700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_AB: 2.7880 -> 2.8432 (boost 0.0552, 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.2077 -> 0.1830 (deboost -0.0247, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62424predicted_H: 0.5202 -> 1.0000 (boost 0.4798, better)predicted_BB: 0.2534 -> 0.0000 (deboost -0.2534, worse)AB rounded to 3 (raw=2.84), rates preserved: AVG=0.171 HR/AB=0.025
6consistency_constraints10101-predicted_R: 0.3006 -> 0.0000 (deboost -0.3006, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3600 (boost 0.3600, better)predicted_H: 1.0000 -> 0.7122 (deboost -0.2878, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61524predicted_H: 0.7122 -> 1.0000 (boost 0.2878, better)predicted_RBI: 0.3600 -> 0.0000 (deboost -0.3600, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context33030predicted_SLG: 0.3256 -> 0.3890 (boost 0.0634, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3890 -> 0.3256 (deboost -0.0634, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.113,
        "predicted_3B": 0.025,
        "predicted_AB": 2.788,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.263,
        "predicted_H": 0.47,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.263,
        "predicted_R": 0.325,
        "predicted_RBI": 0.15,
        "predicted_SLG": 0.333,
        "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.1515,
        "predicted_3B": 0.0208,
        "predicted_AB": 2.8432,
        "predicted_AVG": 0.2077,
        "predicted_BB": 0.2542,
        "predicted_H": 0.5248,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.0716,
        "predicted_OBP": 0.2669,
        "predicted_R": 0.3053,
        "predicted_RBI": 0.1625,
        "predicted_SLG": 0.3394,
        "predicted_SO": 0.985
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.113,
          "after": 0.1515,
          "delta": 0.0385,
          "percent_delta": 0.3407,
          "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.788,
          "after": 2.8432,
          "delta": 0.0552,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.2077,
          "delta": -0.0013,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.263,
          "after": 0.2542,
          "delta": -0.0088,
          "percent_delta": -0.0335,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.47,
          "after": 0.5248,
          "delta": 0.0548,
          "percent_delta": 0.1166,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0716,
          "delta": -0.0084,
          "percent_delta": -0.105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.263,
          "after": 0.2669,
          "delta": 0.0039,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.325,
          "after": 0.3053,
          "delta": -0.0197,
          "percent_delta": -0.0606,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.15,
          "after": 0.1625,
          "delta": 0.0125,
          "percent_delta": 0.0833,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.3394,
          "delta": 0.0064,
          "percent_delta": 0.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.975,
          "after": 0.985,
          "delta": 0.01,
          "percent_delta": 0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.788,
          "after": 2.8432,
          "delta": 0.0552,
          "percent_delta": 0.0198,
          "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": 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.1515,
        "predicted_3B": 0.0208,
        "predicted_AB": 2.8432,
        "predicted_AVG": 0.183,
        "predicted_BB": 0.2534,
        "predicted_H": 0.5202,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.0708,
        "predicted_OBP": 0.2498,
        "predicted_R": 0.3006,
        "predicted_RBI": 0.16,
        "predicted_SLG": 0.3256,
        "predicted_SO": 0.9882
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1515,
          "after": 0.1515,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0208,
          "after": 0.0208,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8432,
          "after": 2.8432,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2077,
          "after": 0.183,
          "delta": -0.0247,
          "percent_delta": -0.1189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2542,
          "after": 0.2534,
          "delta": -0.0008,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5248,
          "after": 0.5202,
          "delta": -0.0046,
          "percent_delta": -0.0088,
          "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.0716,
          "after": 0.0708,
          "delta": -0.0008,
          "percent_delta": -0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2669,
          "after": 0.2498,
          "delta": -0.0171,
          "percent_delta": -0.0641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3053,
          "after": 0.3006,
          "delta": -0.0047,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1625,
          "after": 0.16,
          "delta": -0.0025,
          "percent_delta": -0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3394,
          "after": 0.3256,
          "delta": -0.0138,
          "percent_delta": -0.0407,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.985,
          "after": 0.9882,
          "delta": 0.0032,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2077,
          "after": 0.183,
          "delta": -0.0247,
          "percent_delta": -0.1189,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.84), rates preserved: AVG=0.171 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.1515,
          "after": 0.0,
          "delta": -0.1515,
          "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.8432,
          "after": 3.0,
          "delta": 0.1568,
          "percent_delta": 0.0551,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2534,
          "after": 0.0,
          "delta": -0.2534,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5202,
          "after": 1.0,
          "delta": 0.4798,
          "percent_delta": 0.9223,
          "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.0708,
          "after": 0.0,
          "delta": -0.0708,
          "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_SO",
          "before": 0.9882,
          "after": 1.0,
          "delta": 0.0118,
          "percent_delta": 0.0119,
          "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.5202,
          "after": 1.0,
          "delta": 0.4798,
          "percent_delta": 0.9223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2534,
          "after": 0.0,
          "delta": -0.2534,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3006,
          "after": 0.0,
          "delta": -0.3006,
          "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.3006,
          "after": 0.0,
          "delta": -0.3006,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1452,
        "predicted_3B": 0.0173,
        "predicted_BB": 0.2853,
        "predicted_H": 0.7122,
        "predicted_HR": 0.1155,
        "predicted_RBI": 0.36,
        "predicted_SO": 1.2858
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1452,
          "delta": 0.1452,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0173,
          "delta": 0.0173,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2853,
          "delta": 0.2853,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7122,
          "delta": -0.2878,
          "percent_delta": -0.2878,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1155,
          "delta": 0.1155,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.36,
          "delta": 0.36,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2858,
          "delta": 0.2858,
          "percent_delta": 0.2858,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.36,
          "delta": 0.36,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7122,
          "delta": -0.2878,
          "percent_delta": -0.2878,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1452,
          "after": 0.0,
          "delta": -0.1452,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0173,
          "after": 0.0,
          "delta": -0.0173,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2853,
          "after": 0.0,
          "delta": -0.2853,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7122,
          "after": 1.0,
          "delta": 0.2878,
          "percent_delta": 0.4041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1155,
          "after": 0.0,
          "delta": -0.1155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.0,
          "delta": -0.36,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2858,
          "after": 1.0,
          "delta": -0.2858,
          "percent_delta": -0.2223,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7122,
          "after": 1.0,
          "delta": 0.2878,
          "percent_delta": 0.4041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.0,
          "delta": -0.36,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.224,
        "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.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.183,
          "after": 0.224,
          "delta": 0.041,
          "percent_delta": 0.224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2498,
          "after": 0.293,
          "delta": 0.0432,
          "percent_delta": 0.1729,
          "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.3256,
          "after": 0.389,
          "delta": 0.0634,
          "percent_delta": 0.1947,
          "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.3256,
          "after": 0.389,
          "delta": 0.0634,
          "percent_delta": 0.1947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.183,
        "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.2498,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3256,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.183,
          "delta": -0.041,
          "percent_delta": -0.1832,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.293,
          "after": 0.2498,
          "delta": -0.0432,
          "percent_delta": -0.1474,
          "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.3256,
          "delta": -0.0634,
          "percent_delta": -0.163,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.389,
          "after": 0.3256,
          "delta": -0.0634,
          "percent_delta": -0.163,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.113,
        "after": 0.0,
        "delta": -0.113,
        "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.788,
        "after": 3.0,
        "delta": 0.212,
        "percent_delta": 0.076,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.209,
        "after": 0.183,
        "delta": -0.026,
        "percent_delta": -0.1244,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.263,
        "after": 1.0,
        "delta": 0.737,
        "percent_delta": 2.8023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "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.263,
        "after": 0.2498,
        "delta": -0.0132,
        "percent_delta": -0.0502,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.325,
        "after": 0.0,
        "delta": -0.325,
        "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.333,
        "after": 0.3256,
        "delta": -0.0074,
        "percent_delta": -0.0222,
        "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": 2,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.263,
        "after": 1.0,
        "delta": 0.737,
        "percent_delta": 2.8023,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.113-
predicted_3B0.025-
predicted_AB2.788-
predicted_AVG0.209-
predicted_BB0.263-
predicted_H0.470-
predicted_HR0.080-
predicted_OBP0.263-
predicted_R0.325-
predicted_RBI0.150-
predicted_SLG0.333-
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.1510.038
predicted_3B0.021-0.004
predicted_AB2.8430.055
predicted_AVG0.208-0.001
predicted_BB0.254-0.009
predicted_H0.5250.055
predicted_HBP0.024-
predicted_HR0.072-0.008
predicted_OBP0.2670.004
predicted_R0.305-0.020
predicted_RBI0.1630.013
predicted_SLG0.3390.006
predicted_SO0.9850.010
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1510.000
predicted_3B0.0210.000
predicted_AB2.8430.000
predicted_AVG0.183-0.025
predicted_BB0.253-0.001
predicted_H0.520-0.005
predicted_HBP0.0240.000
predicted_HR0.071-0.001
predicted_OBP0.250-0.017
predicted_R0.301-0.005
predicted_RBI0.160-0.003
predicted_SLG0.326-0.014
predicted_SO0.9880.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.84), rates preserved: AVG=0.171 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-
6. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1450.145
3B0.0170.017
BB0.2850.285
H0.712-0.288
HR0.1160.116
RBI0.3600.360
SO1.2860.286
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.145
3B0.000-0.017
AB3.0000.000
BB0.000-0.285
H1.0000.288
HR0.000-0.116
R0.0000.000
RBI0.000-0.360
SO1.000-0.286
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.151
predicted_3B0.000-0.021
predicted_AB3.0000.157
predicted_AVG0.2240.041
predicted_BB0.000-0.253
predicted_H1.0000.480
predicted_HR0.000-0.071
predicted_OBP0.2930.043
predicted_R0.000-0.301
predicted_RBI0.000-0.160
predicted_SLG0.3890.063
predicted_SO1.0000.012
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 80
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0003.0002.0000.0000.0000.0001.0001.0006.0000.20000.25000.33330.20000.00000.00000.06670.4000
last_100.2010-27.0005.0003.0000.0000.0000.0001.0002.0009.0000.18520.24140.29630.18520.00000.00000.07410.3333
season0.6080-223.00046.0009.0002.0007.00020.00026.00021.00078.0000.20630.28340.35870.20630.03140.08970.09420.3498
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2050
predicted_3B0.0150
predicted_AB2.9200
predicted_AVG0.2059
predicted_BB0.2420
predicted_H0.6010
predicted_HBP0.0240
predicted_HR0.0600
predicted_OBP0.2723
predicted_R0.2780
predicted_RBI0.1800
predicted_SLG0.3483
predicted_SO0.9990
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11300.20500.1515model_form_blend
predicted_3B0.02500.01500.0208model_form_blend
predicted_AB2.78802.92002.8432model_form_blend
predicted_AVG0.20900.20590.2077model_form_blend
predicted_BB0.26300.24200.2542model_form_blend
predicted_H0.47000.60100.5248model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.08000.06000.0716model_form_blend
predicted_OBP0.26300.27230.2669model_form_blend
predicted_R0.32500.27800.3053model_form_blend
predicted_RBI0.15000.18000.1625model_form_blend
predicted_SLG0.33300.34830.3394model_form_blend
predicted_SO0.97500.99900.9850model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO3
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
allPositionsPlayedLF
gameID20260908_HOU@PHI
game_typefull
mlbID666211
playerID666211
playerNameTaylor Trammell
posLF
startedTrue
startingPositionLF
teamHOU
teamID11
game_date2026-09-08
sl_k_percent31.2
sl_bb_percent8.8
sl_woba0.288
sl_xwoba0.284
sl_xba0.192
sl_xslg0.368
sl_sweet_spot_percent28.8
sl_barrel_batted_rate11.6
sl_hard_hit_percent36.3
sl_exit_velocity_avg87.8
sl_launch_angle_avg15.4
sl_whiff_percent38.3
sl_swing_percent48.3
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 20260910: 241
All-history rows before 20260910: 241
System season_avg: 0.2120
Data season_avg (2026 season-to-date): 0.2365
Diff (system - data): -0.0245
System opponent_avg: 0.1640
System season_avg diverges from 2026 season-to-date by -0.0245. 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.1330.000-0.1330.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9244.0003.000Hitting_AB3.1413.0000.8591.000
predicted_AVG0.2050.0000.000Hitting_AVG0.2360.333-0.236-0.333
predicted_BB0.2150.0000.000Hitting_BB0.2530.000-0.2530.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5500.0000.000Hitting_H0.7431.000-0.743-1.000
predicted_HR0.0800.0000.000Hitting_HR0.1040.000-0.1040.000
predicted_OBP0.2530.0000.000Hitting_OBP0.2920.333-0.292-0.333
predicted_R0.2780.0000.000Hitting_R0.3280.000-0.3280.000
predicted_RBI0.2500.0000.000Hitting_RBI0.3980.000-0.3980.000
predicted_SLG0.3130.0000.000Hitting_SLG0.3780.333-0.378-0.333
predicted_SO0.6202.0001.000Hitting_SO0.6310.0001.3692.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.6200 -> 2.0000 (boost 1.3800, worse)
Biggest Deboostpredicted_H: 0.5500 -> 0.0000 (deboost -0.5500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_SLG: 0.3130 -> 0.3189 (boost 0.0059, 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.2052 -> 0.1937 (deboost -0.0115, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.5688 -> 1.0000 (boost 0.4312, better)predicted_RBI: 0.2465 -> 0.0000 (deboost -0.2465, worse)AB rounded to 3 (raw=2.94), rates preserved: AVG=0.181 HR/AB=0.029
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
7consistency_constraints10101-predicted_R: 0.2861 -> 0.0000 (deboost -0.2861, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3557 (boost 0.3557, better)predicted_H: 1.0000 -> 0.6611 (deboost -0.3389, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61506predicted_SO: 0.8162 -> 1.0000 (boost 0.1838, worse)predicted_H: 0.6611 -> 0.0000 (deboost -0.6611, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference32112predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3690 -> 0.3089 (deboost -0.0601, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "543877",
  "player_name": "Christian Vázquez",
  "position": "C",
  "team": "HOU",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.089,
        "predicted_3B": 0.0,
        "predicted_AB": 2.924,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.215,
        "predicted_H": 0.55,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.253,
        "predicted_R": 0.278,
        "predicted_RBI": 0.25,
        "predicted_SLG": 0.313,
        "predicted_SO": 0.62
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0781,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9374,
        "predicted_AVG": 0.2052,
        "predicted_BB": 0.2234,
        "predicted_H": 0.5739,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0875,
        "predicted_OBP": 0.2576,
        "predicted_R": 0.2906,
        "predicted_RBI": 0.2504,
        "predicted_SLG": 0.3189,
        "predicted_SO": 0.6355
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.089,
          "after": 0.0781,
          "delta": -0.0109,
          "percent_delta": -0.1225,
          "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.924,
          "after": 2.9374,
          "delta": 0.0134,
          "percent_delta": 0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2052,
          "delta": 0.0002,
          "percent_delta": 0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.215,
          "after": 0.2234,
          "delta": 0.0084,
          "percent_delta": 0.0391,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.55,
          "after": 0.5739,
          "delta": 0.0239,
          "percent_delta": 0.0435,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0875,
          "delta": 0.0075,
          "percent_delta": 0.0937,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.253,
          "after": 0.2576,
          "delta": 0.0046,
          "percent_delta": 0.0182,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.278,
          "after": 0.2906,
          "delta": 0.0126,
          "percent_delta": 0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.25,
          "after": 0.2504,
          "delta": 0.0004,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.313,
          "after": 0.3189,
          "delta": 0.0059,
          "percent_delta": 0.0188,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.62,
          "after": 0.6355,
          "delta": 0.0155,
          "percent_delta": 0.025,
          "direction": "no_change",
          "projection_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.313,
          "after": 0.3189,
          "delta": 0.0059,
          "percent_delta": 0.0188,
          "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": 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.0781,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9374,
        "predicted_AVG": 0.1937,
        "predicted_BB": 0.2227,
        "predicted_H": 0.5688,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0865,
        "predicted_OBP": 0.2505,
        "predicted_R": 0.2861,
        "predicted_RBI": 0.2465,
        "predicted_SLG": 0.3089,
        "predicted_SO": 0.6375
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0781,
          "after": 0.0781,
          "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.9374,
          "after": 2.9374,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2052,
          "after": 0.1937,
          "delta": -0.0115,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2234,
          "after": 0.2227,
          "delta": -0.0007,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5739,
          "after": 0.5688,
          "delta": -0.0051,
          "percent_delta": -0.0089,
          "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.0875,
          "after": 0.0865,
          "delta": -0.001,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2576,
          "after": 0.2505,
          "delta": -0.0071,
          "percent_delta": -0.0276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2906,
          "after": 0.2861,
          "delta": -0.0045,
          "percent_delta": -0.0155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2504,
          "after": 0.2465,
          "delta": -0.0039,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3189,
          "after": 0.3089,
          "delta": -0.01,
          "percent_delta": -0.0314,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6355,
          "after": 0.6375,
          "delta": 0.002,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2052,
          "after": 0.1937,
          "delta": -0.0115,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.94), rates preserved: AVG=0.181 HR/AB=0.029",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0781,
          "after": 0.0,
          "delta": -0.0781,
          "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.9374,
          "after": 3.0,
          "delta": 0.0626,
          "percent_delta": 0.0213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2227,
          "after": 0.0,
          "delta": -0.2227,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5688,
          "after": 1.0,
          "delta": 0.4312,
          "percent_delta": 0.7581,
          "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.0865,
          "after": 0.0,
          "delta": -0.0865,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2465,
          "after": 0.0,
          "delta": -0.2465,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6375,
          "after": 1.0,
          "delta": 0.3625,
          "percent_delta": 0.5686,
          "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.5688,
          "after": 1.0,
          "delta": 0.4312,
          "percent_delta": 0.7581,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2465,
          "after": 0.0,
          "delta": -0.2465,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2861,
          "after": 0.0,
          "delta": -0.2861,
          "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.2861,
          "after": 0.0,
          "delta": -0.2861,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1191,
        "predicted_3B": 0.01,
        "predicted_BB": 0.2148,
        "predicted_H": 0.6611,
        "predicted_HR": 0.0986,
        "predicted_RBI": 0.3557,
        "predicted_SO": 0.8162
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1191,
          "delta": 0.1191,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.01,
          "delta": 0.01,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2148,
          "delta": 0.2148,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6611,
          "delta": -0.3389,
          "percent_delta": -0.3389,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0986,
          "delta": 0.0986,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3557,
          "delta": 0.3557,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8162,
          "delta": -0.1838,
          "percent_delta": -0.1838,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3557,
          "delta": 0.3557,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6611,
          "delta": -0.3389,
          "percent_delta": -0.3389,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1191,
          "after": 0.0,
          "delta": -0.1191,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2148,
          "after": 0.0,
          "delta": -0.2148,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6611,
          "after": 0.0,
          "delta": -0.6611,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0986,
          "after": 0.0,
          "delta": -0.0986,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3557,
          "after": 0.0,
          "delta": -0.3557,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8162,
          "after": 1.0,
          "delta": 0.1838,
          "percent_delta": 0.2252,
          "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.8162,
          "after": 1.0,
          "delta": 0.1838,
          "percent_delta": 0.2252,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6611,
          "after": 0.0,
          "delta": -0.6611,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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": 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.1937,
          "after": 0.223,
          "delta": 0.0293,
          "percent_delta": 0.1513,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2505,
          "after": 0.281,
          "delta": 0.0305,
          "percent_delta": 0.1218,
          "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.3089,
          "after": 0.369,
          "delta": 0.0601,
          "percent_delta": 0.1946,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1937,
        "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.2505,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3089,
        "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.223,
          "after": 0.1937,
          "delta": -0.0293,
          "percent_delta": -0.1316,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2505,
          "delta": -0.0305,
          "percent_delta": -0.1086,
          "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.369,
          "after": 0.3089,
          "delta": -0.0601,
          "percent_delta": -0.1629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.369,
          "after": 0.3089,
          "delta": -0.0601,
          "percent_delta": -0.1629,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.924,
        "after": 4.0,
        "delta": 1.076,
        "percent_delta": 0.368,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.1937,
        "delta": -0.0113,
        "percent_delta": -0.0551,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.215,
        "after": 0.0,
        "delta": -0.215,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.55,
        "after": 0.0,
        "delta": -0.55,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.253,
        "after": 0.2505,
        "delta": -0.0025,
        "percent_delta": -0.0099,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.278,
        "after": 0.0,
        "delta": -0.278,
        "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.313,
        "after": 0.3089,
        "delta": -0.0041,
        "percent_delta": -0.0131,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.62,
        "after": 2.0,
        "delta": 1.38,
        "percent_delta": 2.2258,
        "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.62,
        "after": 2.0,
        "delta": 1.38,
        "percent_delta": 2.2258,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.55,
        "after": 0.0,
        "delta": -0.55,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.089-
predicted_3B0.000-
predicted_AB2.924-
predicted_AVG0.205-
predicted_BB0.215-
predicted_H0.550-
predicted_HR0.080-
predicted_OBP0.253-
predicted_R0.278-
predicted_RBI0.250-
predicted_SLG0.313-
predicted_SO0.620-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.011
predicted_3B0.0000.000
predicted_AB2.9370.013
predicted_AVG0.2050.000
predicted_BB0.2230.008
predicted_H0.5740.024
predicted_HBP0.003-
predicted_HR0.0870.007
predicted_OBP0.2580.005
predicted_R0.2910.013
predicted_RBI0.2500.000
predicted_SLG0.3190.006
predicted_SO0.6350.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.0780.000
predicted_3B0.0000.000
predicted_AB2.9370.000
predicted_AVG0.194-0.011
predicted_BB0.223-0.001
predicted_H0.569-0.005
predicted_HBP0.0030.000
predicted_HR0.086-0.001
predicted_OBP0.251-0.007
predicted_R0.286-0.005
predicted_RBI0.246-0.004
predicted_SLG0.309-0.010
predicted_SO0.6370.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1190.119
3B0.0100.010
BB0.2150.215
H0.661-0.339
HR0.0990.099
RBI0.3560.356
SO0.816-0.184
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.119
3B0.000-0.010
AB3.0000.000
BB0.000-0.215
H0.000-0.661
HR0.000-0.099
R0.0000.000
RBI0.000-0.356
SO1.0000.184
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.078
predicted_3B0.000-0.000
predicted_AB3.0000.063
predicted_AVG0.2230.029
predicted_BB0.000-0.223
predicted_H1.0000.431
predicted_HR0.000-0.086
predicted_OBP0.2810.031
predicted_R0.000-0.286
predicted_RBI0.000-0.246
predicted_SLG0.3690.060
predicted_SO1.0000.363
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 79
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.0001.0001.0003.0000.14290.20000.14290.14290.00000.00000.07140.2143
last_100.2010-27.0006.0000.0000.0002.0002.0004.0003.0007.0000.22220.30000.44440.22220.07410.07410.11110.2593
season0.6079-231.00049.0007.0000.0007.00025.00022.00017.00049.0000.21210.26510.33330.21210.03030.10820.07360.2121
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0630
predicted_3B0.0010
predicted_AB2.9560
predicted_AVG0.2054
predicted_BB0.2350
predicted_H0.6070
predicted_HBP0.0030
predicted_HR0.0980
predicted_OBP0.2640
predicted_R0.3080
predicted_RBI0.2510
predicted_SLG0.3271
predicted_SO0.6570
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08900.06300.0781model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.92402.95602.9374model_form_blend
predicted_AVG0.20500.20540.2052model_form_blend
predicted_BB0.21500.23500.2234model_form_blend
predicted_H0.55000.60700.5739model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.08000.09800.0875model_form_blend
predicted_OBP0.25300.26400.2576model_form_blend
predicted_R0.27800.30800.2906model_form_blend
predicted_RBI0.25000.25100.2504model_form_blend
predicted_SLG0.31300.32710.3189model_form_blend
predicted_SO0.62000.65700.6355model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 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
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.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_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
gameID20260906_ARI@HOU
game_typefull
mlbID543877
playerID543877
playerNameChristian Vázquez
posC
startedTrue
startingPositionC
teamHOU
teamID11
game_date2026-09-06
sl_k_percent19.2
sl_bb_percent7.1
sl_woba0.266
sl_xwoba0.238
sl_xba0.198
sl_xslg0.273
sl_sweet_spot_percent31.9
sl_barrel_batted_rate2.1
sl_hard_hit_percent22.9
sl_exit_velocity_avg86.0
sl_launch_angle_avg14.6
sl_whiff_percent19.3
sl_swing_percent48.0
Cristian Javier (664299) · PITCHER · Starter · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 14
All-history rows before 20260910: 14

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.5713.0000.429-1.000
predicted_ER5.0005.0005.000Pitching_ER2.3571.0002.6434.000
predicted_H7.0007.0007.000Pitching_H3.9291.0003.0716.000
predicted_IP4.0004.0004.000Pitching_InningsPitched3.4645.0000.536-1.000
predicted_SO6.0006.0006.000Pitching_SO3.5718.0002.429-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: 4.3333 -> 4.0000 (deboost -0.3333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2starter_usage_guardrail10101-predicted_IP: 4.3333 -> 4.0000 (deboost -0.3333, worse)Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "664299",
  "player_name": "Cristian Javier",
  "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": 2.0,
        "predicted_ER": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.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": "starter_usage_guardrail",
      "description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.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": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.3333,
          "after": 4.0,
          "delta": -0.3333,
          "percent_delta": -0.0769,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 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": 4.3333,
          "after": 4.0,
          "delta": -0.3333,
          "percent_delta": -0.0769,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 5.0,
        "predicted_H": 7.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.0,
        "predicted_R": 5.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": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 4.3333,
        "after": 4.0,
        "delta": -0.3333,
        "percent_delta": -0.0769,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 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": 4.3333,
        "after": 4.0,
        "delta": -0.3333,
        "percent_delta": -0.0769,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER5.000-
predicted_H7.000-
predicted_HR0.000-
predicted_IP4.333-
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_BB2.0000.000
predicted_ER5.0000.000
predicted_H7.0000.000
predicted_HR0.0000.000
predicted_IP4.000-0.333
predicted_SO6.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 14
Reference playing time: 4.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45522.10013.00024.0007.00027.0005.0005.23881.38810.58211.07460.31341.20900.2239
last_100.351038.10019.00040.00012.00042.0006.0004.46091.35650.49561.04350.31301.09570.1565
season0.201449.20033.00055.00022.00050.0009.0005.97991.55030.66441.10740.44301.00670.1812
Weighted Prediction From Real Data
MetricValue
predicted_BB1.4430
predicted_ER2.2870
predicted_ERA4.9600
predicted_H4.3350
predicted_HR0.7470
predicted_IP4.0000
predicted_SO4.4770
predicted_WHIP1.3924
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.44301.6999model_form_blend
predicted_ER5.00002.28703.5382model_form_blend
predicted_ERA-4.96004.9600form_only
predicted_H7.00004.33505.5641model_form_blend
predicted_HR0.00000.74700.4025model_form_blend
predicted_IP4.10004.00004.2000model_form_blend
predicted_SO6.00004.47705.1794model_form_blend
predicted_WHIP-1.39241.3924form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.0
H7
R5
ER5
BB2
SO6
HR0
BF22
Pitches89

Latest Real Data Snapshot (before report date)

Latest 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 Faced19
Pitching_ER1
Pitching_ERA5.98
Pitching_Flyouts3
Pitching_Groundouts3
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.0
Pitching_Pitches79
Pitching_R1
Pitching_SO8
Pitching_Strikes47
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260904_ARI@HOU
game_typefull
mlbID664299
playerID664299
playerNameCristian Javier
posP
startedTrue
startingPositionP
teamHOU
teamID11
game_date2026-09-04
sl_k_percent22.4
sl_bb_percent9.9
sl_woba0.36
sl_xwoba0.34
sl_sweet_spot_percent39.6
sl_barrel_batted_rate9.4
sl_hard_hit_percent35.6
sl_whiff_percent30.0
sl_swing_percent51.8
sl_avg_best_speed79.932273108
sl_avg_hyper_speed94.151771892
AJ Blubaugh (805123) · PITCHER · Middle Reliever (High Leverage) · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 57
All-history rows before 20260910: 57

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.6321.000-0.632-1.000
predicted_ER0.0000.0000.000Pitching_ER0.5792.000-0.579-2.000
predicted_H0.0000.0000.000Pitching_H1.2461.000-1.246-1.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.4630.100-0.3631.000
predicted_SO0.0000.0000.000Pitching_SO1.5791.000-1.579-1.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 57
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.2004.0008.0002.0004.0002.0007.71432.14290.85711.71430.42860.85710.4286
last_100.351012.0004.00012.0003.00013.0002.0003.00001.25000.33331.00000.25001.08330.1667
season0.205789.00033.00071.00036.00090.00012.0003.33711.20220.37080.79770.40451.01120.1348
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4610
predicted_ER0.7110
predicted_ERA5.0447
predicted_H1.5390
predicted_HR0.3170
predicted_IP1.1000
predicted_SO1.2190
predicted_WHIP1.5774
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.46100.2572model_form_blend
predicted_ER0.00000.71100.3968model_form_blend
predicted_ERA-5.04475.0447form_only
predicted_H0.00001.53900.8588model_form_blend
predicted_HR0.00000.31700.1769model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO0.00001.21900.6802model_form_blend
predicted_WHIP-1.57741.5774form_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 date57
Season rows before report date57
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.1
H0
R0
ER0
BB0
SO0
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER2
Pitching_ERA3.34
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored3
Pitching_InningsPitched0.1
Pitching_Pitches15
Pitching_R2
Pitching_SO1
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260909_HOU@PHI
game_typefull
mlbID805123
playerID805123
playerNameAJ Blubaugh
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-09
sl_k_percent24.4
sl_bb_percent9.8
sl_woba0.305
sl_xwoba0.312
sl_sweet_spot_percent37.1
sl_barrel_batted_rate10.5
sl_hard_hit_percent38.3
sl_whiff_percent28.8
sl_swing_percent49.3
sl_avg_best_speed78.939092906
sl_avg_hyper_speed93.8968803
Bryan Abreu (650556) · PITCHER · Setup Man · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 59
All-history rows before 20260910: 59

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.6780.0000.3221.000
predicted_ER0.0000.0000.000Pitching_ER0.3900.000-0.3900.000
predicted_H0.0000.0000.000Pitching_H0.6441.000-0.644-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8711.0000.1290.000
predicted_SO0.0000.0000.000Pitching_SO1.2202.000-1.220-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": "650556",
  "player_name": "Bryan Abreu",
  "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": 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: 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.4555.1000.0002.0002.0006.0000.0000.00000.75000.00000.37500.37501.12500.0000
last_100.351011.0001.0006.0007.00013.0000.0000.81821.18180.09090.54540.63641.18180.0000
season0.205857.00023.00036.00040.00072.0007.0003.63161.33330.40350.63160.70171.26320.1228
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4830
predicted_ER0.2310
predicted_ERA2.0774
predicted_H0.6340
predicted_HR0.0620
predicted_IP1.0000
predicted_SO1.1020
predicted_WHIP1.1168
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.48300.7301model_form_blend
predicted_ER0.00000.23100.1206model_form_blend
predicted_ERA-2.07742.0774form_only
predicted_H0.00000.63400.3309model_form_blend
predicted_HR0.00000.06200.0324model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.10200.5752model_form_blend
predicted_WHIP-1.11681.1168form_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
BB1
SO0
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA3.63
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches20
Pitching_R0
Pitching_SO2
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260908_HOU@PHI
game_typefull
mlbID650556
playerID650556
playerNameBryan Abreu
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-08
sl_k_percent29.4
sl_bb_percent16.3
sl_woba0.319
sl_xwoba0.315
sl_sweet_spot_percent35.2
sl_barrel_batted_rate5.5
sl_hard_hit_percent42.2
sl_whiff_percent34.8
sl_swing_percent40.8
sl_avg_best_speed81.802123065
sl_avg_hyper_speed94.318972846
Josh Hader (623352) · PITCHER · Closer · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 41
All-history rows before 20260910: 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.2680.000-0.2680.000
predicted_ER0.0000.0000.000Pitching_ER0.0981.000-0.098-1.000
predicted_H0.0000.0000.000Pitching_H0.3902.000-0.390-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9611.0000.0390.000
predicted_SO0.0000.0000.000Pitching_SO1.2930.000-1.2930.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": 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: 40
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.0003.0000.0005.0000.0001.80000.60000.20000.60000.00001.00000.0000
last_100.351010.1001.0003.0001.00012.0000.0000.87100.38710.09680.29030.09681.16130.0000
season0.204040.1003.00013.00011.00053.0001.0000.66940.59500.07440.32230.27271.31400.0248
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1960
predicted_ER0.2770
predicted_ERA2.4960
predicted_H0.6400
predicted_HR0.0590
predicted_IP1.0000
predicted_SO1.0510
predicted_WHIP0.8365
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.19600.0959model_form_blend
predicted_ER0.00000.27700.1355model_form_blend
predicted_ERA-2.49602.4960form_only
predicted_H0.00000.64000.3131model_form_blend
predicted_HR0.00000.05900.0289model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.05100.5142model_form_blend
predicted_WHIP-0.83650.8365form_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
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_ERA0.89
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches17
Pitching_R1
Pitching_SO0
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260908_HOU@PHI
game_typefull
mlbID623352
playerID623352
playerNameJosh Hader
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-08
sl_k_percent35.8
sl_bb_percent7.4
sl_woba0.166
sl_xwoba0.206
sl_sweet_spot_percent23.8
sl_barrel_batted_rate7.1
sl_hard_hit_percent32.1
sl_whiff_percent35.4
sl_swing_percent53.9
sl_avg_best_speed75.039683333
sl_avg_hyper_speed92.750714762
Enyel De Los Santos (660853) · PITCHER · Middle Reliever (High Leverage) · Team HOU
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 64
All-history rows before 20260910: 64

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2810.000-0.2810.000
predicted_ER0.0000.0000.000Pitching_ER0.5000.000-0.5000.000
predicted_H0.0000.0000.000Pitching_H0.9530.000-0.9530.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.9060.200-0.7060.000
predicted_SO2.0002.0002.000Pitching_SO0.9691.0001.0311.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 63
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.2000.0002.0004.0005.0000.0000.00001.05880.00000.35290.70590.88230.0000
last_100.351011.0006.0008.0005.0009.0001.0004.90911.18180.54540.72730.45460.81820.0909
season0.206367.10032.00061.00018.00062.0008.0004.27721.17330.47530.90590.26730.92080.1188
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4000
predicted_ER0.2830
predicted_ERA3.0990
predicted_H0.5720
predicted_HR0.0660
predicted_IP0.2000
predicted_SO0.7280
predicted_WHIP1.1839
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.40000.2145model_form_blend
predicted_ER0.00000.28300.1518model_form_blend
predicted_ERA-3.09903.0990form_only
predicted_H0.00000.57200.3068model_form_blend
predicted_HR0.00000.06600.0354model_form_blend
predicted_IP0.10000.20000.2000model_form_blend
predicted_SO2.00000.72801.3178model_form_blend
predicted_WHIP-1.18391.1839form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date64
Season rows before report date64
Report year2026
Profile rows used63
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
SO2
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 Faced2
Pitching_ER0
Pitching_ERA4.28
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches7
Pitching_R0
Pitching_SO1
Pitching_Strikes5
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260909_HOU@PHI
game_typefull
mlbID660853
playerID660853
playerNameEnyel De Los Santos
posP
startedFalse
startingPositionP
teamHOU
teamID11
game_date2026-09-09
sl_k_percent22.2
sl_bb_percent6.5
sl_woba0.299
sl_xwoba0.281
sl_sweet_spot_percent33.8
sl_barrel_batted_rate5.1
sl_hard_hit_percent36.9
sl_whiff_percent27.1
sl_swing_percent54.2
sl_avg_best_speed77.325975816
sl_avg_hyper_speed93.423254031

Home Team: PHI

Home Pitcher Deep Analysis

FieldValue
PitcherZack Wheeler
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6684
ESPN Rank11
Movement AvailableTrue
Primary Pitch-
Movement Score0.0094
Avg Velo90.0429
Avg Spin2372.8772
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER3
Pre H7
Pre BB1
Pre SO6
Season ERA3.2347
Season WHIP1.0782
Role Avg IP5.6810
Recent Avg IP5.2000
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "opponent": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "edges": {
    "quality_edge": 0.1127,
    "offense_edge": 0.0014,
    "opponent_offense_edge": 0.0045,
    "defense_strength": 0.0598,
    "opponent_defense_weakness": 0.0627,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9891,
    "strikeout": 1.003
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "554430",
    "profile": {
      "available": true,
      "pitcher_id": "554430",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 473.0,
        "k_percent": 29.8,
        "bb_percent": 7.9,
        "woba": 0.287,
        "xwoba": 0.271,
        "sweet_spot_percent": 34.4,
        "barrel_batted_rate": 6.3,
        "hard_hit_percent": 35.0,
        "avg_best_speed": 74.929,
        "avg_hyper_speed": 93.4258,
        "whiff_percent": 31.1,
        "swing_percent": 49.5
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.706,
        "command_and_miss": 0.8714,
        "regression_edge": 0.4571,
        "xwoba_edge": 1.1429,
        "barrel_edge": 0.1778,
        "hard_hit_edge": 0.4143,
        "whiff_edge": 0.8714,
        "bb_edge": 0.325,
        "pitch_design_score": 0.0094
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "554430",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 99,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 99,
          "pitch_usage": 0.0,
          "release_speed": 90.04289921739226,
          "release_spin_rate": 2372.877200953717,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 99,
            "pitch_usage": 0.0,
            "release_speed": 90.04289921739226,
            "release_spin_rate": 2372.877200953717,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0429,
          "release_spin_rate": 2372.8772,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0094,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.0671,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6684,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9432,
      "strikeout_factor": 1.0794,
      "walk_factor": 0.974,
      "homer_factor": 0.9349,
      "woba_minus_xwoba": 0.016,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "554430",
        "espn_id": 31267,
        "player_name": "Zack Wheeler",
        "team": "PHI",
        "role": "pitcher",
        "espn_rank": 11,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 11,
          "gp_value": 24.0,
          "gp_rank": 339,
          "gs_value": 24.0,
          "gs_rank": 71,
          "qs_value": 14.0,
          "qs_rank": 23,
          "era_value": 3.2347,
          "era_rank": null,
          "w_value": 12.0,
          "w_rank": 17,
          "l_value": 5.0,
          "l_rank": 135,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 136.1,
          "ip_rank": 69,
          "h_value": 104.0,
          "h_rank": 111,
          "er_value": 49.0,
          "er_rank": 107,
          "hr_value": 20.0,
          "hr_rank": 38,
          "bb_value": 43.0,
          "bb_rank": 67,
          "k_value": 163.0,
          "k_rank": 23,
          "k_per_9_value": 10.760391,
          "k_per_9_rank": 9,
          "whip_value": 1.0782,
          "whip_rank": null,
          "war_value": 4.44,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9432,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9432,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 0.974,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9349,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0794,
        "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": 49.1,
    "ER": 27,
    "H": 45,
    "BB": 23,
    "SO": 65,
    "HR": 10,
    "ERA": 4.925675675675676,
    "WHIP": 1.3783783783783785,
    "K9": 11.858108108108109,
    "HR9": 1.8243243243243246,
    "games_pitched": 10,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "554430",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 99,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 99,
    "pitch_usage": 0.0,
    "release_speed": 90.04289921739226,
    "release_spin_rate": 2372.877200953717,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 99,
      "pitch_usage": 0.0,
      "release_speed": 90.04289921739226,
      "release_spin_rate": 2372.877200953717,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0429,
    "release_spin_rate": 2372.8772,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0094,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.0671,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "554430",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 24,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 26.0,
        "ER": 16.0,
        "R": 17.0,
        "H": 24.0,
        "BB": 15.0,
        "SO": 31.0,
        "HR": 6.0,
        "BF": 116.0,
        "Pitches": 488.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 3.2,
        "R": 3.4,
        "H": 4.8,
        "BB": 3.0,
        "SO": 6.2,
        "HR": 1.2,
        "BF": 23.2,
        "Pitches": 97.6
      },
      "rates": {
        "ERA": 5.5385,
        "WHIP": 1.5,
        "ER_per_IP": 0.61538,
        "H_per_IP": 0.92308,
        "BB_per_IP": 0.57692,
        "SO_per_IP": 1.19231,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 49.1,
        "ER": 27.0,
        "R": 28.0,
        "H": 45.0,
        "BB": 23.0,
        "SO": 65.0,
        "HR": 10.0,
        "BF": 214.0,
        "Pitches": 893.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.7,
        "R": 2.8,
        "H": 4.5,
        "BB": 2.3,
        "SO": 6.5,
        "HR": 1.0,
        "BF": 21.4,
        "Pitches": 89.3
      },
      "rates": {
        "ERA": 4.9257,
        "WHIP": 1.3784,
        "ER_per_IP": 0.5473,
        "H_per_IP": 0.91216,
        "BB_per_IP": 0.46622,
        "SO_per_IP": 1.31757,
        "HR_per_IP": 0.2027
      }
    },
    "season": {
      "games": 24,
      "totals": {
        "IP": 136.1,
        "ER": 49.0,
        "R": 50.0,
        "H": 104.0,
        "BB": 43.0,
        "SO": 163.0,
        "HR": 20.0,
        "BF": 547.0,
        "Pitches": 2250.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.0417,
        "R": 2.0833,
        "H": 4.3333,
        "BB": 1.7917,
        "SO": 6.7917,
        "HR": 0.8333,
        "BF": 22.7917,
        "Pitches": 93.75
      },
      "rates": {
        "ERA": 3.2347,
        "WHIP": 1.0782,
        "ER_per_IP": 0.35941,
        "H_per_IP": 0.76284,
        "BB_per_IP": 0.3154,
        "SO_per_IP": 1.1956,
        "HR_per_IP": 0.1467
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 2.856,
    "predicted_H": 4.825,
    "predicted_BB": 2.494,
    "predicted_SO": 6.342,
    "predicted_HR": 1.039,
    "predicted_ERA": 4.8052,
    "predicted_WHIP": 1.3682
  }
}
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.1,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 2.856,
      "final": 3.3397,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 8.0,
      "form": 4.825,
      "final": 6.1675,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 2.494,
      "final": 1.8623,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 6.342,
      "final": 5.7746,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 1.039,
      "final": 0.5997,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.8052,
      "final": 4.8052,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3682,
      "final": 1.3682,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJhoan Duran
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.9425
ESPN Rank29
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO0
Season ERA1.3500
Season WHIP0.9750
Role Avg IP0.9880
Recent Avg IP1.2000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "opponent": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "edges": {
    "quality_edge": 0.1127,
    "offense_edge": 0.0014,
    "opponent_offense_edge": 0.0045,
    "defense_strength": 0.0598,
    "opponent_defense_weakness": 0.0627,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9891,
    "strikeout": 1.003
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "661395",
    "profile": {
      "available": true,
      "pitcher_id": "661395",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 179.0,
        "k_percent": 34.6,
        "bb_percent": 4.2,
        "woba": 0.248,
        "xwoba": 0.222,
        "sweet_spot_percent": 22.8,
        "barrel_batted_rate": 3.2,
        "hard_hit_percent": 40.2,
        "avg_best_speed": 80.1921,
        "avg_hyper_speed": 94.2103,
        "whiff_percent": 35.6,
        "swing_percent": 52.6
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.4798,
        "command_and_miss": 1.59,
        "regression_edge": 0.7429,
        "xwoba_edge": 2.5,
        "barrel_edge": 0.8667,
        "hard_hit_edge": -0.3286,
        "whiff_edge": 1.5143,
        "bb_edge": 1.25,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "661395",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.9425,
      "sample_weight": 0.716,
      "run_prevention_factor": 0.9199,
      "strikeout_factor": 1.0949,
      "walk_factor": 0.9284,
      "homer_factor": 0.9061,
      "woba_minus_xwoba": 0.026,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "661395",
        "espn_id": 41109,
        "player_name": "Jhoan Duran",
        "team": "PHI",
        "role": "pitcher",
        "espn_rank": 29,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 29,
          "gp_value": 55.0,
          "gp_rank": 77,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 1.6875,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 316,
          "l_value": 5.0,
          "l_rank": 135,
          "sv_value": 30.0,
          "sv_rank": 9,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 53.1,
          "ip_rank": 285,
          "h_value": 46.0,
          "h_rank": 263,
          "er_value": 10.0,
          "er_rank": 528,
          "hr_value": 1.0,
          "hr_rank": 613,
          "bb_value": 9.0,
          "bb_rank": 505,
          "k_value": 74.0,
          "k_rank": 167,
          "k_per_9_value": 12.4875,
          "k_per_9_rank": 15,
          "whip_value": 1.0312,
          "whip_rank": null,
          "war_value": 3.15,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9426,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9426,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9487,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9328,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0679,
        "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": 11,
    "BB": 2,
    "SO": 15,
    "HR": 0,
    "ERA": 1.6363636363636365,
    "WHIP": 1.1818181818181819,
    "K9": 12.272727272727273,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "661395",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.764,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6828,
    "prior_weight": 0.3172
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "661395",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 54,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 1.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 1.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 25.0,
        "Pitches": 80.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 5.0,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 1.5,
        "WHIP": 1.0,
        "ER_per_IP": 0.16667,
        "H_per_IP": 0.83333,
        "BB_per_IP": 0.16667,
        "SO_per_IP": 1.16667,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 11.0,
        "BB": 2.0,
        "SO": 15.0,
        "HR": 0.0,
        "BF": 47.0,
        "Pitches": 172.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.3,
        "H": 1.1,
        "BB": 0.2,
        "SO": 1.5,
        "HR": 0.0,
        "BF": 4.7,
        "Pitches": 17.2
      },
      "rates": {
        "ERA": 1.6364,
        "WHIP": 1.1818,
        "ER_per_IP": 0.18182,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.18182,
        "SO_per_IP": 1.36364,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 54,
      "totals": {
        "IP": 53.1,
        "ER": 8.0,
        "R": 10.0,
        "H": 43.0,
        "BB": 9.0,
        "SO": 74.0,
        "HR": 1.0,
        "BF": 211.0,
        "Pitches": 836.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1481,
        "R": 0.1852,
        "H": 0.7963,
        "BB": 0.1667,
        "SO": 1.3704,
        "HR": 0.0185,
        "BF": 3.9074,
        "Pitches": 15.4815
      },
      "rates": {
        "ERA": 1.35,
        "WHIP": 0.975,
        "ER_per_IP": 0.15,
        "H_per_IP": 0.80625,
        "BB_per_IP": 0.16875,
        "SO_per_IP": 1.3875,
        "HR_per_IP": 0.01875
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.303,
    "predicted_H": 1.007,
    "predicted_BB": 0.26,
    "predicted_SO": 1.292,
    "predicted_HR": 0.054,
    "predicted_ERA": 2.4722,
    "predicted_WHIP": 1.1493
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.484,
  "form_weight": 0.516,
  "form_reliability": 0.6828,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.764,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6828,
    "prior_weight": 0.3172
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.303,
      "final": 0.1563,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.007,
      "final": 0.5196,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.26,
      "final": 0.6182,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.292,
      "final": 0.6667,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.054,
      "final": 0.0279,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4722,
      "final": 2.4722,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1493,
      "final": 1.1493,
      "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 Bowlan
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5698
ESPN Rank141
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA3.1667
Season WHIP1
Role Avg IP0.9640
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "opponent": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "edges": {
    "quality_edge": 0.1127,
    "offense_edge": 0.0014,
    "opponent_offense_edge": 0.0045,
    "defense_strength": 0.0598,
    "opponent_defense_weakness": 0.0627,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9891,
    "strikeout": 1.003
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "680742",
    "profile": {
      "available": true,
      "pitcher_id": "680742",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 186.0,
        "k_percent": 31.3,
        "bb_percent": 6.5,
        "woba": 0.267,
        "xwoba": 0.26,
        "sweet_spot_percent": 36.4,
        "barrel_batted_rate": 6.8,
        "hard_hit_percent": 35.6,
        "avg_best_speed": 75.4899,
        "avg_hyper_speed": 93.1351,
        "whiff_percent": 31.0,
        "swing_percent": 50.2
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8522,
        "command_and_miss": 1.0329,
        "regression_edge": 0.2,
        "xwoba_edge": 1.4571,
        "barrel_edge": 0.0667,
        "hard_hit_edge": 0.3286,
        "whiff_edge": 0.8571,
        "bb_edge": 0.675,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "680742",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.5698,
      "sample_weight": 0.744,
      "run_prevention_factor": 0.9516,
      "strikeout_factor": 1.065,
      "walk_factor": 0.9598,
      "homer_factor": 0.9537,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "680742",
        "espn_id": 41344,
        "player_name": "Jonathan Bowlan",
        "team": "PHI",
        "role": "pitcher",
        "espn_rank": 141,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 141,
          "gp_value": 56.0,
          "gp_rank": 71,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 3.1666,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 316,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 2.0,
          "sv_rank": 93,
          "hld_value": 13.0,
          "hld_rank": 50,
          "ip_value": 54.0,
          "ip_rank": 277,
          "h_value": 40.0,
          "h_rank": 322,
          "er_value": 19.0,
          "er_rank": 331,
          "hr_value": 7.0,
          "hr_rank": 226,
          "bb_value": 14.0,
          "bb_rank": 400,
          "k_value": 68.0,
          "k_rank": 190,
          "k_per_9_value": 11.333333,
          "k_per_9_rank": 18,
          "whip_value": 1.0,
          "whip_rank": null,
          "war_value": 1.3,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.964,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.964,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9701,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9656,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0484,
        "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": 6,
    "H": 9,
    "BB": 4,
    "SO": 15,
    "HR": 3,
    "ERA": 5.225806451612904,
    "WHIP": 1.2580645161290325,
    "K9": 13.06451612903226,
    "HR9": 2.612903225806452,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "680742",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.898,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6855,
    "prior_weight": 0.3145
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "680742",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 56,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 8.0,
        "HR": 3.0,
        "BF": 21.0,
        "Pitches": 97.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.0,
        "BB": 0.0,
        "SO": 1.6,
        "HR": 0.6,
        "BF": 4.2,
        "Pitches": 19.4
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 0.9375,
        "ER_per_IP": 0.75,
        "H_per_IP": 0.9375,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.5625
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 6.0,
        "R": 6.0,
        "H": 9.0,
        "BB": 4.0,
        "SO": 15.0,
        "HR": 3.0,
        "BF": 46.0,
        "Pitches": 218.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.9,
        "BB": 0.4,
        "SO": 1.5,
        "HR": 0.3,
        "BF": 4.6,
        "Pitches": 21.8
      },
      "rates": {
        "ERA": 5.2258,
        "WHIP": 1.2581,
        "ER_per_IP": 0.58065,
        "H_per_IP": 0.87097,
        "BB_per_IP": 0.3871,
        "SO_per_IP": 1.45161,
        "HR_per_IP": 0.29032
      }
    },
    "season": {
      "games": 56,
      "totals": {
        "IP": 54.0,
        "ER": 19.0,
        "R": 21.0,
        "H": 40.0,
        "BB": 14.0,
        "SO": 68.0,
        "HR": 7.0,
        "BF": 217.0,
        "Pitches": 912.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3393,
        "R": 0.375,
        "H": 0.7143,
        "BB": 0.25,
        "SO": 1.2143,
        "HR": 0.125,
        "BF": 3.875,
        "Pitches": 16.2857
      },
      "rates": {
        "ERA": 3.1667,
        "WHIP": 1.0,
        "ER_per_IP": 0.35185,
        "H_per_IP": 0.74074,
        "BB_per_IP": 0.25926,
        "SO_per_IP": 1.25926,
        "HR_per_IP": 0.12963
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.577,
    "predicted_H": 0.906,
    "predicted_BB": 0.245,
    "predicted_SO": 1.279,
    "predicted_HR": 0.307,
    "predicted_ERA": 5.1938,
    "predicted_WHIP": 1.151
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4829,
  "form_weight": 0.5171,
  "form_reliability": 0.6855,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.898,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6855,
    "prior_weight": 0.3145
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.577,
      "final": 0.2984,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.906,
      "final": 0.4685,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.245,
      "final": 0.1267,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.279,
      "final": 0.6614,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.307,
      "final": 0.1588,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.1938,
      "final": 5.1938,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.151,
      "final": 1.151,
      "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
PitcherOrion Kerkering
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2888
ESPN Rank214
Movement AvailableTrue
Primary Pitch-
Movement Score0.1368
Avg Velo92.3174
Avg Spin2554.8212
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA4.1159
Season WHIP1.2988
Role Avg IP0.9270
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "opponent": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "edges": {
    "quality_edge": 0.1127,
    "offense_edge": 0.0014,
    "opponent_offense_edge": 0.0045,
    "defense_strength": 0.0598,
    "opponent_defense_weakness": 0.0627,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9891,
    "strikeout": 1.003
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "689147",
    "profile": {
      "available": true,
      "pitcher_id": "689147",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 210.0,
        "k_percent": 23.5,
        "bb_percent": 11.9,
        "woba": 0.298,
        "xwoba": 0.288,
        "sweet_spot_percent": 34.4,
        "barrel_batted_rate": 6.0,
        "hard_hit_percent": 31.1,
        "avg_best_speed": 73.8695,
        "avg_hyper_speed": 92.6942,
        "whiff_percent": 25.9,
        "swing_percent": 42.5
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.5405,
        "command_and_miss": 0.0064,
        "regression_edge": 0.2857,
        "xwoba_edge": 0.6571,
        "barrel_edge": 0.2444,
        "hard_hit_edge": 0.9714,
        "whiff_edge": 0.1286,
        "bb_edge": -0.675,
        "pitch_design_score": 0.1368
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "689147",
        "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.31742278087123,
          "release_spin_rate": 2554.8212123801372,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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.31742278087123,
            "release_spin_rate": 2554.8212123801372,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.3174,
          "release_spin_rate": 2554.8212,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1368,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.9769,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2888,
      "sample_weight": 0.84,
      "run_prevention_factor": 0.9754,
      "strikeout_factor": 1.0115,
      "walk_factor": 1.0454,
      "homer_factor": 0.9344,
      "woba_minus_xwoba": 0.01,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "689147",
        "espn_id": 4630789,
        "player_name": "Orion Kerkering",
        "team": "PHI",
        "role": "pitcher",
        "espn_rank": 214,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 214,
          "gp_value": 59.0,
          "gp_rank": 52,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 4.1158,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 85,
          "l_value": 1.0,
          "l_rank": 427,
          "sv_value": 2.0,
          "sv_rank": 93,
          "hld_value": 17.0,
          "hld_rank": 27,
          "ip_value": 54.2,
          "ip_rank": 270,
          "h_value": 42.0,
          "h_rank": 304,
          "er_value": 25.0,
          "er_rank": 242,
          "hr_value": 4.0,
          "hr_rank": 375,
          "bb_value": 29.0,
          "bb_rank": 174,
          "k_value": 57.0,
          "k_rank": 243,
          "k_per_9_value": 9.384146,
          "k_per_9_rank": 24,
          "whip_value": 1.2987,
          "whip_rank": null,
          "war_value": 0.75,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9793,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9793,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0381,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9449,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0097,
        "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": 11,
    "BB": 3,
    "SO": 6,
    "HR": 1,
    "ERA": 7.714285714285715,
    "WHIP": 1.5000000000000002,
    "K9": 5.7857142857142865,
    "HR9": 0.9642857142857144,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "689147",
  "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.31742278087123,
    "release_spin_rate": 2554.8212123801372,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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.31742278087123,
      "release_spin_rate": 2554.8212123801372,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3174,
    "release_spin_rate": 2554.8212,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1368,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.9769,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.033,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6881,
    "prior_weight": 0.3119
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "689147",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 59,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 5.0,
        "R": 6.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 25.0,
        "Pitches": 93.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 1.0,
        "R": 1.2,
        "H": 1.2,
        "BB": 0.6,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 5.0,
        "Pitches": 18.6
      },
      "rates": {
        "ERA": 9.0,
        "WHIP": 1.8,
        "ER_per_IP": 1.0,
        "H_per_IP": 1.2,
        "BB_per_IP": 0.6,
        "SO_per_IP": 0.6,
        "HR_per_IP": 0.2
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 8.0,
        "R": 10.0,
        "H": 11.0,
        "BB": 3.0,
        "SO": 6.0,
        "HR": 1.0,
        "BF": 44.0,
        "Pitches": 170.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 1.0,
        "H": 1.1,
        "BB": 0.3,
        "SO": 0.6,
        "HR": 0.1,
        "BF": 4.4,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 7.7143,
        "WHIP": 1.5,
        "ER_per_IP": 0.85714,
        "H_per_IP": 1.17857,
        "BB_per_IP": 0.32143,
        "SO_per_IP": 0.64286,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 59,
      "totals": {
        "IP": 54.2,
        "ER": 25.0,
        "R": 28.0,
        "H": 42.0,
        "BB": 29.0,
        "SO": 57.0,
        "HR": 4.0,
        "BF": 243.0,
        "Pitches": 1000.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4237,
        "R": 0.4746,
        "H": 0.7119,
        "BB": 0.4915,
        "SO": 0.9661,
        "HR": 0.0678,
        "BF": 4.1186,
        "Pitches": 16.9492
      },
      "rates": {
        "ERA": 4.1159,
        "WHIP": 1.2988,
        "ER_per_IP": 0.45732,
        "H_per_IP": 0.76829,
        "BB_per_IP": 0.53049,
        "SO_per_IP": 1.04268,
        "HR_per_IP": 0.07317
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.736,
    "predicted_H": 1.065,
    "predicted_BB": 0.452,
    "predicted_SO": 0.777,
    "predicted_HR": 0.144,
    "predicted_ERA": 6.623,
    "predicted_WHIP": 1.5167
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4818,
  "form_weight": 0.5182,
  "form_reliability": 0.6881,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.033,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6881,
    "prior_weight": 0.3119
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.736,
      "final": 0.3814,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.065,
      "final": 0.5519,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.452,
      "final": 0.2342,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.777,
      "final": 0.8844,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.144,
      "final": 0.0746,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.623,
      "final": 6.623,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5167,
      "final": 1.5167,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBrooks Raley
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1563
ESPN Rank82
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2697
Avg Velo85.0592
Avg Spin2595.0568
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.1000
Pre ER0
Pre H0
Pre BB1
Pre SO1
Season ERA2.3092
Season WHIP1.1053
Role Avg IP0.8890
Recent Avg IP0.5330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PHI",
    "games": 146,
    "wins": 82,
    "losses": 64,
    "win_pct": 0.5616,
    "runs_scored": 658.0,
    "runs_allowed": 620.0,
    "run_differential": 38.0,
    "run_differential_per_game": 0.2603,
    "avg_runs_scored": 4.5068,
    "avg_runs_allowed": 4.2466,
    "offense_index": 1.0014,
    "defense_index": 1.0598,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.1,
      "avg_runs_allowed": 3.0,
      "run_differential": 11.0
    },
    "available": true,
    "quality_score": 0.1192
  },
  "opponent": {
    "team": "HOU",
    "games": 146,
    "wins": 74,
    "losses": 72,
    "win_pct": 0.5068,
    "runs_scored": 660.0,
    "runs_allowed": 701.0,
    "run_differential": -41.0,
    "run_differential_per_game": -0.2808,
    "avg_runs_scored": 4.5205,
    "avg_runs_allowed": 4.8014,
    "offense_index": 1.0045,
    "defense_index": 0.9373,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 4.2,
      "avg_runs_allowed": 3.7,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.0065
  },
  "edges": {
    "quality_edge": 0.1127,
    "offense_edge": 0.0014,
    "opponent_offense_edge": 0.0045,
    "defense_strength": 0.0598,
    "opponent_defense_weakness": 0.0627,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0061,
    "run_prevention": 0.9891,
    "strikeout": 1.003
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "548384",
    "profile": {
      "available": true,
      "pitcher_id": "548384",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 192.0,
        "k_percent": 23.6,
        "bb_percent": 8.2,
        "woba": 0.284,
        "xwoba": 0.297,
        "sweet_spot_percent": 39.6,
        "barrel_batted_rate": 5.8,
        "hard_hit_percent": 30.2,
        "avg_best_speed": 75.3591,
        "avg_hyper_speed": 93.0544,
        "whiff_percent": 23.6,
        "swing_percent": 46.6
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.4299,
        "command_and_miss": 0.0829,
        "regression_edge": -0.3714,
        "xwoba_edge": 0.4,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 1.1,
        "whiff_edge": -0.2,
        "bb_edge": 0.25,
        "pitch_design_score": -0.2697
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "548384",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 12,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 12,
          "pitch_usage": 0.0,
          "release_speed": 85.05916075720621,
          "release_spin_rate": 2595.056824797135,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 12,
            "pitch_usage": 0.0,
            "release_speed": 85.05916075720621,
            "release_spin_rate": 2595.056824797135,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0592,
          "release_spin_rate": 2595.0568,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2697,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.9264,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1563,
      "sample_weight": 0.768,
      "run_prevention_factor": 0.9867,
      "strikeout_factor": 1.0009,
      "walk_factor": 0.9846,
      "homer_factor": 0.9392,
      "woba_minus_xwoba": -0.013,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "548384",
        "espn_id": 32005,
        "player_name": "Brooks Raley",
        "team": "PHI",
        "role": "pitcher",
        "espn_rank": 82,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 82,
          "gp_value": 57.0,
          "gp_rank": 67,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.3092,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 144,
          "l_value": 5.0,
          "l_rank": 135,
          "sv_value": 1.0,
          "sv_rank": 139,
          "hld_value": 16.0,
          "hld_rank": 32,
          "ip_value": 50.2,
          "ip_rank": 298,
          "h_value": 39.0,
          "h_rank": 335,
          "er_value": 13.0,
          "er_rank": 460,
          "hr_value": 5.0,
          "hr_rank": 319,
          "bb_value": 17.0,
          "bb_rank": 347,
          "k_value": 49.0,
          "k_rank": 296,
          "k_per_9_value": 8.703947,
          "k_per_9_rank": 26,
          "whip_value": 1.1052,
          "whip_rank": null,
          "war_value": 1.82,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9898,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9898,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9882,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9533,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0007,
        "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": 2,
    "H": 6,
    "BB": 1,
    "SO": 6,
    "HR": 2,
    "ERA": 2.4545454545454546,
    "WHIP": 0.9545454545454546,
    "K9": 7.363636363636364,
    "HR9": 2.4545454545454546,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "548384",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 85.05916075720621,
    "release_spin_rate": 2595.056824797135,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 12,
      "pitch_usage": 0.0,
      "release_speed": 85.05916075720621,
      "release_spin_rate": 2595.056824797135,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0592,
    "release_spin_rate": 2595.0568,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2697,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.9264,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.226,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6716,
    "prior_weight": 0.3284
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "548384",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 57,
  "reference_playing_time": 0.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 2.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 1.0,
        "HR": 1.0,
        "BF": 13.0,
        "Pitches": 49.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.2,
        "SO": 0.2,
        "HR": 0.2,
        "BF": 2.6,
        "Pitches": 9.8
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.875,
        "ER_per_IP": 0.375,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.375,
        "SO_per_IP": 0.375,
        "HR_per_IP": 0.375
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 1.0,
        "SO": 6.0,
        "HR": 2.0,
        "BF": 29.0,
        "Pitches": 103.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.1,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 2.9,
        "Pitches": 10.3
      },
      "rates": {
        "ERA": 2.4545,
        "WHIP": 0.9545,
        "ER_per_IP": 0.27273,
        "H_per_IP": 0.81818,
        "BB_per_IP": 0.13636,
        "SO_per_IP": 0.81818,
        "HR_per_IP": 0.27273
      }
    },
    "season": {
      "games": 57,
      "totals": {
        "IP": 50.2,
        "ER": 13.0,
        "R": 16.0,
        "H": 39.0,
        "BB": 17.0,
        "SO": 49.0,
        "HR": 5.0,
        "BF": 208.0,
        "Pitches": 773.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2281,
        "R": 0.2807,
        "H": 0.6842,
        "BB": 0.2982,
        "SO": 0.8596,
        "HR": 0.0877,
        "BF": 3.6491,
        "Pitches": 13.5614
      },
      "rates": {
        "ERA": 2.3092,
        "WHIP": 1.1053,
        "ER_per_IP": 0.25658,
        "H_per_IP": 0.76974,
        "BB_per_IP": 0.33553,
        "SO_per_IP": 0.96711,
        "HR_per_IP": 0.09868
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.227,
    "predicted_H": 0.643,
    "predicted_BB": 0.188,
    "predicted_SO": 0.448,
    "predicted_HR": 0.144,
    "predicted_ERA": 3.3937,
    "predicted_WHIP": 1.381
  }
}
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.6716,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.226,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6716,
    "prior_weight": 0.3284
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.1,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.227,
      "final": 0.1161,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.643,
      "final": 0.3287,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.188,
      "final": 0.5849,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.448,
      "final": 0.7178,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.144,
      "final": 0.0736,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.3937,
      "final": 3.3937,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.381,
      "final": 1.381,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Bryce Harper (547180) · BATTER · RF · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 562
All-history rows before 20260910: 562
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2699
Diff (system - data): 0.0011
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.1940.0000.000Hitting_2B0.1900.000-0.1900.000
predicted_3B0.0210.0000.000Hitting_3B0.0230.000-0.0230.000
predicted_AB3.5354.0004.000Hitting_AB3.5464.0000.4540.000
predicted_AVG0.2710.2500.250Hitting_AVG0.2700.250-0.0200.000
predicted_BB0.7080.0001.000Hitting_BB0.7701.000-0.770-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0410.000-0.0410.000
predicted_H0.9581.0001.000Hitting_H0.9571.0000.0430.000
predicted_HR0.1880.0000.000Hitting_HR0.2010.000-0.2010.000
predicted_OBP0.3930.2500.400Hitting_OBP0.3970.400-0.147-0.150
predicted_R0.5971.0001.000Hitting_R0.6491.0000.3510.000
predicted_RBI0.5691.0001.000Hitting_RBI0.5982.0000.402-1.000
predicted_SLG0.4970.2500.250Hitting_SLG0.5070.250-0.2570.000
predicted_SO0.9242.0001.000Hitting_SO0.8863.0001.114-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics4
Deboosted Metrics4
Better Metrics3
Worse Metrics5
Biggest Boostpredicted_SO: 0.9240 -> 2.0000 (boost 1.0760, worse)
Biggest Deboostpredicted_BB: 0.7080 -> 0.0000 (deboost -0.7080, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51405predicted_SO: 0.9240 -> 1.0091 (boost 0.0851, worse)predicted_R: 0.5970 -> 0.5302 (deboost -0.0668, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling53232predicted_RBI: 0.5572 -> 1.0000 (boost 0.4428, better)predicted_2B: 0.1783 -> 0.0000 (deboost -0.1783, worse)AB rounded to 4 (raw=3.56), rates preserved: AVG=0.287 HR/AB=0.044
6consistency_constraints11010predicted_R: 0.5391 -> 1.0000 (boost 0.4609, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine52332predicted_HR: 0.0000 -> 0.1798 (boost 0.1798, better)predicted_RBI: 1.0000 -> 0.5446 (deboost -0.4554, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation53223predicted_RBI: 0.5446 -> 1.0000 (boost 0.4554, better)predicted_HR: 0.1798 -> 0.0000 (deboost -0.1798, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context20202-predicted_AVG: 0.2758 -> 0.2620 (deboost -0.0138, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21102predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final22020predicted_AVG: 0.2620 -> 0.2758 (boost 0.0138, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "547180",
  "player_name": "Bryce Harper",
  "position": "RF",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.194,
        "predicted_3B": 0.021,
        "predicted_AB": 3.535,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.708,
        "predicted_H": 0.958,
        "predicted_HR": 0.188,
        "predicted_OBP": 0.393,
        "predicted_R": 0.597,
        "predicted_RBI": 0.569,
        "predicted_SLG": 0.497,
        "predicted_SO": 0.924
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1783,
        "predicted_3B": 0.0175,
        "predicted_AB": 3.5594,
        "predicted_AVG": 0.2732,
        "predicted_BB": 0.6574,
        "predicted_H": 0.9724,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1561,
        "predicted_OBP": 0.3855,
        "predicted_R": 0.5302,
        "predicted_RBI": 0.548,
        "predicted_SLG": 0.4647,
        "predicted_SO": 1.0091
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.1783,
          "delta": -0.0157,
          "percent_delta": -0.0809,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.021,
          "after": 0.0175,
          "delta": -0.0035,
          "percent_delta": -0.1667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.535,
          "after": 3.5594,
          "delta": 0.0244,
          "percent_delta": 0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.271,
          "after": 0.2732,
          "delta": 0.0022,
          "percent_delta": 0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.708,
          "after": 0.6574,
          "delta": -0.0506,
          "percent_delta": -0.0715,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.958,
          "after": 0.9724,
          "delta": 0.0144,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.188,
          "after": 0.1561,
          "delta": -0.0319,
          "percent_delta": -0.1697,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.393,
          "after": 0.3855,
          "delta": -0.0075,
          "percent_delta": -0.0191,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.597,
          "after": 0.5302,
          "delta": -0.0668,
          "percent_delta": -0.1119,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.569,
          "after": 0.548,
          "delta": -0.021,
          "percent_delta": -0.0369,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.497,
          "after": 0.4647,
          "delta": -0.0323,
          "percent_delta": -0.065,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.924,
          "after": 1.0091,
          "delta": 0.0851,
          "percent_delta": 0.0921,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.924,
          "after": 1.0091,
          "delta": 0.0851,
          "percent_delta": 0.0921,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.597,
          "after": 0.5302,
          "delta": -0.0668,
          "percent_delta": -0.1119,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 144
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1783,
        "predicted_3B": 0.0175,
        "predicted_AB": 3.5594,
        "predicted_AVG": 0.2758,
        "predicted_BB": 0.6596,
        "predicted_H": 0.9818,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.158,
        "predicted_OBP": 0.3891,
        "predicted_R": 0.5391,
        "predicted_RBI": 0.5572,
        "predicted_SLG": 0.4689,
        "predicted_SO": 1.0057
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1783,
          "after": 0.1783,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0175,
          "after": 0.0175,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5594,
          "after": 3.5594,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2732,
          "after": 0.2758,
          "delta": 0.0026,
          "percent_delta": 0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6574,
          "after": 0.6596,
          "delta": 0.0022,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9724,
          "after": 0.9818,
          "delta": 0.0094,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.005,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1561,
          "after": 0.158,
          "delta": 0.0019,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3855,
          "after": 0.3891,
          "delta": 0.0036,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5302,
          "after": 0.5391,
          "delta": 0.0089,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.548,
          "after": 0.5572,
          "delta": 0.0092,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4647,
          "after": 0.4689,
          "delta": 0.0042,
          "percent_delta": 0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0091,
          "after": 1.0057,
          "delta": -0.0034,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.287 HR/AB=0.044",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1783,
          "after": 0.0,
          "delta": -0.1783,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0175,
          "after": 0.0,
          "delta": -0.0175,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5594,
          "after": 4.0,
          "delta": 0.4406,
          "percent_delta": 0.1238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6596,
          "after": 1.0,
          "delta": 0.3404,
          "percent_delta": 0.5161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9818,
          "after": 1.0,
          "delta": 0.0182,
          "percent_delta": 0.0185,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.158,
          "after": 0.0,
          "delta": -0.158,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5572,
          "after": 1.0,
          "delta": 0.4428,
          "percent_delta": 0.7947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0057,
          "after": 1.0,
          "delta": -0.0057,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5572,
          "after": 1.0,
          "delta": 0.4428,
          "percent_delta": 0.7947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1783,
          "after": 0.0,
          "delta": -0.1783,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5391,
          "after": 1.0,
          "delta": 0.4609,
          "percent_delta": 0.8549,
          "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.5391,
          "after": 1.0,
          "delta": 0.4609,
          "percent_delta": 0.8549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1771,
        "predicted_3B": 0.018,
        "predicted_BB": 0.6371,
        "predicted_H": 0.9618,
        "predicted_HR": 0.1798,
        "predicted_RBI": 0.5446,
        "predicted_SO": 0.9239
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1771,
          "delta": 0.1771,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.018,
          "delta": 0.018,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6371,
          "delta": -0.3629,
          "percent_delta": -0.3629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9618,
          "delta": -0.0382,
          "percent_delta": -0.0382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1798,
          "delta": 0.1798,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5446,
          "delta": -0.4554,
          "percent_delta": -0.4554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9239,
          "delta": -0.0761,
          "percent_delta": -0.0761,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1798,
          "delta": 0.1798,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5446,
          "delta": -0.4554,
          "percent_delta": -0.4554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1771,
          "after": 0.0,
          "delta": -0.1771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.018,
          "after": 0.0,
          "delta": -0.018,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6371,
          "after": 1.0,
          "delta": 0.3629,
          "percent_delta": 0.5696,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9618,
          "after": 1.0,
          "delta": 0.0382,
          "percent_delta": 0.0397,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1798,
          "after": 0.0,
          "delta": -0.1798,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5446,
          "after": 1.0,
          "delta": 0.4554,
          "percent_delta": 0.8362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9239,
          "after": 1.0,
          "delta": 0.0761,
          "percent_delta": 0.0824,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5446,
          "after": 1.0,
          "delta": 0.4554,
          "percent_delta": 0.8362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1798,
          "after": 0.0,
          "delta": -0.1798,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.262,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.376,
        "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2758,
          "after": 0.262,
          "delta": -0.0138,
          "percent_delta": -0.05,
          "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.3891,
          "after": 0.376,
          "delta": -0.0131,
          "percent_delta": -0.0337,
          "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.4689,
          "after": 0.467,
          "delta": -0.0019,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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.2758,
          "after": 0.262,
          "delta": -0.0138,
          "percent_delta": -0.05,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2758,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3891,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4689,
        "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.262,
          "after": 0.2758,
          "delta": 0.0138,
          "percent_delta": 0.0528,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.376,
          "after": 0.3891,
          "delta": 0.0131,
          "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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.4689,
          "delta": 0.0019,
          "percent_delta": 0.0041,
          "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": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2758,
          "delta": 0.0138,
          "percent_delta": 0.0528,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.194,
        "after": 0.0,
        "delta": -0.194,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.021,
        "after": 0.0,
        "delta": -0.021,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.535,
        "after": 4.0,
        "delta": 0.465,
        "percent_delta": 0.1315,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.271,
        "after": 0.2758,
        "delta": 0.0048,
        "percent_delta": 0.0177,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.708,
        "after": 0.0,
        "delta": -0.708,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.958,
        "after": 1.0,
        "delta": 0.042,
        "percent_delta": 0.0438,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.188,
        "after": 0.0,
        "delta": -0.188,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.393,
        "after": 0.3891,
        "delta": -0.0039,
        "percent_delta": -0.0099,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.569,
        "after": 1.0,
        "delta": 0.431,
        "percent_delta": 0.7575,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.497,
        "after": 0.4689,
        "delta": -0.0281,
        "percent_delta": -0.0565,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.924,
        "after": 2.0,
        "delta": 1.076,
        "percent_delta": 1.1645,
        "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.924,
        "after": 2.0,
        "delta": 1.076,
        "percent_delta": 1.1645,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.708,
        "after": 0.0,
        "delta": -0.708,
        "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.021-
predicted_AB3.535-
predicted_AVG0.271-
predicted_BB0.708-
predicted_H0.958-
predicted_HR0.188-
predicted_OBP0.393-
predicted_R0.597-
predicted_RBI0.569-
predicted_SLG0.497-
predicted_SO0.924-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.178-0.016
predicted_3B0.018-0.003
predicted_AB3.5590.024
predicted_AVG0.2730.002
predicted_BB0.657-0.051
predicted_H0.9720.014
predicted_HBP0.005-
predicted_HR0.156-0.032
predicted_OBP0.386-0.008
predicted_R0.530-0.067
predicted_RBI0.548-0.021
predicted_SLG0.465-0.032
predicted_SO1.0090.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.1780.000
predicted_3B0.0180.000
predicted_AB3.5590.000
predicted_AVG0.2760.003
predicted_BB0.6600.002
predicted_H0.9820.009
predicted_HBP0.0050.000
predicted_HR0.1580.002
predicted_OBP0.3890.004
predicted_R0.5390.009
predicted_RBI0.5570.009
predicted_SLG0.4690.004
predicted_SO1.006-0.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1770.177
3B0.0180.018
BB0.637-0.363
H0.962-0.038
HR0.1800.180
RBI0.545-0.455
SO0.924-0.076
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.177
3B0.000-0.018
AB4.0000.000
BB1.0000.363
H1.0000.038
HR0.000-0.180
R1.0000.000
RBI1.0000.455
SO1.0000.076
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.178
predicted_3B0.000-0.018
predicted_AB4.0000.441
predicted_AVG0.262-0.014
predicted_BB1.0000.340
predicted_H1.0000.018
predicted_HR0.000-0.158
predicted_OBP0.376-0.013
predicted_R1.0000.461
predicted_RBI1.0000.443
predicted_SLG0.467-0.002
predicted_SO1.000-0.006
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 144
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0004.0000.0000.0000.0002.0001.0002.0008.0000.22220.30000.22220.22220.00000.11110.11110.4444
last_100.2010-37.00013.0002.0000.0000.0005.0002.0005.00013.0000.35140.42860.40540.35130.00000.13510.13510.3513
season0.60144-509.000138.00028.0003.00027.00082.00086.000102.000133.0000.27110.38930.49710.27110.05300.16110.20040.2613
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1580
predicted_3B0.0130
predicted_AB3.5910
predicted_AVG0.2760
predicted_BB0.5920
predicted_H0.9910
predicted_HBP0.0050
predicted_HR0.1150
predicted_OBP0.3759
predicted_R0.4440
predicted_RBI0.5210
predicted_SLG0.4230
predicted_SO1.1190
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19400.15800.1783model_form_blend
predicted_3B0.02100.01300.0175model_form_blend
predicted_AB3.53503.59103.5594model_form_blend
predicted_AVG0.27100.27600.2732model_form_blend
predicted_BB0.70800.59200.6574model_form_blend
predicted_H0.95800.99100.9724model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.18800.11500.1561model_form_blend
predicted_OBP0.39300.37590.3855model_form_blend
predicted_R0.59700.44400.5302model_form_blend
predicted_RBI0.56900.52100.5480model_form_blend
predicted_SLG0.49700.42300.4647model_form_blend
predicted_SO0.92401.11901.0091model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO3
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
allPositionsPlayedDH
gameID20260909_HOU@PHI
game_typefull
mlbID547180
playerID547180
playerNameBryce Harper
pos1B
startedTrue
startingPositionDH
teamPHI
teamID21
game_date2026-09-09
sl_k_percent21.0
sl_bb_percent16.3
sl_woba0.384
sl_xwoba0.391
sl_xba0.277
sl_xslg0.498
sl_sweet_spot_percent38.3
sl_barrel_batted_rate10.9
sl_hard_hit_percent44.8
sl_exit_velocity_avg90.5
sl_launch_angle_avg12.7
sl_whiff_percent30.0
sl_swing_percent49.2
Alec Bohm (664761) · BATTER · 1B · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 518
All-history rows before 20260910: 518
System season_avg: 0.2460
Data season_avg (2026 season-to-date): 0.2465
Diff (system - data): -0.0005
System opponent_avg: 0.2230

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1910.0001.000Hitting_2B0.1990.000-0.1990.000
predicted_3B0.0070.0000.000Hitting_3B0.0020.000-0.0020.000
predicted_AB3.7433.0004.000Hitting_AB3.8300.000-0.8303.000
predicted_AVG0.2460.3330.250Hitting_AVG0.246-0.087-
predicted_BB0.2870.0000.000Hitting_BB0.2800.000-0.2800.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9191.0001.000Hitting_H0.9440.0000.0561.000
predicted_HR0.1100.0000.000Hitting_HR0.1100.000-0.1100.000
predicted_OBP0.2990.5000.250Hitting_OBP0.307-0.193-
predicted_R0.4040.0000.000Hitting_R0.4110.000-0.4110.000
predicted_RBI0.5810.0001.000Hitting_RBI0.6080.000-0.6080.000
predicted_SLG0.3890.3330.500Hitting_SLG0.386--0.052-
predicted_SO0.6100.0001.000Hitting_SO0.5850.000-0.5850.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_H: 0.9190 -> 1.0000 (boost 0.0810, better)
Biggest Deboostpredicted_AB: 3.7430 -> 3.0000 (deboost -0.7430, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44031predicted_SO: 0.6100 -> 0.6927 (boost 0.0827, worse)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling84435predicted_RBI: 0.5748 -> 1.0000 (boost 0.4252, better)predicted_BB: 0.3159 -> 0.0000 (deboost -0.3159, worse)AB rounded to 4 (raw=3.74), rates preserved: AVG=0.255 HR/AB=0.032
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.4298 -> 0.0000 (deboost -0.4298, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53241predicted_BB: 0.0000 -> 0.2847 (boost 0.2847, better)predicted_RBI: 1.0000 -> 0.5559 (deboost -0.4441, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation53223predicted_2B: 0.1927 -> 1.0000 (boost 0.8073, better)predicted_BB: 0.2847 -> 0.0000 (deboost -0.2847, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context32121predicted_AVG: 0.2481 -> 0.2600 (boost 0.0119, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference41322predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final20202-predicted_AVG: 0.2600 -> 0.2481 (deboost -0.0119, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664761",
  "player_name": "Alec Bohm",
  "position": "1B",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.191,
        "predicted_3B": 0.007,
        "predicted_AB": 3.743,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.287,
        "predicted_H": 0.919,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.299,
        "predicted_R": 0.404,
        "predicted_RBI": 0.581,
        "predicted_SLG": 0.389,
        "predicted_SO": 0.61
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.245,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.696,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.3148,
        "predicted_H": 0.9081,
        "predicted_HBP": 0.058,
        "predicted_HR": 0.1178,
        "predicted_OBP": 0.3084,
        "predicted_R": 0.4227,
        "predicted_RBI": 0.5653,
        "predicted_SLG": 0.4115,
        "predicted_SO": 0.6927
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.191,
          "after": 0.245,
          "delta": 0.054,
          "percent_delta": 0.2827,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.743,
          "after": 3.696,
          "delta": -0.047,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.246,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.287,
          "after": 0.3148,
          "delta": 0.0278,
          "percent_delta": 0.0969,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.919,
          "after": 0.9081,
          "delta": -0.0109,
          "percent_delta": -0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1178,
          "delta": 0.0078,
          "percent_delta": 0.0709,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.3084,
          "delta": 0.0094,
          "percent_delta": 0.0314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.404,
          "after": 0.4227,
          "delta": 0.0187,
          "percent_delta": 0.0463,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.581,
          "after": 0.5653,
          "delta": -0.0157,
          "percent_delta": -0.027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.4115,
          "delta": 0.0225,
          "percent_delta": 0.0578,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.61,
          "after": 0.6927,
          "delta": 0.0827,
          "percent_delta": 0.1356,
          "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.61,
          "after": 0.6927,
          "delta": 0.0827,
          "percent_delta": 0.1356,
          "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": 136
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.245,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.696,
        "predicted_AVG": 0.2481,
        "predicted_BB": 0.3159,
        "predicted_H": 0.9169,
        "predicted_HBP": 0.058,
        "predicted_HR": 0.1192,
        "predicted_OBP": 0.3073,
        "predicted_R": 0.4298,
        "predicted_RBI": 0.5748,
        "predicted_SLG": 0.4144,
        "predicted_SO": 0.6903
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.245,
          "after": 0.245,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.696,
          "after": 3.696,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.3148,
          "after": 0.3159,
          "delta": 0.0011,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9081,
          "after": 0.9169,
          "delta": 0.0088,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.058,
          "after": 0.058,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1178,
          "after": 0.1192,
          "delta": 0.0014,
          "percent_delta": 0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3084,
          "after": 0.3073,
          "delta": -0.0011,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4227,
          "after": 0.4298,
          "delta": 0.0071,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5653,
          "after": 0.5748,
          "delta": 0.0095,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4115,
          "after": 0.4144,
          "delta": 0.0029,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6927,
          "after": 0.6903,
          "delta": -0.0024,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.74), rates preserved: AVG=0.255 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.245,
          "after": 0.0,
          "delta": -0.245,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.696,
          "after": 4.0,
          "delta": 0.304,
          "percent_delta": 0.0823,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3159,
          "after": 0.0,
          "delta": -0.3159,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9169,
          "after": 1.0,
          "delta": 0.0831,
          "percent_delta": 0.0906,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.058,
          "after": 0.0,
          "delta": -0.058,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1192,
          "after": 0.0,
          "delta": -0.1192,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5748,
          "after": 1.0,
          "delta": 0.4252,
          "percent_delta": 0.7397,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6903,
          "after": 1.0,
          "delta": 0.3097,
          "percent_delta": 0.4486,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5748,
          "after": 1.0,
          "delta": 0.4252,
          "percent_delta": 0.7397,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3159,
          "after": 0.0,
          "delta": -0.3159,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.4298,
          "after": 0.0,
          "delta": -0.4298,
          "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.4298,
          "after": 0.0,
          "delta": -0.4298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1927,
        "predicted_3B": 0.0129,
        "predicted_BB": 0.2847,
        "predicted_H": 0.9602,
        "predicted_HR": 0.1181,
        "predicted_RBI": 0.5559,
        "predicted_SO": 0.7195
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1927,
          "delta": 0.1927,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0129,
          "delta": 0.0129,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2847,
          "delta": 0.2847,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9602,
          "delta": -0.0398,
          "percent_delta": -0.0398,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1181,
          "delta": 0.1181,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5559,
          "delta": -0.4441,
          "percent_delta": -0.4441,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7195,
          "delta": -0.2805,
          "percent_delta": -0.2805,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2847,
          "delta": 0.2847,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5559,
          "delta": -0.4441,
          "percent_delta": -0.4441,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1927,
          "after": 1.0,
          "delta": 0.8073,
          "percent_delta": 4.1894,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0129,
          "after": 0.0,
          "delta": -0.0129,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2847,
          "after": 0.0,
          "delta": -0.2847,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9602,
          "after": 1.0,
          "delta": 0.0398,
          "percent_delta": 0.0414,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1181,
          "after": 0.0,
          "delta": -0.1181,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5559,
          "after": 1.0,
          "delta": 0.4441,
          "percent_delta": 0.7989,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7195,
          "after": 1.0,
          "delta": 0.2805,
          "percent_delta": 0.3899,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1927,
          "after": 1.0,
          "delta": 0.8073,
          "percent_delta": 4.1894,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2847,
          "after": 0.0,
          "delta": -0.2847,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.319,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.415,
        "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.2481,
          "after": 0.26,
          "delta": 0.0119,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3073,
          "after": 0.319,
          "delta": 0.0117,
          "percent_delta": 0.0381,
          "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.4144,
          "after": 0.415,
          "delta": 0.0006,
          "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": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2481,
          "after": 0.26,
          "delta": 0.0119,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 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": 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": 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": 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_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2481,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3073,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4144,
        "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.26,
          "after": 0.2481,
          "delta": -0.0119,
          "percent_delta": -0.0458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3073,
          "delta": -0.0117,
          "percent_delta": -0.0367,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.415,
          "after": 0.4144,
          "delta": -0.0006,
          "percent_delta": -0.0013,
          "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_AVG",
          "before": 0.26,
          "after": 0.2481,
          "delta": -0.0119,
          "percent_delta": -0.0458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.191,
        "after": 0.0,
        "delta": -0.191,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.743,
        "after": 3.0,
        "delta": -0.743,
        "percent_delta": -0.1985,
        "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.287,
        "after": 0.0,
        "delta": -0.287,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.919,
        "after": 1.0,
        "delta": 0.081,
        "percent_delta": 0.0881,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 0.0,
        "delta": -0.11,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.299,
        "after": 0.3073,
        "delta": 0.0083,
        "percent_delta": 0.0278,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.404,
        "after": 0.0,
        "delta": -0.404,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.581,
        "after": 0.0,
        "delta": -0.581,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.389,
        "after": 0.4144,
        "delta": 0.0254,
        "percent_delta": 0.0653,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.919,
        "after": 1.0,
        "delta": 0.081,
        "percent_delta": 0.0881,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.743,
        "after": 3.0,
        "delta": -0.743,
        "percent_delta": -0.1985,
        "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.007-
predicted_AB3.743-
predicted_AVG0.246-
predicted_BB0.287-
predicted_H0.919-
predicted_HR0.110-
predicted_OBP0.299-
predicted_R0.404-
predicted_RBI0.581-
predicted_SLG0.389-
predicted_SO0.610-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2450.054
predicted_3B0.006-0.001
predicted_AB3.696-0.047
predicted_AVG0.2460.000
predicted_BB0.3150.028
predicted_H0.908-0.011
predicted_HBP0.058-
predicted_HR0.1180.008
predicted_OBP0.3080.009
predicted_R0.4230.019
predicted_RBI0.565-0.016
predicted_SLG0.4110.022
predicted_SO0.6930.083
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2450.000
predicted_3B0.0060.000
predicted_AB3.6960.000
predicted_AVG0.2480.002
predicted_BB0.3160.001
predicted_H0.9170.009
predicted_HBP0.0580.000
predicted_HR0.1190.001
predicted_OBP0.307-0.001
predicted_R0.4300.007
predicted_RBI0.5750.009
predicted_SLG0.4140.003
predicted_SO0.690-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1930.193
3B0.0130.013
BB0.2850.285
H0.960-0.040
HR0.1180.118
RBI0.556-0.444
SO0.720-0.280
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.807
3B0.000-0.013
AB4.0000.000
BB0.000-0.285
H1.0000.040
HR0.000-0.118
R0.0000.000
RBI1.0000.444
SO1.0000.280
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.245
predicted_3B0.000-0.006
predicted_AB4.0000.304
predicted_AVG0.2600.012
predicted_BB0.000-0.316
predicted_H1.0000.083
predicted_HR0.000-0.119
predicted_OBP0.3190.012
predicted_R0.000-0.430
predicted_RBI1.0000.425
predicted_SLG0.4150.001
predicted_SO1.0000.310
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB3.000-1.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP1.0001.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: 136
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.0003.0000.0001.0003.0002.0002.0006.0000.23530.31580.58820.23530.05880.17650.11770.3529
last_100.2010-35.0009.0004.0000.0001.0004.0006.0005.0009.0000.25710.36590.45710.25710.02860.11430.14290.2571
season0.60136-509.000125.00026.0001.00015.00079.00055.00039.00083.0000.24560.30840.38900.24560.02950.15520.07660.1631
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3150
predicted_3B0.0050
predicted_AB3.6350
predicted_AVG0.2459
predicted_BB0.3510
predicted_H0.8940
predicted_HBP0.0580
predicted_HR0.1280
predicted_OBP0.3206
predicted_R0.4470
predicted_RBI0.5450
predicted_SLG0.4407
predicted_SO0.8000
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19100.31500.2450model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB3.74303.63503.6960model_form_blend
predicted_AVG0.24600.24590.2460model_form_blend
predicted_BB0.28700.35100.3148model_form_blend
predicted_H0.91900.89400.9081model_form_blend
predicted_HBP-0.05800.0580form_only
predicted_HR0.11000.12800.1178model_form_blend
predicted_OBP0.29900.32060.3084model_form_blend
predicted_R0.40400.44700.4227model_form_blend
predicted_RBI0.58100.54500.5653model_form_blend
predicted_SLG0.38900.44070.4115model_form_blend
predicted_SO0.61000.80000.6927model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date518
Season rows before report date518
Report year2026
Profile rows used136
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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_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_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
allPositionsPlayed1B
gameID20260909_HOU@PHI
game_typeshort
mlbID664761
playerID664761
playerNameAlec Bohm
pos3B
startedFalse
startingPosition1B
teamPHI
teamID21
game_date2026-09-09
sl_k_percent14.8
sl_bb_percent6.9
sl_woba0.307
sl_xwoba0.322
sl_xba0.26
sl_xslg0.409
sl_sweet_spot_percent34.1
sl_barrel_batted_rate6.0
sl_hard_hit_percent43.2
sl_exit_velocity_avg90.5
sl_launch_angle_avg9.0
sl_whiff_percent16.9
sl_swing_percent46.4
Bryson Stott (681082) · BATTER · 3B · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 495
All-history rows before 20260910: 495
System season_avg: 0.2510
Data season_avg (2026 season-to-date): 0.2651
Diff (system - data): -0.0141
System opponent_avg: 0.1260

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1960.0000.000Hitting_2B0.2120.000-0.2120.000
predicted_3B0.0360.0000.000Hitting_3B0.0420.000-0.0420.000
predicted_AB3.4714.0004.000Hitting_AB3.5823.0000.4181.000
predicted_AVG0.2510.0000.250Hitting_AVG0.2650.000-0.2650.000
predicted_BB0.3840.0001.000Hitting_BB0.4261.000-0.426-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8700.0001.000Hitting_H0.9490.000-0.9490.000
predicted_HR0.0720.0000.000Hitting_HR0.0790.000-0.0790.000
predicted_OBP0.3250.0000.400Hitting_OBP0.3450.250-0.345-0.250
predicted_R0.4490.0001.000Hitting_R0.4911.000-0.491-1.000
predicted_RBI0.4350.0000.000Hitting_RBI0.5030.000-0.5030.000
predicted_SLG0.3900.0000.250Hitting_SLG0.4140.000-0.4140.000
predicted_SO0.6592.0001.000Hitting_SO0.6181.0001.3821.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.6590 -> 2.0000 (boost 1.3410, worse)
Biggest Deboostpredicted_H: 0.8700 -> 0.0000 (deboost -0.8700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_H: 0.8700 -> 0.7926 (deboost -0.0774, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_AB: 3.4671 -> 4.0000 (boost 0.5329, better)predicted_RBI: 0.3862 -> 0.0000 (deboost -0.3862, worse)AB rounded to 4 (raw=3.47), rates preserved: AVG=0.240 HR/AB=0.020
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4494 -> 0.0000 (deboost -0.4494, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4457 (boost 0.4457, better)predicted_SO: 1.0000 -> 0.7199 (deboost -0.2801, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation74334predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.4457 -> 0.0000 (deboost -0.4457, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53232predicted_SLG: 0.3583 -> 0.3950 (boost 0.0367, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference21102predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3950 -> 0.3583 (deboost -0.0367, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "681082",
  "player_name": "Bryson Stott",
  "position": "3B",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.196,
        "predicted_3B": 0.036,
        "predicted_AB": 3.471,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.384,
        "predicted_H": 0.87,
        "predicted_HR": 0.072,
        "predicted_OBP": 0.325,
        "predicted_R": 0.449,
        "predicted_RBI": 0.435,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.659
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1712,
        "predicted_3B": 0.0295,
        "predicted_AB": 3.4671,
        "predicted_AVG": 0.2288,
        "predicted_BB": 0.3592,
        "predicted_H": 0.7926,
        "predicted_HBP": 0.072,
        "predicted_HR": 0.0698,
        "predicted_OBP": 0.3058,
        "predicted_R": 0.442,
        "predicted_RBI": 0.3798,
        "predicted_SLG": 0.3553,
        "predicted_SO": 0.6786
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.196,
          "after": 0.1712,
          "delta": -0.0248,
          "percent_delta": -0.1265,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.036,
          "after": 0.0295,
          "delta": -0.0065,
          "percent_delta": -0.1806,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.471,
          "after": 3.4671,
          "delta": -0.0039,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.2288,
          "delta": -0.0222,
          "percent_delta": -0.0884,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.384,
          "after": 0.3592,
          "delta": -0.0248,
          "percent_delta": -0.0646,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.7926,
          "delta": -0.0774,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.072,
          "after": 0.0698,
          "delta": -0.0022,
          "percent_delta": -0.0306,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3058,
          "delta": -0.0192,
          "percent_delta": -0.0591,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.449,
          "after": 0.442,
          "delta": -0.007,
          "percent_delta": -0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.435,
          "after": 0.3798,
          "delta": -0.0552,
          "percent_delta": -0.1269,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.3553,
          "delta": -0.0347,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.659,
          "after": 0.6786,
          "delta": 0.0196,
          "percent_delta": 0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.7926,
          "delta": -0.0774,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1712,
        "predicted_3B": 0.0295,
        "predicted_AB": 3.4671,
        "predicted_AVG": 0.2308,
        "predicted_BB": 0.3604,
        "predicted_H": 0.8003,
        "predicted_HBP": 0.072,
        "predicted_HR": 0.0706,
        "predicted_OBP": 0.3033,
        "predicted_R": 0.4494,
        "predicted_RBI": 0.3862,
        "predicted_SLG": 0.3583,
        "predicted_SO": 0.6763
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1712,
          "after": 0.1712,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0295,
          "after": 0.0295,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4671,
          "after": 3.4671,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2288,
          "after": 0.2308,
          "delta": 0.002,
          "percent_delta": 0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3592,
          "after": 0.3604,
          "delta": 0.0012,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7926,
          "after": 0.8003,
          "delta": 0.0077,
          "percent_delta": 0.0097,
          "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.0698,
          "after": 0.0706,
          "delta": 0.0008,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3058,
          "after": 0.3033,
          "delta": -0.0025,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.442,
          "after": 0.4494,
          "delta": 0.0074,
          "percent_delta": 0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3798,
          "after": 0.3862,
          "delta": 0.0064,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3553,
          "after": 0.3583,
          "delta": 0.003,
          "percent_delta": 0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6786,
          "after": 0.6763,
          "delta": -0.0023,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.47), rates preserved: AVG=0.240 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.1712,
          "after": 0.0,
          "delta": -0.1712,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0295,
          "after": 0.0,
          "delta": -0.0295,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4671,
          "after": 4.0,
          "delta": 0.5329,
          "percent_delta": 0.1537,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3604,
          "after": 0.0,
          "delta": -0.3604,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8003,
          "after": 1.0,
          "delta": 0.1997,
          "percent_delta": 0.2495,
          "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.0706,
          "after": 0.0,
          "delta": -0.0706,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3862,
          "after": 0.0,
          "delta": -0.3862,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6763,
          "after": 1.0,
          "delta": 0.3237,
          "percent_delta": 0.4786,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4671,
          "after": 4.0,
          "delta": 0.5329,
          "percent_delta": 0.1537,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3862,
          "after": 0.0,
          "delta": -0.3862,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.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.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.4494,
          "after": 0.0,
          "delta": -0.4494,
          "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.4494,
          "after": 0.0,
          "delta": -0.4494,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1703,
        "predicted_3B": 0.0232,
        "predicted_BB": 0.3879,
        "predicted_H": 0.8926,
        "predicted_HR": 0.0942,
        "predicted_RBI": 0.4457,
        "predicted_SO": 0.7199
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1703,
          "delta": 0.1703,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0232,
          "delta": 0.0232,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3879,
          "delta": 0.3879,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8926,
          "delta": -0.1074,
          "percent_delta": -0.1074,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0942,
          "delta": 0.0942,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4457,
          "delta": 0.4457,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7199,
          "delta": -0.2801,
          "percent_delta": -0.2801,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4457,
          "delta": 0.4457,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7199,
          "delta": -0.2801,
          "percent_delta": -0.2801,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.1703,
          "after": 0.0,
          "delta": -0.1703,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0232,
          "after": 0.0,
          "delta": -0.0232,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3879,
          "after": 1.0,
          "delta": 0.6121,
          "percent_delta": 1.578,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8926,
          "after": 1.0,
          "delta": 0.1074,
          "percent_delta": 0.1203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0942,
          "after": 0.0,
          "delta": -0.0942,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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.4457,
          "after": 0.0,
          "delta": -0.4457,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7199,
          "after": 1.0,
          "delta": 0.2801,
          "percent_delta": 0.3891,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4457,
          "after": 0.0,
          "delta": -0.4457,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.395,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2308,
          "after": 0.253,
          "delta": 0.0222,
          "percent_delta": 0.0962,
          "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.3033,
          "after": 0.333,
          "delta": 0.0297,
          "percent_delta": 0.0979,
          "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.3583,
          "after": 0.395,
          "delta": 0.0367,
          "percent_delta": 0.1024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3583,
          "after": 0.395,
          "delta": 0.0367,
          "percent_delta": 0.1024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2308,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3033,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3583,
        "predicted_SO": 2.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2308,
          "delta": -0.0222,
          "percent_delta": -0.0877,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.3033,
          "delta": -0.0297,
          "percent_delta": -0.0893,
          "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.395,
          "after": 0.3583,
          "delta": -0.0367,
          "percent_delta": -0.0928,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.395,
          "after": 0.3583,
          "delta": -0.0367,
          "percent_delta": -0.0928,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.196,
        "after": 0.0,
        "delta": -0.196,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.036,
        "after": 0.0,
        "delta": -0.036,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.471,
        "after": 4.0,
        "delta": 0.529,
        "percent_delta": 0.1524,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.251,
        "after": 0.2308,
        "delta": -0.0202,
        "percent_delta": -0.0805,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.384,
        "after": 0.0,
        "delta": -0.384,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.072,
        "after": 0.0,
        "delta": -0.072,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.325,
        "after": 0.3033,
        "delta": -0.0217,
        "percent_delta": -0.0668,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.449,
        "after": 0.0,
        "delta": -0.449,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.435,
        "after": 0.0,
        "delta": -0.435,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.39,
        "after": 0.3583,
        "delta": -0.0317,
        "percent_delta": -0.0813,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.659,
        "after": 2.0,
        "delta": 1.341,
        "percent_delta": 2.0349,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.659,
        "after": 2.0,
        "delta": 1.341,
        "percent_delta": 2.0349,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.196-
predicted_3B0.036-
predicted_AB3.471-
predicted_AVG0.251-
predicted_BB0.384-
predicted_H0.870-
predicted_HR0.072-
predicted_OBP0.325-
predicted_R0.449-
predicted_RBI0.435-
predicted_SLG0.390-
predicted_SO0.659-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.171-0.025
predicted_3B0.029-0.006
predicted_AB3.467-0.004
predicted_AVG0.229-0.022
predicted_BB0.359-0.025
predicted_H0.793-0.077
predicted_HBP0.072-
predicted_HR0.070-0.002
predicted_OBP0.306-0.019
predicted_R0.442-0.007
predicted_RBI0.380-0.055
predicted_SLG0.355-0.035
predicted_SO0.6790.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.0290.000
predicted_AB3.4670.000
predicted_AVG0.2310.002
predicted_BB0.3600.001
predicted_H0.8000.008
predicted_HBP0.0720.000
predicted_HR0.0710.001
predicted_OBP0.303-0.003
predicted_R0.4490.007
predicted_RBI0.3860.006
predicted_SLG0.3580.003
predicted_SO0.676-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.47), rates preserved: AVG=0.240 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-
6. 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
SO1.0000.000
7. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1700.170
3B0.0230.023
BB0.3880.388
H0.893-0.107
HR0.0940.094
RBI0.4460.446
SO0.720-0.280
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.170
3B0.000-0.023
AB4.0000.000
BB1.0000.612
H1.0000.107
HR0.000-0.094
R1.0001.000
RBI0.000-0.446
SO1.0000.280
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.171
predicted_3B0.000-0.029
predicted_AB4.0000.533
predicted_AVG0.2530.022
predicted_BB0.000-0.360
predicted_H1.0000.200
predicted_HR0.000-0.071
predicted_OBP0.3330.030
predicted_R0.000-0.449
predicted_RBI0.000-0.386
predicted_SLG0.3950.037
predicted_SO1.0000.324
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 138
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0002.0000.0000.0000.0000.0002.0001.0004.0000.11760.21050.11760.11770.00000.00000.05880.2353
last_100.2010-34.0004.0001.0000.0001.0002.0004.0003.0007.0000.11760.20510.23530.11770.02940.05880.08820.2059
season0.60138-479.000120.00027.0005.00010.00060.00062.00053.00091.0000.25050.32710.39040.25050.02090.12530.11060.1900
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1390
predicted_3B0.0210
predicted_AB3.4620
predicted_AVG0.2000
predicted_BB0.3270
predicted_H0.6920
predicted_HBP0.0720
predicted_HR0.0670
predicted_OBP0.2808
predicted_R0.4330
predicted_RBI0.3080
predicted_SLG0.3102
predicted_SO0.7040
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19600.13900.1712model_form_blend
predicted_3B0.03600.02100.0295model_form_blend
predicted_AB3.47103.46203.4671model_form_blend
predicted_AVG0.25100.20000.2288model_form_blend
predicted_BB0.38400.32700.3592model_form_blend
predicted_H0.87000.69200.7926model_form_blend
predicted_HBP-0.07200.0720form_only
predicted_HR0.07200.06700.0698model_form_blend
predicted_OBP0.32500.28080.3058model_form_blend
predicted_R0.44900.43300.4420model_form_blend
predicted_RBI0.43500.30800.3798model_form_blend
predicted_SLG0.39000.31020.3553model_form_blend
predicted_SO0.65900.70400.6786model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
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
allPositionsPlayed3B
gameID20260909_HOU@PHI
game_typefull
mlbID681082
playerID681082
playerNameBryson Stott
pos2B
startedTrue
startingPosition3B
teamPHI
teamID21
game_date2026-09-09
sl_k_percent17.0
sl_bb_percent9.6
sl_woba0.32
sl_xwoba0.33
sl_xba0.268
sl_xslg0.405
sl_sweet_spot_percent35.0
sl_barrel_batted_rate6.1
sl_hard_hit_percent37.8
sl_exit_velocity_avg89.2
sl_launch_angle_avg14.5
sl_whiff_percent19.1
sl_swing_percent42.1
Kyle Schwarber (656941) · BATTER · DH · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 564
All-history rows before 20260910: 564
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2538
Diff (system - data): -0.0128
System opponent_avg: 0.0720

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1230.0000.000Hitting_2B0.1400.000-0.1400.000
predicted_3B0.0070.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB4.9303.0004.000Hitting_AB3.8145.000-0.814-2.000
predicted_AVG0.2500.3330.250Hitting_AVG0.2540.2000.0790.133
predicted_BB0.6301.0001.000Hitting_BB0.6630.0000.3371.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H1.2301.0001.000Hitting_H0.9681.0000.0320.000
predicted_HR0.5300.0001.000Hitting_HR0.3211.000-0.321-1.000
predicted_OBP0.3510.5000.400Hitting_OBP0.3690.2000.1310.300
predicted_R0.6301.0001.000Hitting_R0.6451.0000.3550.000
predicted_RBI1.4601.0001.000Hitting_RBI0.6684.0000.332-3.000
predicted_SLG0.5810.3331.000Hitting_SLG0.5480.800-0.214-0.467
predicted_SO1.4710.0001.000Hitting_SO1.5213.000-1.521-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_BB: 0.6300 -> 1.0000 (boost 0.3700, better)
Biggest Deboostpredicted_AB: 4.9300 -> 3.0000 (deboost -1.9300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend72534predicted_R: 0.6300 -> 0.7116 (boost 0.0816, better)predicted_AB: 4.9300 -> 4.4507 (deboost -0.4793, worse)Final model input calibrated 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.5894 -> 0.6064 (boost 0.0170, better)predicted_OBP: 0.3540 -> 0.3456 (deboost -0.0084, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_BB: 0.6199 -> 1.0000 (boost 0.3801, better)predicted_HR: 0.4834 -> 0.0000 (deboost -0.4834, worse)AB rounded to 4 (raw=4.93), rates preserved: AVG=0.239 HR/AB=0.098
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
7consistency_constraints11010predicted_R: 0.7236 -> 1.0000 (boost 0.2764, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63324predicted_SO: 1.0000 -> 1.4950 (boost 0.4950, worse)predicted_BB: 1.0000 -> 0.5972 (deboost -0.4028, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation64251predicted_HR: 0.2701 -> 1.0000 (boost 0.7299, better)predicted_SO: 1.4950 -> 1.0000 (deboost -0.4950, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context30303-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference20211-predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final22020predicted_SLG: 0.4870 -> 0.6064 (boost 0.1194, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "656941",
  "player_name": "Kyle Schwarber",
  "position": "DH",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.123,
        "predicted_3B": 0.007,
        "predicted_AB": 4.93,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.63,
        "predicted_H": 1.23,
        "predicted_HR": 0.53,
        "predicted_OBP": 0.351,
        "predicted_R": 0.63,
        "predicted_RBI": 1.46,
        "predicted_SLG": 0.581,
        "predicted_SO": 1.471
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0061,
        "predicted_AB": 4.4507,
        "predicted_AVG": 0.2527,
        "predicted_BB": 0.6178,
        "predicted_H": 1.1217,
        "predicted_HBP": 0.027,
        "predicted_HR": 0.4776,
        "predicted_OBP": 0.354,
        "predicted_R": 0.7116,
        "predicted_RBI": 1.2269,
        "predicted_SLG": 0.5894,
        "predicted_SO": 1.3654
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.123,
          "after": 0.1042,
          "delta": -0.0188,
          "percent_delta": -0.1528,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.93,
          "after": 4.4507,
          "delta": -0.4793,
          "percent_delta": -0.0972,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2527,
          "delta": 0.0027,
          "percent_delta": 0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.63,
          "after": 0.6178,
          "delta": -0.0122,
          "percent_delta": -0.0194,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.23,
          "after": 1.1217,
          "delta": -0.1083,
          "percent_delta": -0.088,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.53,
          "after": 0.4776,
          "delta": -0.0524,
          "percent_delta": -0.0989,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.354,
          "delta": 0.003,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.63,
          "after": 0.7116,
          "delta": 0.0816,
          "percent_delta": 0.1295,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.46,
          "after": 1.2269,
          "delta": -0.2331,
          "percent_delta": -0.1597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.581,
          "after": 0.5894,
          "delta": 0.0084,
          "percent_delta": 0.0145,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.471,
          "after": 1.3654,
          "delta": -0.1056,
          "percent_delta": -0.0718,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.63,
          "after": 0.7116,
          "delta": 0.0816,
          "percent_delta": 0.1295,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.93,
          "after": 4.4507,
          "delta": -0.4793,
          "percent_delta": -0.0972,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1042,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.4507,
        "predicted_AVG": 0.2545,
        "predicted_BB": 0.6199,
        "predicted_H": 1.1326,
        "predicted_HBP": 0.027,
        "predicted_HR": 0.4834,
        "predicted_OBP": 0.3456,
        "predicted_R": 0.7236,
        "predicted_RBI": 1.2475,
        "predicted_SLG": 0.6064,
        "predicted_SO": 1.3608
      },
      "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.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4507,
          "after": 4.4507,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2527,
          "after": 0.2545,
          "delta": 0.0018,
          "percent_delta": 0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6178,
          "after": 0.6199,
          "delta": 0.0021,
          "percent_delta": 0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1217,
          "after": 1.1326,
          "delta": 0.0109,
          "percent_delta": 0.0097,
          "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.4776,
          "after": 0.4834,
          "delta": 0.0058,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.354,
          "after": 0.3456,
          "delta": -0.0084,
          "percent_delta": -0.0237,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7116,
          "after": 0.7236,
          "delta": 0.012,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2269,
          "after": 1.2475,
          "delta": 0.0206,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5894,
          "after": 0.6064,
          "delta": 0.017,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3654,
          "after": 1.3608,
          "delta": -0.0046,
          "percent_delta": -0.0034,
          "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.5894,
          "after": 0.6064,
          "delta": 0.017,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.354,
          "after": 0.3456,
          "delta": -0.0084,
          "percent_delta": -0.0237,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.93), rates preserved: AVG=0.239 HR/AB=0.098",
      "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.1042,
          "after": 0.0,
          "delta": -0.1042,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4507,
          "after": 4.0,
          "delta": -0.4507,
          "percent_delta": -0.1013,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6199,
          "after": 1.0,
          "delta": 0.3801,
          "percent_delta": 0.6132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1326,
          "after": 1.0,
          "delta": -0.1326,
          "percent_delta": -0.1171,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.027,
          "after": 0.0,
          "delta": -0.027,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.4834,
          "after": 0.0,
          "delta": -0.4834,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.2475,
          "after": 1.0,
          "delta": -0.2475,
          "percent_delta": -0.1984,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3608,
          "after": 1.0,
          "delta": -0.3608,
          "percent_delta": -0.2651,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.6199,
          "after": 1.0,
          "delta": 0.3801,
          "percent_delta": 0.6132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.4834,
          "after": 0.0,
          "delta": -0.4834,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.7236,
          "after": 1.0,
          "delta": 0.2764,
          "percent_delta": 0.382,
          "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.7236,
          "after": 1.0,
          "delta": 0.2764,
          "percent_delta": 0.382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1549,
        "predicted_3B": 0.0128,
        "predicted_BB": 0.5972,
        "predicted_H": 0.948,
        "predicted_HR": 0.2701,
        "predicted_RBI": 0.6072,
        "predicted_SO": 1.495
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1549,
          "delta": 0.1549,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0128,
          "delta": 0.0128,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5972,
          "delta": -0.4028,
          "percent_delta": -0.4028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.948,
          "delta": -0.052,
          "percent_delta": -0.052,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2701,
          "delta": 0.2701,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6072,
          "delta": -0.3928,
          "percent_delta": -0.3928,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.495,
          "delta": 0.495,
          "percent_delta": 0.495,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.495,
          "delta": 0.495,
          "percent_delta": 0.495,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5972,
          "delta": -0.4028,
          "percent_delta": -0.4028,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1549,
          "after": 0.0,
          "delta": -0.1549,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0128,
          "after": 0.0,
          "delta": -0.0128,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5972,
          "after": 1.0,
          "delta": 0.4028,
          "percent_delta": 0.6745,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.948,
          "after": 1.0,
          "delta": 0.052,
          "percent_delta": 0.0549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2701,
          "after": 1.0,
          "delta": 0.7299,
          "percent_delta": 2.7023,
          "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.6072,
          "after": 1.0,
          "delta": 0.3928,
          "percent_delta": 0.6469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.495,
          "after": 1.0,
          "delta": -0.495,
          "percent_delta": -0.3311,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2701,
          "after": 1.0,
          "delta": 0.7299,
          "percent_delta": 2.7023,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.495,
          "after": 1.0,
          "delta": -0.495,
          "percent_delta": -0.3311,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.238,
        "predicted_BB": 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.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.2545,
          "after": 0.238,
          "delta": -0.0165,
          "percent_delta": -0.0648,
          "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.3456,
          "after": 0.342,
          "delta": -0.0036,
          "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_SLG",
          "before": 0.6064,
          "after": 0.487,
          "delta": -0.1194,
          "percent_delta": -0.1969,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 1,
        "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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2545,
        "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.3456,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.6064,
        "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.238,
          "after": 0.2545,
          "delta": 0.0165,
          "percent_delta": 0.0692,
          "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.342,
          "after": 0.3456,
          "delta": 0.0036,
          "percent_delta": 0.0106,
          "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.487,
          "after": 0.6064,
          "delta": 0.1194,
          "percent_delta": 0.2453,
          "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.487,
          "after": 0.6064,
          "delta": 0.1194,
          "percent_delta": 0.2453,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.123,
        "after": 0.0,
        "delta": -0.123,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.93,
        "after": 3.0,
        "delta": -1.93,
        "percent_delta": -0.3915,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2545,
        "delta": 0.0045,
        "percent_delta": 0.018,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.63,
        "after": 1.0,
        "delta": 0.37,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "better",
        "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.53,
        "after": 0.0,
        "delta": -0.53,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.351,
        "after": 0.3456,
        "delta": -0.0054,
        "percent_delta": -0.0154,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.63,
        "after": 1.0,
        "delta": 0.37,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 1.46,
        "after": 1.0,
        "delta": -0.46,
        "percent_delta": -0.3151,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.581,
        "after": 0.6064,
        "delta": 0.0254,
        "percent_delta": 0.0437,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.471,
        "after": 0.0,
        "delta": -1.471,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.63,
        "after": 1.0,
        "delta": 0.37,
        "percent_delta": 0.5873,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.93,
        "after": 3.0,
        "delta": -1.93,
        "percent_delta": -0.3915,
        "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.007-
predicted_AB4.930-
predicted_AVG0.250-
predicted_BB0.630-
predicted_H1.230-
predicted_HR0.530-
predicted_OBP0.351-
predicted_R0.630-
predicted_RBI1.460-
predicted_SLG0.581-
predicted_SO1.471-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.019
predicted_3B0.006-0.001
predicted_AB4.451-0.479
predicted_AVG0.2530.003
predicted_BB0.618-0.012
predicted_H1.122-0.108
predicted_HBP0.027-
predicted_HR0.478-0.052
predicted_OBP0.3540.003
predicted_R0.7120.082
predicted_RBI1.227-0.233
predicted_SLG0.5890.008
predicted_SO1.365-0.106
3. team_form_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.0060.000
predicted_AB4.4510.000
predicted_AVG0.2550.002
predicted_BB0.6200.002
predicted_H1.1330.011
predicted_HBP0.0270.000
predicted_HR0.4830.006
predicted_OBP0.346-0.008
predicted_R0.7240.012
predicted_RBI1.2480.021
predicted_SLG0.6060.017
predicted_SO1.361-0.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1550.155
3B0.0130.013
BB0.597-0.403
H0.948-0.052
HR0.2700.270
RBI0.607-0.393
SO1.4950.495
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.155
3B0.000-0.013
AB4.0000.000
BB1.0000.403
H1.0000.052
HR1.0000.730
R1.0000.000
RBI1.0000.393
SO1.000-0.495
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.104
predicted_3B0.000-0.006
predicted_AB4.000-0.451
predicted_AVG0.238-0.017
predicted_BB1.0000.380
predicted_H1.000-0.133
predicted_HR0.000-0.483
predicted_OBP0.342-0.004
predicted_R1.0000.276
predicted_RBI1.000-0.248
predicted_SLG0.487-0.119
predicted_SO1.000-0.361
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 138
Reference playing time: 4.930
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0007.0000.0000.0004.0009.0007.0003.0004.0000.35000.43480.95000.35000.20000.45000.15000.2000
last_100.2010-38.0008.0000.0000.0004.00010.0009.0006.00010.0000.21050.31110.52630.21050.10530.26320.15790.2632
season0.60138-523.000126.00017.0001.00043.00091.00087.00087.000203.0000.24090.35210.52390.24090.08220.17400.16630.3881
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0800
predicted_3B0.0050
predicted_AB3.8320
predicted_AVG0.2562
predicted_BB0.6020
predicted_H0.9820
predicted_HBP0.0270
predicted_HR0.4100
predicted_OBP0.3579
predicted_R0.8170
predicted_RBI0.9260
predicted_SLG0.6003
predicted_SO1.2290
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12300.08000.1042model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.93003.83204.4507model_form_blend
predicted_AVG0.25000.25620.2527model_form_blend
predicted_BB0.63000.60200.6178model_form_blend
predicted_H1.23000.98201.1217model_form_blend
predicted_HBP-0.02700.0270form_only
predicted_HR0.53000.41000.4776model_form_blend
predicted_OBP0.35100.35790.3540model_form_blend
predicted_R0.63000.81700.7116model_form_blend
predicted_RBI1.46000.92601.2269model_form_blend
predicted_SLG0.58100.60030.5894model_form_blend
predicted_SO1.47101.22901.3654model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
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_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI4
Hitting_SAC0
Hitting_SF0
Hitting_SO3
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
allPositionsPlayed1B
gameID20260909_HOU@PHI
game_typefull
mlbID656941
playerID656941
playerNameKyle Schwarber
posDH
startedTrue
startingPosition1B
teamPHI
teamID21
game_date2026-09-09
sl_k_percent32.1
sl_bb_percent14.4
sl_woba0.377
sl_xwoba0.369
sl_xba0.243
sl_xslg0.505
sl_sweet_spot_percent39.3
sl_barrel_batted_rate16.9
sl_hard_hit_percent49.7
sl_exit_velocity_avg92.4
sl_launch_angle_avg19.8
sl_whiff_percent33.8
sl_swing_percent44.4
Luis Arraez (650333) · BATTER · 2B · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 88
All-history rows before 20260910: 88
System season_avg: 0.3200
Data season_avg (2026 season-to-date): 0.2773
Diff (system - data): 0.0427
System opponent_avg: 0.2600
System season_avg diverges from 2026 season-to-date by 0.0427. 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.2211.0001.000Hitting_2B0.2161.0000.7840.000
predicted_3B0.0510.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.6104.0004.000Hitting_AB4.2614.000-0.2610.000
predicted_AVG0.3060.2500.250Hitting_AVG0.2770.500-0.027-0.250
predicted_BB0.2130.0000.000Hitting_BB0.1361.000-0.136-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0111.000-0.011-1.000
predicted_H1.4101.0001.000Hitting_H1.1822.000-0.182-1.000
predicted_HR0.0500.0000.000Hitting_HR0.1140.000-0.1140.000
predicted_OBP0.3550.2500.250Hitting_OBP0.2960.600-0.046-0.350
predicted_R0.4711.0000.000Hitting_R0.5341.0000.4660.000
predicted_RBI0.4701.0000.000Hitting_RBI0.6021.0000.3980.000
predicted_SB-0.0000.000BaseRunning_SB0.0000.0000.0000.000
predicted_SLG0.4120.5000.500Hitting_SLG0.4080.7500.092-0.250
predicted_SO0.1842.0000.000Hitting_SO0.1930.0001.8072.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.1840 -> 2.0000 (boost 1.8160, worse)
Biggest Deboostpredicted_AB: 4.6100 -> 4.0000 (deboost -0.6100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 4.6100 -> 4.2684 (deboost -0.3416, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_OBP: 0.3554 -> 0.3457 (deboost -0.0097, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.2007 -> 1.0000 (boost 0.7993, worse)predicted_RBI: 0.4628 -> 0.0000 (deboost -0.4628, worse)AB rounded to 4 (raw=4.61), rates preserved: AVG=0.302 HR/AB=0.009
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.4315 -> 0.0000 (deboost -0.4315, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65160predicted_RBI: 0.0000 -> 0.4329 (boost 0.4329, better)predicted_SO: 1.0000 -> 0.2477 (deboost -0.7523, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_2B: 0.1863 -> 1.0000 (boost 0.8137, better)predicted_RBI: 0.4329 -> 0.0000 (deboost -0.4329, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context42213predicted_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
11simulation_box_score_reference44031predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final21111predicted_AVG: 0.3020 -> 0.3131 (boost 0.0111, better)predicted_SLG: 0.4250 -> 0.4129 (deboost -0.0121, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "650333",
  "player_name": "Luis Arraez",
  "position": "2B",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.221,
        "predicted_3B": 0.051,
        "predicted_AB": 4.61,
        "predicted_AVG": 0.306,
        "predicted_BB": 0.213,
        "predicted_H": 1.41,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.355,
        "predicted_R": 0.471,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.412,
        "predicted_SO": 0.184
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2166,
        "predicted_3B": 0.0414,
        "predicted_AB": 4.2684,
        "predicted_AVG": 0.3107,
        "predicted_BB": 0.2121,
        "predicted_H": 1.3237,
        "predicted_HBP": 0.084,
        "predicted_HR": 0.0417,
        "predicted_OBP": 0.3554,
        "predicted_R": 0.4244,
        "predicted_RBI": 0.4552,
        "predicted_SLG": 0.4117,
        "predicted_SO": 0.2014
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.221,
          "after": 0.2166,
          "delta": -0.0044,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.051,
          "after": 0.0414,
          "delta": -0.0096,
          "percent_delta": -0.1882,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.61,
          "after": 4.2684,
          "delta": -0.3416,
          "percent_delta": -0.0741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.306,
          "after": 0.3107,
          "delta": 0.0047,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.213,
          "after": 0.2121,
          "delta": -0.0009,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.41,
          "after": 1.3237,
          "delta": -0.0863,
          "percent_delta": -0.0612,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0417,
          "delta": -0.0083,
          "percent_delta": -0.166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.355,
          "after": 0.3554,
          "delta": 0.0004,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.471,
          "after": 0.4244,
          "delta": -0.0466,
          "percent_delta": -0.0989,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.47,
          "after": 0.4552,
          "delta": -0.0148,
          "percent_delta": -0.0315,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.412,
          "after": 0.4117,
          "delta": -0.0003,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.184,
          "after": 0.2014,
          "delta": 0.0174,
          "percent_delta": 0.0946,
          "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.61,
          "after": 4.2684,
          "delta": -0.3416,
          "percent_delta": -0.0741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 136
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2166,
        "predicted_3B": 0.0414,
        "predicted_AB": 4.2684,
        "predicted_AVG": 0.3131,
        "predicted_BB": 0.2128,
        "predicted_H": 1.3365,
        "predicted_HBP": 0.084,
        "predicted_HR": 0.0422,
        "predicted_OBP": 0.3457,
        "predicted_R": 0.4315,
        "predicted_RBI": 0.4628,
        "predicted_SLG": 0.4129,
        "predicted_SO": 0.2007
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2166,
          "after": 0.2166,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0414,
          "after": 0.0414,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2684,
          "after": 4.2684,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3107,
          "after": 0.3131,
          "delta": 0.0024,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2121,
          "after": 0.2128,
          "delta": 0.0007,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3237,
          "after": 1.3365,
          "delta": 0.0128,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.084,
          "after": 0.084,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0417,
          "after": 0.0422,
          "delta": 0.0005,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3554,
          "after": 0.3457,
          "delta": -0.0097,
          "percent_delta": -0.0273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4244,
          "after": 0.4315,
          "delta": 0.0071,
          "percent_delta": 0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4552,
          "after": 0.4628,
          "delta": 0.0076,
          "percent_delta": 0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4117,
          "after": 0.4129,
          "delta": 0.0012,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.2014,
          "after": 0.2007,
          "delta": -0.0007,
          "percent_delta": -0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3554,
          "after": 0.3457,
          "delta": -0.0097,
          "percent_delta": -0.0273,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.61), rates preserved: AVG=0.302 HR/AB=0.009",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2166,
          "after": 0.0,
          "delta": -0.2166,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0414,
          "after": 0.0,
          "delta": -0.0414,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2684,
          "after": 4.0,
          "delta": -0.2684,
          "percent_delta": -0.0629,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2128,
          "after": 0.0,
          "delta": -0.2128,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3365,
          "after": 1.0,
          "delta": -0.3365,
          "percent_delta": -0.2518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.084,
          "after": 0.0,
          "delta": -0.084,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0422,
          "after": 0.0,
          "delta": -0.0422,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4628,
          "after": 0.0,
          "delta": -0.4628,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.2007,
          "after": 1.0,
          "delta": 0.7993,
          "percent_delta": 3.9826,
          "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.2007,
          "after": 1.0,
          "delta": 0.7993,
          "percent_delta": 3.9826,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4628,
          "after": 0.0,
          "delta": -0.4628,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.4315,
          "after": 0.0,
          "delta": -0.4315,
          "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.4315,
          "after": 0.0,
          "delta": -0.4315,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1863,
        "predicted_3B": 0.03,
        "predicted_BB": 0.2431,
        "predicted_H": 1.1495,
        "predicted_HR": 0.0745,
        "predicted_RBI": 0.4329,
        "predicted_SO": 0.2477
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1863,
          "delta": 0.1863,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.03,
          "delta": 0.03,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2431,
          "delta": 0.2431,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.1495,
          "delta": 0.1495,
          "percent_delta": 0.1495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0745,
          "delta": 0.0745,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4329,
          "delta": 0.4329,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.2477,
          "delta": -0.7523,
          "percent_delta": -0.7523,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4329,
          "delta": 0.4329,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.2477,
          "delta": -0.7523,
          "percent_delta": -0.7523,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 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.1863,
          "after": 1.0,
          "delta": 0.8137,
          "percent_delta": 4.3677,
          "direction": "boost",
          "projection_effect": "better",
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2431,
          "after": 0.0,
          "delta": -0.2431,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1495,
          "after": 1.0,
          "delta": -0.1495,
          "percent_delta": -0.1301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0745,
          "after": 0.0,
          "delta": -0.0745,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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": 0.2477,
          "after": 0.0,
          "delta": -0.2477,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1863,
          "after": 1.0,
          "delta": 0.8137,
          "percent_delta": 4.3677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "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": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.302,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.349,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.425,
        "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.3131,
          "after": 0.302,
          "delta": -0.0111,
          "percent_delta": -0.0355,
          "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.3457,
          "after": 0.349,
          "delta": 0.0033,
          "percent_delta": 0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.4129,
          "after": 0.425,
          "delta": 0.0121,
          "percent_delta": 0.0293,
          "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": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "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_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 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_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3131,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3457,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4129,
        "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.302,
          "after": 0.3131,
          "delta": 0.0111,
          "percent_delta": 0.0368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3457,
          "delta": -0.0033,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.4129,
          "delta": -0.0121,
          "percent_delta": -0.0284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.302,
          "after": 0.3131,
          "delta": 0.0111,
          "percent_delta": 0.0368,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.425,
          "after": 0.4129,
          "delta": -0.0121,
          "percent_delta": -0.0284,
          "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": 1.0,
        "delta": 0.779,
        "percent_delta": 3.5249,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.051,
        "after": 0.0,
        "delta": -0.051,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.61,
        "after": 4.0,
        "delta": -0.61,
        "percent_delta": -0.1323,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.306,
        "after": 0.3131,
        "delta": 0.0071,
        "percent_delta": 0.0232,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "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": 1.41,
        "after": 1.0,
        "delta": -0.41,
        "percent_delta": -0.2908,
        "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.355,
        "after": 0.3457,
        "delta": -0.0093,
        "percent_delta": -0.0262,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.471,
        "after": 1.0,
        "delta": 0.529,
        "percent_delta": 1.1231,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 1.0,
        "delta": 0.53,
        "percent_delta": 1.1277,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.412,
        "after": 0.4129,
        "delta": 0.0009,
        "percent_delta": 0.0022,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.184,
        "after": 2.0,
        "delta": 1.816,
        "percent_delta": 9.8696,
        "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.184,
        "after": 2.0,
        "delta": 1.816,
        "percent_delta": 9.8696,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.61,
        "after": 4.0,
        "delta": -0.61,
        "percent_delta": -0.1323,
        "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.221-
predicted_3B0.051-
predicted_AB4.610-
predicted_AVG0.306-
predicted_BB0.213-
predicted_H1.410-
predicted_HR0.050-
predicted_OBP0.355-
predicted_R0.471-
predicted_RBI0.470-
predicted_SLG0.412-
predicted_SO0.184-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.217-0.004
predicted_3B0.041-0.010
predicted_AB4.268-0.342
predicted_AVG0.3110.005
predicted_BB0.212-0.001
predicted_H1.324-0.086
predicted_HBP0.084-
predicted_HR0.042-0.008
predicted_OBP0.3550.000
predicted_R0.424-0.047
predicted_RBI0.455-0.015
predicted_SLG0.412-0.000
predicted_SO0.2010.017
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2170.000
predicted_3B0.0410.000
predicted_AB4.2680.000
predicted_AVG0.3130.002
predicted_BB0.2130.001
predicted_H1.3370.013
predicted_HBP0.0840.000
predicted_HR0.0420.001
predicted_OBP0.346-0.010
predicted_R0.4310.007
predicted_RBI0.4630.008
predicted_SLG0.4130.001
predicted_SO0.201-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1860.186
3B0.0300.030
BB0.2430.243
H1.1490.149
HR0.0740.074
RBI0.4330.433
SO0.248-0.752
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.814
3B0.000-0.030
AB4.0000.000
BB0.000-0.243
H1.000-0.149
HR0.000-0.074
R0.0000.000
RBI0.000-0.433
SO0.000-0.248
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.217
predicted_3B0.000-0.041
predicted_AB4.000-0.268
predicted_AVG0.302-0.011
predicted_BB0.000-0.213
predicted_H1.000-0.337
predicted_HR0.000-0.042
predicted_OBP0.3490.003
predicted_R0.000-0.431
predicted_RBI0.000-0.463
predicted_SLG0.4250.012
predicted_SO1.0000.799
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI1.0001.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: 136
Reference playing time: 4.610
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0006.0001.0000.0000.0003.0001.0001.0001.0000.35290.40000.41180.35290.00000.17650.05880.0588
last_100.2010-38.00011.0002.0000.0000.0003.0002.0002.0002.0000.28950.33330.34210.28950.00000.07900.05260.0526
season0.60136-541.000173.00030.0007.0006.00056.00064.00029.00025.0000.31980.35320.43440.31980.01110.10350.05360.0462
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2110
predicted_3B0.0290
predicted_AB3.8260
predicted_AVG0.3168
predicted_BB0.2110
predicted_H1.2120
predicted_HBP0.0840
predicted_HR0.0310
predicted_OBP0.3560
predicted_R0.3640
predicted_RBI0.4360
predicted_SLG0.4112
predicted_SO0.2240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22100.21100.2166model_form_blend
predicted_3B0.05100.02900.0414model_form_blend
predicted_AB4.61003.82604.2684model_form_blend
predicted_AVG0.30600.31680.3107model_form_blend
predicted_BB0.21300.21100.2121model_form_blend
predicted_H1.41001.21201.3237model_form_blend
predicted_HBP-0.08400.0840form_only
predicted_HR0.05000.03100.0417model_form_blend
predicted_OBP0.35500.35600.3554model_form_blend
predicted_R0.47100.36400.4244model_form_blend
predicted_RBI0.47000.43600.4552model_form_blend
predicted_SLG0.41200.41120.4117model_form_blend
predicted_SO0.18400.22400.2014model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS1
BaseRunning_PO0
BaseRunning_SB0
Fielding_E1
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_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
gameID20260909_HOU@PHI
game_typefull
mlbID650333
playerID650333
playerNameLuis Arraez
pos2B
startedTrue
startingPosition2B
teamPHI
teamID21
game_date2026-09-09
sl_k_percent4.4
sl_bb_percent4.7
sl_woba0.335
sl_xwoba0.305
sl_xba0.288
sl_xslg0.377
sl_sweet_spot_percent39.6
sl_barrel_batted_rate1.1
sl_hard_hit_percent19.0
sl_exit_velocity_avg86.3
sl_launch_angle_avg16.2
sl_whiff_percent7.6
sl_swing_percent49.5
Trea Turner (607208) · BATTER · SS · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 563
All-history rows before 20260910: 563
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2503
Diff (system - data): -0.0063
System opponent_avg: 0.1710

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1960.0000.000Hitting_2B0.1880.000-0.1880.000
predicted_3B0.0070.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB5.3704.0004.000Hitting_AB4.2585.000-0.258-1.000
predicted_AVG0.2460.2500.250Hitting_AVG0.2500.400-0.000-0.150
predicted_BB0.2830.0000.000Hitting_BB0.2770.000-0.2770.000
predicted_CS-0.0000.000BaseRunning_CS0.0270.000-0.0270.000
predicted_H1.3201.0001.000Hitting_H1.0662.000-0.066-1.000
predicted_HR0.2400.0000.000Hitting_HR0.1491.000-0.149-1.000
predicted_OBP0.3030.2500.250Hitting_OBP0.2980.400-0.048-0.150
predicted_R0.6670.0001.000Hitting_R0.7232.000-0.723-2.000
predicted_RBI0.7200.0001.000Hitting_RBI0.4262.000-0.426-2.000
predicted_SLG0.4560.2500.250Hitting_SLG0.4041.000-0.154-0.750
predicted_SO0.9490.0001.000Hitting_SO0.9801.000-0.980-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AVG: 0.2460 -> 0.2541 (boost 0.0081, better)
Biggest Deboostpredicted_AB: 5.3700 -> 4.0000 (deboost -1.3700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend73443predicted_2B: 0.1960 -> 0.2545 (boost 0.0585, better)predicted_AB: 5.3700 -> 4.8383 (deboost -0.5317, worse)Final model input calibrated 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.4695 -> 0.4486 (deboost -0.0209, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.8944 -> 1.0000 (boost 0.1056, worse)predicted_AB: 4.8383 -> 4.0000 (deboost -0.8383, worse)AB rounded to 4 (raw=5.37), rates preserved: AVG=0.238 HR/AB=0.042
6consistency_constraints11010predicted_R: 0.7053 -> 1.0000 (boost 0.2947, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55050predicted_RBI: 0.0000 -> 0.4575 (boost 0.4575, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation51414predicted_RBI: 0.4575 -> 1.0000 (boost 0.5425, better)predicted_BB: 0.2859 -> 0.0000 (deboost -0.2859, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context42222predicted_OBP: 0.2946 -> 0.3180 (boost 0.0234, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference20211-predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final31212predicted_SLG: 0.4240 -> 0.4486 (boost 0.0246, better)predicted_OBP: 0.3180 -> 0.2946 (deboost -0.0234, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "607208",
  "player_name": "Trea Turner",
  "position": "SS",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.196,
        "predicted_3B": 0.007,
        "predicted_AB": 5.37,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.283,
        "predicted_H": 1.32,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.303,
        "predicted_R": 0.667,
        "predicted_RBI": 0.72,
        "predicted_SLG": 0.456,
        "predicted_SO": 0.949
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2545,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.8383,
        "predicted_AVG": 0.2527,
        "predicted_BB": 0.2773,
        "predicted_H": 1.2174,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.2221,
        "predicted_OBP": 0.3053,
        "predicted_R": 0.6936,
        "predicted_RBI": 0.6248,
        "predicted_SLG": 0.4695,
        "predicted_SO": 0.8975
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.196,
          "after": 0.2545,
          "delta": 0.0585,
          "percent_delta": 0.2985,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.37,
          "after": 4.8383,
          "delta": -0.5317,
          "percent_delta": -0.099,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2527,
          "delta": 0.0067,
          "percent_delta": 0.0272,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.283,
          "after": 0.2773,
          "delta": -0.0057,
          "percent_delta": -0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.32,
          "after": 1.2174,
          "delta": -0.1026,
          "percent_delta": -0.0777,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2221,
          "delta": -0.0179,
          "percent_delta": -0.0746,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.3053,
          "delta": 0.0023,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.667,
          "after": 0.6936,
          "delta": 0.0266,
          "percent_delta": 0.0399,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.72,
          "after": 0.6248,
          "delta": -0.0952,
          "percent_delta": -0.1322,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.456,
          "after": 0.4695,
          "delta": 0.0135,
          "percent_delta": 0.0296,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.949,
          "after": 0.8975,
          "delta": -0.0515,
          "percent_delta": -0.0543,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.196,
          "after": 0.2545,
          "delta": 0.0585,
          "percent_delta": 0.2985,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.37,
          "after": 4.8383,
          "delta": -0.5317,
          "percent_delta": -0.099,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2545,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.8383,
        "predicted_AVG": 0.2541,
        "predicted_BB": 0.2782,
        "predicted_H": 1.2292,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.2248,
        "predicted_OBP": 0.2946,
        "predicted_R": 0.7053,
        "predicted_RBI": 0.6353,
        "predicted_SLG": 0.4486,
        "predicted_SO": 0.8944
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2545,
          "after": 0.2545,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.8383,
          "after": 4.8383,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2527,
          "after": 0.2541,
          "delta": 0.0014,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2773,
          "after": 0.2782,
          "delta": 0.0009,
          "percent_delta": 0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2174,
          "after": 1.2292,
          "delta": 0.0118,
          "percent_delta": 0.0097,
          "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.2221,
          "after": 0.2248,
          "delta": 0.0027,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3053,
          "after": 0.2946,
          "delta": -0.0107,
          "percent_delta": -0.035,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6936,
          "after": 0.7053,
          "delta": 0.0117,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6248,
          "after": 0.6353,
          "delta": 0.0105,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4695,
          "after": 0.4486,
          "delta": -0.0209,
          "percent_delta": -0.0445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8975,
          "after": 0.8944,
          "delta": -0.0031,
          "percent_delta": -0.0035,
          "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.4695,
          "after": 0.4486,
          "delta": -0.0209,
          "percent_delta": -0.0445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.37), 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2545,
          "after": 0.0,
          "delta": -0.2545,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.8383,
          "after": 4.0,
          "delta": -0.8383,
          "percent_delta": -0.1733,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2782,
          "after": 0.0,
          "delta": -0.2782,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2292,
          "after": 1.0,
          "delta": -0.2292,
          "percent_delta": -0.1865,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.014,
          "after": 0.0,
          "delta": -0.014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2248,
          "after": 0.0,
          "delta": -0.2248,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6353,
          "after": 0.0,
          "delta": -0.6353,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8944,
          "after": 1.0,
          "delta": 0.1056,
          "percent_delta": 0.1181,
          "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.8944,
          "after": 1.0,
          "delta": 0.1056,
          "percent_delta": 0.1181,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.8383,
          "after": 4.0,
          "delta": -0.8383,
          "percent_delta": -0.1733,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7053,
          "after": 1.0,
          "delta": 0.2947,
          "percent_delta": 0.4178,
          "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.7053,
          "after": 1.0,
          "delta": 0.2947,
          "percent_delta": 0.4178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1838,
        "predicted_3B": 0.0141,
        "predicted_BB": 0.2859,
        "predicted_H": 1.0639,
        "predicted_HR": 0.1461,
        "predicted_RBI": 0.4575,
        "predicted_SO": 1.0245
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1838,
          "delta": 0.1838,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0141,
          "delta": 0.0141,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2859,
          "delta": 0.2859,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0639,
          "delta": 0.0639,
          "percent_delta": 0.0639,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1461,
          "delta": 0.1461,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4575,
          "delta": 0.4575,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0245,
          "delta": 0.0245,
          "percent_delta": 0.0245,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4575,
          "delta": 0.4575,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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.0141,
          "after": 0.0,
          "delta": -0.0141,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2859,
          "after": 0.0,
          "delta": -0.2859,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0639,
          "after": 1.0,
          "delta": -0.0639,
          "percent_delta": -0.0601,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1461,
          "after": 0.0,
          "delta": -0.1461,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4575,
          "after": 1.0,
          "delta": 0.5425,
          "percent_delta": 1.1858,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0245,
          "after": 1.0,
          "delta": -0.0245,
          "percent_delta": -0.0239,
          "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.4575,
          "after": 1.0,
          "delta": 0.5425,
          "percent_delta": 1.1858,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2859,
          "after": 0.0,
          "delta": -0.2859,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.318,
        "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.2541,
          "after": 0.263,
          "delta": 0.0089,
          "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_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2946,
          "after": 0.318,
          "delta": 0.0234,
          "percent_delta": 0.0794,
          "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.4486,
          "after": 0.424,
          "delta": -0.0246,
          "percent_delta": -0.0548,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_OBP",
          "before": 0.2946,
          "after": 0.318,
          "delta": 0.0234,
          "percent_delta": 0.0794,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2541,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2946,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4486,
        "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.263,
          "after": 0.2541,
          "delta": -0.0089,
          "percent_delta": -0.034,
          "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.318,
          "after": 0.2946,
          "delta": -0.0234,
          "percent_delta": -0.0735,
          "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.4486,
          "delta": 0.0246,
          "percent_delta": 0.0579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.4486,
          "delta": 0.0246,
          "percent_delta": 0.0579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.318,
          "after": 0.2946,
          "delta": -0.0234,
          "percent_delta": -0.0735,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.196,
        "after": 0.0,
        "delta": -0.196,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.37,
        "after": 4.0,
        "delta": -1.37,
        "percent_delta": -0.2551,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.2541,
        "delta": 0.0081,
        "percent_delta": 0.0329,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.283,
        "after": 0.0,
        "delta": -0.283,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.32,
        "after": 1.0,
        "delta": -0.32,
        "percent_delta": -0.2424,
        "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.303,
        "after": 0.2946,
        "delta": -0.0084,
        "percent_delta": -0.0277,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.667,
        "after": 0.0,
        "delta": -0.667,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.456,
        "after": 0.4486,
        "delta": -0.0074,
        "percent_delta": -0.0162,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.949,
        "after": 0.0,
        "delta": -0.949,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.2541,
        "delta": 0.0081,
        "percent_delta": 0.0329,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.37,
        "after": 4.0,
        "delta": -1.37,
        "percent_delta": -0.2551,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.196-
predicted_3B0.007-
predicted_AB5.370-
predicted_AVG0.246-
predicted_BB0.283-
predicted_H1.320-
predicted_HR0.240-
predicted_OBP0.303-
predicted_R0.667-
predicted_RBI0.720-
predicted_SLG0.456-
predicted_SO0.949-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2550.058
predicted_3B0.006-0.001
predicted_AB4.838-0.532
predicted_AVG0.2530.007
predicted_BB0.277-0.006
predicted_H1.217-0.103
predicted_HBP0.014-
predicted_HR0.222-0.018
predicted_OBP0.3050.002
predicted_R0.6940.027
predicted_RBI0.625-0.095
predicted_SLG0.4690.013
predicted_SO0.897-0.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.2550.000
predicted_3B0.0060.000
predicted_AB4.8380.000
predicted_AVG0.2540.001
predicted_BB0.2780.001
predicted_H1.2290.012
predicted_HBP0.0140.000
predicted_HR0.2250.003
predicted_OBP0.295-0.011
predicted_R0.7050.012
predicted_RBI0.6350.010
predicted_SLG0.449-0.021
predicted_SO0.894-0.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.37), 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-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1840.184
3B0.0140.014
BB0.2860.286
H1.0640.064
HR0.1460.146
RBI0.4580.458
SO1.0240.024
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.184
3B0.000-0.014
AB4.0000.000
BB0.000-0.286
H1.000-0.064
HR0.000-0.146
R1.0000.000
RBI1.0000.542
SO1.000-0.024
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.255
predicted_3B0.000-0.006
predicted_AB4.000-0.838
predicted_AVG0.2630.009
predicted_BB0.000-0.278
predicted_H1.000-0.229
predicted_HR0.000-0.225
predicted_OBP0.3180.023
predicted_R1.0000.295
predicted_RBI0.000-0.635
predicted_SLG0.424-0.025
predicted_SO1.0000.106
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
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: 138
Reference playing time: 5.370
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.0002.0004.0005.0001.0003.0000.33330.36360.76190.33330.09520.19050.04760.1429
last_100.2010-41.00010.0005.0000.0002.0005.0007.0003.0007.0000.24390.29550.51220.24390.04880.12200.07320.1707
season0.60138-577.000141.00027.0001.00019.00056.00092.00039.000131.0000.24440.29420.39340.24440.03290.09700.06760.2270
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3300
predicted_3B0.0050
predicted_AB4.1520
predicted_AVG0.2614
predicted_BB0.2700
predicted_H1.0850
predicted_HBP0.0140
predicted_HR0.1990
predicted_OBP0.3082
predicted_R0.7280
predicted_RBI0.5020
predicted_SLG0.4870
predicted_SO0.8310
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19600.33000.2545model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB5.37004.15204.8383model_form_blend
predicted_AVG0.24600.26140.2527model_form_blend
predicted_BB0.28300.27000.2773model_form_blend
predicted_H1.32001.08501.2174model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.24000.19900.2221model_form_blend
predicted_OBP0.30300.30820.3053model_form_blend
predicted_R0.66700.72800.6936model_form_blend
predicted_RBI0.72000.50200.6248model_form_blend
predicted_SLG0.45600.48700.4695model_form_blend
predicted_SO0.94900.83100.8975model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.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_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
allPositionsPlayedSS
gameID20260909_HOU@PHI
game_typefull
mlbID607208
playerID607208
playerNameTrea Turner
posSS
startedTrue
startingPositionSS
teamPHI
teamID21
game_date2026-09-09
sl_k_percent21.3
sl_bb_percent6.4
sl_woba0.298
sl_xwoba0.294
sl_xba0.243
sl_xslg0.369
sl_sweet_spot_percent32.5
sl_barrel_batted_rate6.3
sl_hard_hit_percent39.9
sl_exit_velocity_avg88.5
sl_launch_angle_avg11.4
sl_whiff_percent27.3
sl_swing_percent50.5
Brandon Marsh (669016) · BATTER · LF · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 498
All-history rows before 20260910: 498
System season_avg: 0.2690
Data season_avg (2026 season-to-date): 0.2771
Diff (system - data): -0.0081
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.1310.0000.000Hitting_2B0.1450.000-0.1450.000
predicted_3B0.0150.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB3.5333.0003.000Hitting_AB3.7972.000-0.7971.000
predicted_AVG0.2620.3330.333Hitting_AVG0.2770.5000.056-0.167
predicted_BB0.2341.0000.000Hitting_BB0.2730.0000.7271.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H0.7701.0001.000Hitting_H1.0521.000-0.0520.000
predicted_HR0.0800.0000.000Hitting_HR0.1550.000-0.1550.000
predicted_OBP0.2920.5000.333Hitting_OBP0.3250.5000.1750.000
predicted_R0.4891.0000.000Hitting_R0.5700.0000.4301.000
predicted_RBI0.3101.0000.000Hitting_RBI0.5000.0000.5001.000
predicted_SLG0.3870.3330.333Hitting_SLG0.4470.500-0.114-0.167
predicted_SO0.9271.0001.000Hitting_SO0.9860.0000.0141.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_BB: 0.2340 -> 1.0000 (boost 0.7660, better)
Biggest Deboostpredicted_AB: 3.5330 -> 3.0000 (deboost -0.5330, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30312-predicted_AB: 3.5330 -> 3.3368 (deboost -0.1962, worse)Final model input calibrated 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.3823 -> 0.3524 (deboost -0.0299, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_H: 0.7867 -> 1.0000 (boost 0.2133, better)predicted_AB: 3.3368 -> 3.0000 (deboost -0.3368, worse)AB rounded to 3 (raw=3.53), rates preserved: AVG=0.232 HR/AB=0.021
6bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)
7consistency_constraints10101-predicted_R: 0.3979 -> 0.0000 (deboost -0.3979, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4181 (boost 0.4181, better)predicted_SO: 1.0000 -> 0.9417 (deboost -0.0583, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_SO: 0.9417 -> 1.0000 (boost 0.0583, worse)predicted_RBI: 0.4181 -> 0.0000 (deboost -0.4181, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.3524 -> 0.4600 (boost 0.1076, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4600 -> 0.3524 (deboost -0.1076, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669016",
  "player_name": "Brandon Marsh",
  "position": "LF",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.131,
        "predicted_3B": 0.015,
        "predicted_AB": 3.533,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.234,
        "predicted_H": 0.77,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.292,
        "predicted_R": 0.489,
        "predicted_RBI": 0.31,
        "predicted_SLG": 0.387,
        "predicted_SO": 0.927
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1392,
        "predicted_3B": 0.012,
        "predicted_AB": 3.3368,
        "predicted_AVG": 0.2597,
        "predicted_BB": 0.1984,
        "predicted_H": 0.7791,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.0744,
        "predicted_OBP": 0.2919,
        "predicted_R": 0.3913,
        "predicted_RBI": 0.3304,
        "predicted_SLG": 0.3823,
        "predicted_SO": 0.7946
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.131,
          "after": 0.1392,
          "delta": 0.0082,
          "percent_delta": 0.0626,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.012,
          "delta": -0.003,
          "percent_delta": -0.2,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.533,
          "after": 3.3368,
          "delta": -0.1962,
          "percent_delta": -0.0555,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2597,
          "delta": -0.0023,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.234,
          "after": 0.1984,
          "delta": -0.0356,
          "percent_delta": -0.1521,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.77,
          "after": 0.7791,
          "delta": 0.0091,
          "percent_delta": 0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0744,
          "delta": -0.0056,
          "percent_delta": -0.07,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.292,
          "after": 0.2919,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.489,
          "after": 0.3913,
          "delta": -0.0977,
          "percent_delta": -0.1998,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.31,
          "after": 0.3304,
          "delta": 0.0204,
          "percent_delta": 0.0658,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.387,
          "after": 0.3823,
          "delta": -0.0047,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.927,
          "after": 0.7946,
          "delta": -0.1324,
          "percent_delta": -0.1428,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.533,
          "after": 3.3368,
          "delta": -0.1962,
          "percent_delta": -0.0555,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 137
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1392,
        "predicted_3B": 0.012,
        "predicted_AB": 3.3368,
        "predicted_AVG": 0.2358,
        "predicted_BB": 0.1991,
        "predicted_H": 0.7867,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.0753,
        "predicted_OBP": 0.2788,
        "predicted_R": 0.3979,
        "predicted_RBI": 0.336,
        "predicted_SLG": 0.3524,
        "predicted_SO": 0.7919
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1392,
          "after": 0.1392,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.012,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3368,
          "after": 3.3368,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2597,
          "after": 0.2358,
          "delta": -0.0239,
          "percent_delta": -0.092,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1984,
          "after": 0.1991,
          "delta": 0.0007,
          "percent_delta": 0.0035,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7791,
          "after": 0.7867,
          "delta": 0.0076,
          "percent_delta": 0.0098,
          "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.0744,
          "after": 0.0753,
          "delta": 0.0009,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2919,
          "after": 0.2788,
          "delta": -0.0131,
          "percent_delta": -0.0449,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3913,
          "after": 0.3979,
          "delta": 0.0066,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3304,
          "after": 0.336,
          "delta": 0.0056,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3823,
          "after": 0.3524,
          "delta": -0.0299,
          "percent_delta": -0.0782,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7946,
          "after": 0.7919,
          "delta": -0.0027,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3823,
          "after": 0.3524,
          "delta": -0.0299,
          "percent_delta": -0.0782,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.53), rates preserved: AVG=0.232 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.1392,
          "after": 0.0,
          "delta": -0.1392,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.0,
          "delta": -0.012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3368,
          "after": 3.0,
          "delta": -0.3368,
          "percent_delta": -0.1009,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1991,
          "after": 0.0,
          "delta": -0.1991,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7867,
          "after": 1.0,
          "delta": 0.2133,
          "percent_delta": 0.2711,
          "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.0753,
          "after": 0.0,
          "delta": -0.0753,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.336,
          "after": 0.0,
          "delta": -0.336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7919,
          "after": 1.0,
          "delta": 0.2081,
          "percent_delta": 0.2628,
          "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.7867,
          "after": 1.0,
          "delta": 0.2133,
          "percent_delta": 0.2711,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.3368,
          "after": 3.0,
          "delta": -0.3368,
          "percent_delta": -0.1009,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.455)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.3979,
          "after": 0.0,
          "delta": -0.3979,
          "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.3979,
          "after": 0.0,
          "delta": -0.3979,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1653,
        "predicted_3B": 0.0135,
        "predicted_BB": 0.2459,
        "predicted_H": 0.9458,
        "predicted_HR": 0.1197,
        "predicted_RBI": 0.4181,
        "predicted_SO": 0.9417
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1653,
          "delta": 0.1653,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0135,
          "delta": 0.0135,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2459,
          "delta": 0.2459,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9458,
          "delta": -0.0542,
          "percent_delta": -0.0542,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1197,
          "delta": 0.1197,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4181,
          "delta": 0.4181,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9417,
          "delta": -0.0583,
          "percent_delta": -0.0583,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4181,
          "delta": 0.4181,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9417,
          "delta": -0.0583,
          "percent_delta": -0.0583,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1653,
          "after": 0.0,
          "delta": -0.1653,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2459,
          "after": 0.0,
          "delta": -0.2459,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9458,
          "after": 1.0,
          "delta": 0.0542,
          "percent_delta": 0.0573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1197,
          "after": 0.0,
          "delta": -0.1197,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4181,
          "after": 0.0,
          "delta": -0.4181,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9417,
          "after": 1.0,
          "delta": 0.0583,
          "percent_delta": 0.0619,
          "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.9417,
          "after": 1.0,
          "delta": 0.0583,
          "percent_delta": 0.0619,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4181,
          "after": 0.0,
          "delta": -0.4181,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.29,
        "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.46,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2358,
          "after": 0.29,
          "delta": 0.0542,
          "percent_delta": 0.2299,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2788,
          "after": 0.345,
          "delta": 0.0662,
          "percent_delta": 0.2374,
          "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.3524,
          "after": 0.46,
          "delta": 0.1076,
          "percent_delta": 0.3053,
          "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.3524,
          "after": 0.46,
          "delta": 0.1076,
          "percent_delta": 0.3053,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2358,
        "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.2788,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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": 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.29,
          "after": 0.2358,
          "delta": -0.0542,
          "percent_delta": -0.1871,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.2788,
          "delta": -0.0662,
          "percent_delta": -0.1919,
          "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.46,
          "after": 0.3524,
          "delta": -0.1076,
          "percent_delta": -0.234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.46,
          "after": 0.3524,
          "delta": -0.1076,
          "percent_delta": -0.234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.131,
        "after": 0.0,
        "delta": -0.131,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.015,
        "after": 0.0,
        "delta": -0.015,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.533,
        "after": 3.0,
        "delta": -0.533,
        "percent_delta": -0.1509,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.2358,
        "delta": -0.0262,
        "percent_delta": -0.1,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.234,
        "after": 1.0,
        "delta": 0.766,
        "percent_delta": 3.2735,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 1.0,
        "delta": 0.23,
        "percent_delta": 0.2987,
        "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.292,
        "after": 0.2788,
        "delta": -0.0132,
        "percent_delta": -0.0452,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.489,
        "after": 1.0,
        "delta": 0.511,
        "percent_delta": 1.045,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.31,
        "after": 1.0,
        "delta": 0.69,
        "percent_delta": 2.2258,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.387,
        "after": 0.3524,
        "delta": -0.0346,
        "percent_delta": -0.0894,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.927,
        "after": 1.0,
        "delta": 0.073,
        "percent_delta": 0.0787,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.234,
        "after": 1.0,
        "delta": 0.766,
        "percent_delta": 3.2735,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.533,
        "after": 3.0,
        "delta": -0.533,
        "percent_delta": -0.1509,
        "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.131-
predicted_3B0.015-
predicted_AB3.533-
predicted_AVG0.262-
predicted_BB0.234-
predicted_H0.770-
predicted_HR0.080-
predicted_OBP0.292-
predicted_R0.489-
predicted_RBI0.310-
predicted_SLG0.387-
predicted_SO0.927-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1390.008
predicted_3B0.012-0.003
predicted_AB3.337-0.196
predicted_AVG0.260-0.002
predicted_BB0.198-0.036
predicted_H0.7790.009
predicted_HBP0.009-
predicted_HR0.074-0.006
predicted_OBP0.292-0.000
predicted_R0.391-0.098
predicted_RBI0.3300.020
predicted_SLG0.382-0.005
predicted_SO0.795-0.132
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1390.000
predicted_3B0.0120.000
predicted_AB3.3370.000
predicted_AVG0.236-0.024
predicted_BB0.1990.001
predicted_H0.7870.008
predicted_HBP0.0090.000
predicted_HR0.0750.001
predicted_OBP0.279-0.013
predicted_R0.3980.007
predicted_RBI0.3360.006
predicted_SLG0.352-0.030
predicted_SO0.792-0.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1650.165
3B0.0130.013
BB0.2460.246
H0.946-0.054
HR0.1200.120
RBI0.4180.418
SO0.942-0.058
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.165
3B0.000-0.013
AB3.0000.000
BB0.000-0.246
H1.0000.054
HR0.000-0.120
R0.0000.000
RBI0.000-0.418
SO1.0000.058
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.139
predicted_3B0.000-0.012
predicted_AB3.000-0.337
predicted_AVG0.2900.054
predicted_BB0.000-0.199
predicted_H1.0000.213
predicted_HR0.000-0.075
predicted_OBP0.3450.066
predicted_R0.000-0.398
predicted_RBI0.000-0.336
predicted_SLG0.4600.108
predicted_SO1.0000.208
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H1.0000.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: 137
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-11.0003.0001.0000.0000.0001.0000.0000.0001.0000.27270.27270.36360.27270.00000.09090.00000.0909
last_100.2010-24.0005.0001.0000.0000.0003.0000.0001.0003.0000.20830.24000.25000.20830.00000.12500.04170.1250
season0.60137-484.000130.00018.0002.00017.00058.00067.00032.000127.0000.26860.31420.41940.26860.03510.11980.06610.2624
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1500
predicted_3B0.0080
predicted_AB3.0810
predicted_AVG0.2568
predicted_BB0.1520
predicted_H0.7910
predicted_HBP0.0090
predicted_HR0.0670
predicted_OBP0.2918
predicted_R0.2640
predicted_RBI0.3570
predicted_SLG0.3762
predicted_SO0.6220
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13100.15000.1392model_form_blend
predicted_3B0.01500.00800.0120model_form_blend
predicted_AB3.53303.08103.3368model_form_blend
predicted_AVG0.26200.25680.2597model_form_blend
predicted_BB0.23400.15200.1984model_form_blend
predicted_H0.77000.79100.7791model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.08000.06700.0744model_form_blend
predicted_OBP0.29200.29180.2919model_form_blend
predicted_R0.48900.26400.3913model_form_blend
predicted_RBI0.31000.35700.3304model_form_blend
predicted_SLG0.38700.37620.3823model_form_blend
predicted_SO0.92700.62200.7946model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_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
gameID20260909_HOU@PHI
game_typefull
mlbID669016
playerID669016
playerNameBrandon Marsh
posLF
startedTrue
startingPositionLF
teamPHI
teamID21
game_date2026-09-09
sl_k_percent24.8
sl_bb_percent6.1
sl_woba0.317
sl_xwoba0.306
sl_xba0.256
sl_xslg0.408
sl_sweet_spot_percent41.8
sl_barrel_batted_rate8.3
sl_hard_hit_percent43.5
sl_exit_velocity_avg89.3
sl_launch_angle_avg13.4
sl_whiff_percent24.9
sl_swing_percent52.1
Justin Crawford (702222) · BATTER · CF · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 394
All-history rows before 20260910: 394
System season_avg: 0.2580
Data season_avg (2026 season-to-date): 0.2778
Diff (system - data): -0.0198
System opponent_avg: 0.3330
System season_avg diverges from 2026 season-to-date by -0.0198. 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.1400.0000.000Hitting_2B0.1650.000-0.1650.000
predicted_3B0.0310.0000.000Hitting_3B0.0530.000-0.0530.000
predicted_AB2.9463.0003.000Hitting_AB3.2614.000-0.261-1.000
predicted_AVG0.2500.3330.333Hitting_AVG0.2780.2500.0560.083
predicted_BB0.1941.0000.000Hitting_BB0.2210.0000.7791.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.7101.0001.000Hitting_H0.9061.0000.0940.000
predicted_HR0.0200.0000.000Hitting_HR0.0200.000-0.0200.000
predicted_OBP0.2810.5000.333Hitting_OBP0.3270.2500.1730.250
predicted_R0.3491.0000.000Hitting_R0.3731.0000.6270.000
predicted_RBI0.2301.0000.000Hitting_RBI0.3050.0000.6951.000
predicted_SLG0.3190.3330.333Hitting_SLG0.3800.250-0.0460.083
predicted_SO0.5740.0000.000Hitting_SO0.6121.000-0.612-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics6
Deboosted Metrics3
Better Metrics7
Worse Metrics2
Biggest Boostpredicted_BB: 0.1940 -> 1.0000 (boost 0.8060, better)
Biggest Deboostpredicted_SO: 0.5740 -> 0.0000 (deboost -0.5740, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 2.9460 -> 2.8832 (deboost -0.0628, worse)Final model input calibrated 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.3161 -> 0.3250 (boost 0.0089, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_SO: 0.5866 -> 1.0000 (boost 0.4134, worse)predicted_RBI: 0.2146 -> 0.0000 (deboost -0.2146, worse)AB rounded to 3 (raw=2.95), rates preserved: AVG=0.244 HR/AB=0.006
6consistency_constraints10101-predicted_R: 0.3798 -> 0.0000 (deboost -0.3798, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3381 (boost 0.3381, better)predicted_SO: 1.0000 -> 0.6662 (deboost -0.3338, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61524predicted_H: 0.8293 -> 1.0000 (boost 0.1707, better)predicted_SO: 0.6662 -> 0.0000 (deboost -0.6662, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context44031predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference43140predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3840 -> 0.3250 (deboost -0.0590, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "702222",
  "player_name": "Justin Crawford",
  "position": "CF",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.14,
        "predicted_3B": 0.031,
        "predicted_AB": 2.946,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.194,
        "predicted_H": 0.71,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.281,
        "predicted_R": 0.349,
        "predicted_RBI": 0.23,
        "predicted_SLG": 0.319,
        "predicted_SO": 0.574
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1434,
        "predicted_3B": 0.025,
        "predicted_AB": 2.8832,
        "predicted_AVG": 0.2418,
        "predicted_BB": 0.1794,
        "predicted_H": 0.6829,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0178,
        "predicted_OBP": 0.2778,
        "predicted_R": 0.3735,
        "predicted_RBI": 0.2111,
        "predicted_SLG": 0.3161,
        "predicted_SO": 0.5886
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.14,
          "after": 0.1434,
          "delta": 0.0034,
          "percent_delta": 0.0243,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.031,
          "after": 0.025,
          "delta": -0.006,
          "percent_delta": -0.1935,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.946,
          "after": 2.8832,
          "delta": -0.0628,
          "percent_delta": -0.0213,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2418,
          "delta": -0.0082,
          "percent_delta": -0.0328,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.194,
          "after": 0.1794,
          "delta": -0.0146,
          "percent_delta": -0.0753,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.71,
          "after": 0.6829,
          "delta": -0.0271,
          "percent_delta": -0.0382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.02,
          "after": 0.0178,
          "delta": -0.0022,
          "percent_delta": -0.11,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2778,
          "delta": -0.0032,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.349,
          "after": 0.3735,
          "delta": 0.0245,
          "percent_delta": 0.0702,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.23,
          "after": 0.2111,
          "delta": -0.0189,
          "percent_delta": -0.0822,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.319,
          "after": 0.3161,
          "delta": -0.0029,
          "percent_delta": -0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.574,
          "after": 0.5886,
          "delta": 0.0146,
          "percent_delta": 0.0254,
          "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": 2.946,
          "after": 2.8832,
          "delta": -0.0628,
          "percent_delta": -0.0213,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1434,
        "predicted_3B": 0.025,
        "predicted_AB": 2.8832,
        "predicted_AVG": 0.2392,
        "predicted_BB": 0.18,
        "predicted_H": 0.6895,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.018,
        "predicted_OBP": 0.2839,
        "predicted_R": 0.3798,
        "predicted_RBI": 0.2146,
        "predicted_SLG": 0.325,
        "predicted_SO": 0.5866
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1434,
          "after": 0.1434,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.025,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8832,
          "after": 2.8832,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2418,
          "after": 0.2392,
          "delta": -0.0026,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1794,
          "after": 0.18,
          "delta": 0.0006,
          "percent_delta": 0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6829,
          "after": 0.6895,
          "delta": 0.0066,
          "percent_delta": 0.0097,
          "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.0178,
          "after": 0.018,
          "delta": 0.0002,
          "percent_delta": 0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2778,
          "after": 0.2839,
          "delta": 0.0061,
          "percent_delta": 0.022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3735,
          "after": 0.3798,
          "delta": 0.0063,
          "percent_delta": 0.0169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2111,
          "after": 0.2146,
          "delta": 0.0035,
          "percent_delta": 0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3161,
          "after": 0.325,
          "delta": 0.0089,
          "percent_delta": 0.0282,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5886,
          "after": 0.5866,
          "delta": -0.002,
          "percent_delta": -0.0034,
          "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.3161,
          "after": 0.325,
          "delta": 0.0089,
          "percent_delta": 0.0282,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.95), rates preserved: AVG=0.244 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.1434,
          "after": 0.0,
          "delta": -0.1434,
          "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.8832,
          "after": 3.0,
          "delta": 0.1168,
          "percent_delta": 0.0405,
          "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": 0.6895,
          "after": 1.0,
          "delta": 0.3105,
          "percent_delta": 0.4503,
          "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.018,
          "after": 0.0,
          "delta": -0.018,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2146,
          "after": 0.0,
          "delta": -0.2146,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5866,
          "after": 1.0,
          "delta": 0.4134,
          "percent_delta": 0.7047,
          "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.5866,
          "after": 1.0,
          "delta": 0.4134,
          "percent_delta": 0.7047,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2146,
          "after": 0.0,
          "delta": -0.2146,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3798,
          "after": 0.0,
          "delta": -0.3798,
          "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.3798,
          "after": 0.0,
          "delta": -0.3798,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1462,
        "predicted_3B": 0.0202,
        "predicted_BB": 0.235,
        "predicted_H": 0.8293,
        "predicted_HR": 0.056,
        "predicted_RBI": 0.3381,
        "predicted_SO": 0.6662
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1462,
          "delta": 0.1462,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0202,
          "delta": 0.0202,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.235,
          "delta": 0.235,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8293,
          "delta": -0.1707,
          "percent_delta": -0.1707,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.056,
          "delta": 0.056,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3381,
          "delta": 0.3381,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6662,
          "delta": -0.3338,
          "percent_delta": -0.3338,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3381,
          "delta": 0.3381,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6662,
          "delta": -0.3338,
          "percent_delta": -0.3338,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1462,
          "after": 0.0,
          "delta": -0.1462,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0202,
          "after": 0.0,
          "delta": -0.0202,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.235,
          "after": 0.0,
          "delta": -0.235,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8293,
          "after": 1.0,
          "delta": 0.1707,
          "percent_delta": 0.2058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.056,
          "after": 0.0,
          "delta": -0.056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3381,
          "after": 0.0,
          "delta": -0.3381,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6662,
          "after": 0.0,
          "delta": -0.6662,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8293,
          "after": 1.0,
          "delta": 0.1707,
          "percent_delta": 0.2058,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.6662,
          "after": 0.0,
          "delta": -0.6662,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.326,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.384,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2392,
          "after": 0.269,
          "delta": 0.0298,
          "percent_delta": 0.1246,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2839,
          "after": 0.326,
          "delta": 0.0421,
          "percent_delta": 0.1483,
          "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.325,
          "after": 0.384,
          "delta": 0.059,
          "percent_delta": 0.1815,
          "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": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "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": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 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_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2392,
        "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.2839,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.325,
        "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.269,
          "after": 0.2392,
          "delta": -0.0298,
          "percent_delta": -0.111,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.2839,
          "delta": -0.0421,
          "percent_delta": -0.1293,
          "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.384,
          "after": 0.325,
          "delta": -0.059,
          "percent_delta": -0.1537,
          "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.384,
          "after": 0.325,
          "delta": -0.059,
          "percent_delta": -0.1537,
          "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": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.031,
        "after": 0.0,
        "delta": -0.031,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.946,
        "after": 3.0,
        "delta": 0.054,
        "percent_delta": 0.0183,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2392,
        "delta": -0.0108,
        "percent_delta": -0.0432,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.194,
        "after": 1.0,
        "delta": 0.806,
        "percent_delta": 4.1546,
        "direction": "boost",
        "projection_effect": "better",
        "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.02,
        "after": 0.0,
        "delta": -0.02,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.281,
        "after": 0.2839,
        "delta": 0.0029,
        "percent_delta": 0.0103,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.349,
        "after": 1.0,
        "delta": 0.651,
        "percent_delta": 1.8653,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.23,
        "after": 1.0,
        "delta": 0.77,
        "percent_delta": 3.3478,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.319,
        "after": 0.325,
        "delta": 0.006,
        "percent_delta": 0.0188,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.574,
        "after": 0.0,
        "delta": -0.574,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 6,
      "deboosted_metrics": 3,
      "better_metrics": 7,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.194,
        "after": 1.0,
        "delta": 0.806,
        "percent_delta": 4.1546,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.574,
        "after": 0.0,
        "delta": -0.574,
        "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.140-
predicted_3B0.031-
predicted_AB2.946-
predicted_AVG0.250-
predicted_BB0.194-
predicted_H0.710-
predicted_HR0.020-
predicted_OBP0.281-
predicted_R0.349-
predicted_RBI0.230-
predicted_SLG0.319-
predicted_SO0.574-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1430.003
predicted_3B0.025-0.006
predicted_AB2.883-0.063
predicted_AVG0.242-0.008
predicted_BB0.179-0.015
predicted_H0.683-0.027
predicted_HBP0.014-
predicted_HR0.018-0.002
predicted_OBP0.278-0.003
predicted_R0.3730.025
predicted_RBI0.211-0.019
predicted_SLG0.316-0.003
predicted_SO0.5890.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.1430.000
predicted_3B0.0250.000
predicted_AB2.8830.000
predicted_AVG0.239-0.003
predicted_BB0.1800.001
predicted_H0.6900.007
predicted_HBP0.0140.000
predicted_HR0.0180.000
predicted_OBP0.2840.006
predicted_R0.3800.006
predicted_RBI0.2150.004
predicted_SLG0.3250.009
predicted_SO0.587-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1460.146
3B0.0200.020
BB0.2350.235
H0.829-0.171
HR0.0560.056
RBI0.3380.338
SO0.666-0.334
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.146
3B0.000-0.020
AB3.0000.000
BB0.000-0.235
H1.0000.171
HR0.000-0.056
R0.0000.000
RBI0.000-0.338
SO0.000-0.666
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.143
predicted_3B0.000-0.025
predicted_AB3.0000.117
predicted_AVG0.2690.030
predicted_BB0.000-0.180
predicted_H1.0000.310
predicted_HR0.000-0.018
predicted_OBP0.3260.042
predicted_R0.000-0.380
predicted_RBI0.000-0.215
predicted_SLG0.3840.059
predicted_SO1.0000.413
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.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: 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-12.0002.0001.0000.0000.0000.0002.0000.0003.0000.16670.16670.25000.16670.00000.00000.00000.2500
last_100.2010-24.0005.0001.0000.0000.0001.0005.0002.0006.0000.20830.26920.25000.20830.00000.04170.08330.2500
season0.60129-380.00098.00018.0004.0002.00034.00045.00025.00074.0000.25790.30660.34210.25790.00530.08950.06580.1947
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1480
predicted_3B0.0170
predicted_AB2.8000
predicted_AVG0.2310
predicted_BB0.1600
predicted_H0.6470
predicted_HBP0.0140
predicted_HR0.0150
predicted_OBP0.2735
predicted_R0.4060
predicted_RBI0.1860
predicted_SLG0.3122
predicted_SO0.6080
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14000.14800.1434model_form_blend
predicted_3B0.03100.01700.0250model_form_blend
predicted_AB2.94602.80002.8832model_form_blend
predicted_AVG0.25000.23100.2418model_form_blend
predicted_BB0.19400.16000.1794model_form_blend
predicted_H0.71000.64700.6829model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.02000.01500.0178model_form_blend
predicted_OBP0.28100.27350.2778model_form_blend
predicted_R0.34900.40600.3735model_form_blend
predicted_RBI0.23000.18600.2111model_form_blend
predicted_SLG0.31900.31220.3161model_form_blend
predicted_SO0.57400.60800.5886model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date394
Season rows before report date394
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
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_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
allPositionsPlayedCF
gameID20260909_HOU@PHI
game_typefull
mlbID702222
playerID702222
playerNameJustin Crawford
posCF
startedTrue
startingPositionCF
teamPHI
teamID21
game_date2026-09-09
sl_k_percent17.5
sl_bb_percent6.0
sl_woba0.293
sl_xwoba0.281
sl_xba0.254
sl_xslg0.316
sl_sweet_spot_percent27.9
sl_barrel_batted_rate1.3
sl_hard_hit_percent36.2
sl_exit_velocity_avg87.3
sl_launch_angle_avg1.5
sl_whiff_percent18.4
sl_swing_percent53.3
Rafael Marchán (665561) · BATTER · C · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 95
All-history rows before 20260910: 95
System season_avg: 0.1020
Data season_avg (2026 season-to-date): 0.0987
Diff (system - data): 0.0033
System opponent_avg: 0.1020

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0000.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0343.0003.000Hitting_AB3.2003.000-0.2000.000
predicted_AVG0.1490.0000.333Hitting_AVG0.0990.000-0.0990.000
predicted_BB0.0690.0000.000Hitting_BB0.0740.000-0.0740.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3900.0001.000Hitting_H0.3160.000-0.3160.000
predicted_HR0.0600.0000.000Hitting_HR0.0840.000-0.0840.000
predicted_OBP0.1800.0000.333Hitting_OBP0.1380.000-0.1380.000
predicted_R0.1720.0000.000Hitting_R0.1890.000-0.1890.000
predicted_RBI0.1900.0000.000Hitting_RBI0.1890.000-0.1890.000
predicted_SLG0.2270.0000.333Hitting_SLG0.1780.000-0.1780.000
predicted_SO0.4831.0001.000Hitting_SO0.5160.0000.4841.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics1
Deboosted Metrics8
Better Metrics0
Worse Metrics9
Biggest Boostpredicted_SO: 0.4830 -> 1.0000 (boost 0.5170, worse)
Biggest Deboostpredicted_H: 0.3900 -> 0.0000 (deboost -0.3900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend00000--Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.2274 -> 0.2053 (deboost -0.0221, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60615-predicted_SO: 0.4543 -> 0.0000 (deboost -0.4543, better)AB rounded to 3 (raw=3.06), rates preserved: AVG=0.140 HR/AB=0.022
6consistency_constraints10101-predicted_R: 0.2053 -> 0.0000 (deboost -0.2053, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine66051predicted_H: 0.0000 -> 0.7749 (boost 0.7749, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_SO: 0.6685 -> 1.0000 (boost 0.3315, worse)predicted_RBI: 0.3757 -> 0.0000 (deboost -0.3757, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context53241predicted_SLG: 0.2053 -> 0.3960 (boost 0.1907, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference11001predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)-Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3960 -> 0.2053 (deboost -0.1907, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665561",
  "player_name": "Rafael Marchán",
  "position": "C",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.034,
        "predicted_AVG": 0.149,
        "predicted_BB": 0.069,
        "predicted_H": 0.39,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.18,
        "predicted_R": 0.172,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.227,
        "predicted_SO": 0.483
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0136,
        "predicted_3B": 0.0011,
        "predicted_AB": 3.0616,
        "predicted_AVG": 0.1461,
        "predicted_BB": 0.0955,
        "predicted_H": 0.4085,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.066,
        "predicted_OBP": 0.1828,
        "predicted_R": 0.2019,
        "predicted_RBI": 0.204,
        "predicted_SLG": 0.2274,
        "predicted_SO": 0.4558
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0136,
          "delta": 0.0136,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0011,
          "delta": 0.0011,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.034,
          "after": 3.0616,
          "delta": 0.0276,
          "percent_delta": 0.0091,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.149,
          "after": 0.1461,
          "delta": -0.0029,
          "percent_delta": -0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.069,
          "after": 0.0955,
          "delta": 0.0265,
          "percent_delta": 0.3841,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.39,
          "after": 0.4085,
          "delta": 0.0185,
          "percent_delta": 0.0474,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.066,
          "delta": 0.006,
          "percent_delta": 0.1,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.18,
          "after": 0.1828,
          "delta": 0.0028,
          "percent_delta": 0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.172,
          "after": 0.2019,
          "delta": 0.0299,
          "percent_delta": 0.1738,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.204,
          "delta": 0.014,
          "percent_delta": 0.0737,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.227,
          "after": 0.2274,
          "delta": 0.0004,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.483,
          "after": 0.4558,
          "delta": -0.0272,
          "percent_delta": -0.0563,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.0136,
        "predicted_3B": 0.0011,
        "predicted_AB": 3.0616,
        "predicted_AVG": 0.1347,
        "predicted_BB": 0.0958,
        "predicted_H": 0.4125,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.0668,
        "predicted_OBP": 0.161,
        "predicted_R": 0.2053,
        "predicted_RBI": 0.2074,
        "predicted_SLG": 0.2053,
        "predicted_SO": 0.4543
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0136,
          "after": 0.0136,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0011,
          "after": 0.0011,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0616,
          "after": 3.0616,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1461,
          "after": 0.1347,
          "delta": -0.0114,
          "percent_delta": -0.078,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0955,
          "after": 0.0958,
          "delta": 0.0003,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4085,
          "after": 0.4125,
          "delta": 0.004,
          "percent_delta": 0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.039,
          "after": 0.039,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.066,
          "after": 0.0668,
          "delta": 0.0008,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1828,
          "after": 0.161,
          "delta": -0.0218,
          "percent_delta": -0.1193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2019,
          "after": 0.2053,
          "delta": 0.0034,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.204,
          "after": 0.2074,
          "delta": 0.0034,
          "percent_delta": 0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2274,
          "after": 0.2053,
          "delta": -0.0221,
          "percent_delta": -0.0972,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4558,
          "after": 0.4543,
          "delta": -0.0015,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2274,
          "after": 0.2053,
          "delta": -0.0221,
          "percent_delta": -0.0972,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.06), rates preserved: AVG=0.140 HR/AB=0.022",
      "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0136,
          "after": 0.0,
          "delta": -0.0136,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0011,
          "after": 0.0,
          "delta": -0.0011,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0616,
          "after": 3.0,
          "delta": -0.0616,
          "percent_delta": -0.0201,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0958,
          "after": 0.0,
          "delta": -0.0958,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4125,
          "after": 0.0,
          "delta": -0.4125,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.039,
          "after": 0.0,
          "delta": -0.039,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0668,
          "after": 0.0,
          "delta": -0.0668,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2074,
          "after": 0.0,
          "delta": -0.2074,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4543,
          "after": 0.0,
          "delta": -0.4543,
          "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.4543,
          "after": 0.0,
          "delta": -0.4543,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2053,
          "after": 0.0,
          "delta": -0.2053,
          "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.2053,
          "after": 0.0,
          "delta": -0.2053,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1382,
        "predicted_3B": 0.0126,
        "predicted_BB": 0.216,
        "predicted_H": 0.7749,
        "predicted_HR": 0.1118,
        "predicted_RBI": 0.3757,
        "predicted_SO": 0.6685
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1382,
          "delta": 0.1382,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0126,
          "delta": 0.0126,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.216,
          "delta": 0.216,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.7749,
          "delta": 0.7749,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1118,
          "delta": 0.1118,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3757,
          "delta": 0.3757,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6685,
          "delta": 0.6685,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.7749,
          "delta": 0.7749,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 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.1382,
          "after": 0.0,
          "delta": -0.1382,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0126,
          "after": 0.0,
          "delta": -0.0126,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.216,
          "after": 0.0,
          "delta": -0.216,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7749,
          "after": 1.0,
          "delta": 0.2251,
          "percent_delta": 0.2905,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1118,
          "after": 0.0,
          "delta": -0.1118,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3757,
          "after": 0.0,
          "delta": -0.3757,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6685,
          "after": 1.0,
          "delta": 0.3315,
          "percent_delta": 0.4959,
          "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.6685,
          "after": 1.0,
          "delta": 0.3315,
          "percent_delta": 0.4959,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3757,
          "after": 0.0,
          "delta": -0.3757,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.396,
        "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.1347,
          "after": 0.241,
          "delta": 0.1063,
          "percent_delta": 0.7892,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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_OBP",
          "before": 0.161,
          "after": 0.294,
          "delta": 0.133,
          "percent_delta": 0.8261,
          "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.2053,
          "after": 0.396,
          "delta": 0.1907,
          "percent_delta": 0.9289,
          "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": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2053,
          "after": 0.396,
          "delta": 0.1907,
          "percent_delta": 0.9289,
          "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": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1347,
        "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.161,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2053,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.241,
          "after": 0.1347,
          "delta": -0.1063,
          "percent_delta": -0.441,
          "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.294,
          "after": 0.161,
          "delta": -0.133,
          "percent_delta": -0.4524,
          "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.396,
          "after": 0.2053,
          "delta": -0.1907,
          "percent_delta": -0.4815,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.396,
          "after": 0.2053,
          "delta": -0.1907,
          "percent_delta": -0.4815,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.034,
        "after": 3.0,
        "delta": -0.034,
        "percent_delta": -0.0112,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.149,
        "after": 0.1347,
        "delta": -0.0143,
        "percent_delta": -0.096,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.069,
        "after": 0.0,
        "delta": -0.069,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "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.18,
        "after": 0.161,
        "delta": -0.019,
        "percent_delta": -0.1056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.172,
        "after": 0.0,
        "delta": -0.172,
        "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.227,
        "after": 0.2053,
        "delta": -0.0217,
        "percent_delta": -0.0956,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.483,
        "after": 1.0,
        "delta": 0.517,
        "percent_delta": 1.0704,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 1,
      "deboosted_metrics": 8,
      "better_metrics": 0,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.483,
        "after": 1.0,
        "delta": 0.517,
        "percent_delta": 1.0704,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.000-
predicted_3B0.000-
predicted_AB3.034-
predicted_AVG0.149-
predicted_BB0.069-
predicted_H0.390-
predicted_HR0.060-
predicted_OBP0.180-
predicted_R0.172-
predicted_RBI0.190-
predicted_SLG0.227-
predicted_SO0.483-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0140.014
predicted_3B0.0010.001
predicted_AB3.0620.028
predicted_AVG0.146-0.003
predicted_BB0.0960.026
predicted_H0.4080.018
predicted_HBP0.039-
predicted_HR0.0660.006
predicted_OBP0.1830.003
predicted_R0.2020.030
predicted_RBI0.2040.014
predicted_SLG0.2270.000
predicted_SO0.456-0.027
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0140.000
predicted_3B0.0010.000
predicted_AB3.0620.000
predicted_AVG0.135-0.011
predicted_BB0.0960.000
predicted_H0.4120.004
predicted_HBP0.0390.000
predicted_HR0.0670.001
predicted_OBP0.161-0.022
predicted_R0.2050.003
predicted_RBI0.2070.003
predicted_SLG0.205-0.022
predicted_SO0.454-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1380.138
3B0.0130.013
BB0.2160.216
H0.7750.775
HR0.1120.112
RBI0.3760.376
SO0.6680.668
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.138
3B0.000-0.013
AB3.0000.000
BB0.000-0.216
H1.0000.225
HR0.000-0.112
R0.0000.000
RBI0.000-0.376
SO1.0000.332
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.014
predicted_3B0.000-0.001
predicted_AB3.000-0.062
predicted_AVG0.2410.106
predicted_BB0.000-0.096
predicted_H0.000-0.412
predicted_HR0.000-0.067
predicted_OBP0.2940.133
predicted_R0.000-0.205
predicted_RBI0.000-0.207
predicted_SLG0.3960.191
predicted_SO0.000-0.454
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.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: 29
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.0001.0001.0000.0000.07690.14290.07690.07690.00000.00000.07690.0000
last_100.2010-27.0004.0000.0000.0001.0002.0002.0001.0001.0000.14810.17860.25930.14820.03700.07410.03700.0370
season0.6029-88.0009.0000.0000.0002.0006.0005.0002.00014.0000.10230.14130.17050.10230.02270.06820.02270.1591
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0360
predicted_3B0.0030
predicted_AB3.1070
predicted_AVG0.1412
predicted_BB0.1390
predicted_H0.4390
predicted_HBP0.0390
predicted_HR0.0760
predicted_OBP0.1875
predicted_R0.2510
predicted_RBI0.2270
predicted_SLG0.2280
predicted_SO0.4110
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.03600.0136model_form_blend
predicted_3B0.00000.00300.0011model_form_blend
predicted_AB3.03403.10703.0616model_form_blend
predicted_AVG0.14900.14120.1461model_form_blend
predicted_BB0.06900.13900.0955model_form_blend
predicted_H0.39000.43900.4085model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.06000.07600.0660model_form_blend
predicted_OBP0.18000.18750.1828model_form_blend
predicted_R0.17200.25100.2019model_form_blend
predicted_RBI0.19000.22700.2040model_form_blend
predicted_SLG0.22700.22800.2274model_form_blend
predicted_SO0.48300.41100.4558model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date95
Season rows before report date95
Report year2026
Profile rows 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
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_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
allPositionsPlayedC
gameID20260722_LAD@PHI
game_typefull
mlbID665561
playerID665561
playerNameRafael Marchán
posC
startedTrue
startingPositionC
teamPHI
teamID21
game_date2026-07-22
game_pk823438.0
sl_k_percent15.2
sl_bb_percent2.2
sl_woba0.143
sl_xwoba0.208
sl_xba0.181
sl_xslg0.248
sl_sweet_spot_percent32.4
sl_barrel_batted_rate2.7
sl_hard_hit_percent18.9
sl_exit_velocity_avg83.2
sl_launch_angle_avg25.4
sl_whiff_percent16.7
sl_swing_percent49.7
at_bat_number63.0
ab_pitcher694361.0
ab_pitcher_nameKlein, Will
ab_home_teamPHI
ab_away_teamLAD
ab_game_typeR
ab_standL
ab_p_throwsR
ab_inning8.0
ab_inning_topbotBot
ab_outs_when_up0.0
ab_balls_start0.0
ab_strikes_start0.0
ab_home_score_start3.0
ab_away_score_start9.0
ab_bat_score_start3.0
ab_fld_score_start9.0
ab_eventfield_out
ab_event_descriptionRafael Marchán pops out to shortstop Mookie Betts.
ab_event_typeX
ab_bb_typepopup
ab_hit_location6.0
ab_pitch_type_lastFF
ab_pitch_name_last4-Seam Fastball
ab_zone_last1.0
ab_launch_speed_last85.7
ab_launch_angle_last62.0
ab_hit_distance_last167.0
ab_estimated_ba_last0.014
ab_estimated_woba_last0.016
ab_estimated_slg_last0.023
ab_woba_value0.0
ab_woba_denom1.0
ab_babip_value0.0
ab_iso_value0.0
ab_balls_end1.0
ab_strikes_end2.0
ab_home_score_end3.0
ab_away_score_end9.0
ab_bat_score_end3.0
ab_fld_score_end9.0
ab_pitch_count4.0
ab_release_speed_avg94.95
ab_release_spin_rate_avg2436.25
ab_effective_speed_avg96.15
ab_launch_speed_avg85.7
ab_launch_angle_avg62.0
ab_delta_run_exp_avg-0.06625
ab_delta_home_win_exp_avg-0.001
ab_delta_pitcher_run_exp_avg0.06625
ab_bat_speed_avg60.56666666666667
ab_swing_length_avg6.433333333333333
ab_launch_speed_max85.7
ab_hit_distance_sc_max167.0
ab_release_speed_max97.2
ab_release_spin_rate_max2706.0
ab_release_speed_min89.2
ab_release_spin_rate_min2237.0
ab_delta_run_exp_sum-0.265
ab_delta_home_win_exp_sum-0.004
ab_delta_pitcher_run_exp_sum0.265
ab_result_is_hitFalse
ab_result_is_walkFalse
ab_result_is_strikeoutFalse
ab_result_is_hbpFalse
Zack Wheeler (554430) · PITCHER · Starter · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 24
All-history rows before 20260910: 24

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.7922.000-0.792-1.000
predicted_ER3.0003.0003.000Pitching_ER2.0421.0000.9582.000
predicted_H7.0007.0007.000Pitching_H4.3333.0002.6674.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.6126.000-0.412-0.800
predicted_SO6.0006.0006.000Pitching_SO6.7929.000-0.792-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics4
Boosted Metrics1
Deboosted Metrics3
Better Metrics3
Worse Metrics1
Biggest Boostpredicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better)
Biggest Deboostpredicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail31221predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better)predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final10110-predicted_H: 8.0000 -> 7.0000 (deboost -1.0000, better)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "554430",
  "player_name": "Zack Wheeler",
  "position": "Starter",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 4.0,
        "predicted_H": 8.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 8.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 8.0,
          "after": 8.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 7.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_R": 3.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 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": 8.0,
          "after": 7.0,
          "delta": -1.0,
          "percent_delta": -0.125,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.2,
          "after": 5.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 8.0,
          "after": 7.0,
          "delta": -1.0,
          "percent_delta": -0.125,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 3.0,
        "delta": -1.0,
        "percent_delta": -0.25,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 8.0,
        "after": 7.0,
        "delta": -1.0,
        "percent_delta": -0.125,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 1,
      "deboosted_metrics": 3,
      "better_metrics": 3,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 3.0,
        "delta": -1.0,
        "percent_delta": -0.25,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER4.000-
predicted_H8.000-
predicted_HR0.000-
predicted_IP5.667-
predicted_SO5.000-
2. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER3.000-1.000
predicted_H8.0000.000
predicted_HR0.0000.000
predicted_IP5.200-0.467
predicted_SO6.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.45526.00016.00024.00015.00031.0006.0005.53851.50000.61540.92310.57691.19230.2308
last_100.351049.10027.00045.00023.00065.00010.0004.92571.37840.54730.91220.46621.31760.2027
season0.2024136.10049.000104.00043.000163.00020.0003.23471.07820.35940.76280.31541.19560.1467
Weighted Prediction From Real Data
MetricValue
predicted_BB2.4940
predicted_ER2.8560
predicted_ERA4.8052
predicted_H4.8250
predicted_HR1.0390
predicted_IP5.1000
predicted_SO6.3420
predicted_WHIP1.3682
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00002.49401.8623model_form_blend
predicted_ER4.00002.85603.3397model_form_blend
predicted_ERA-4.80524.8052form_only
predicted_H8.00004.82506.1675model_form_blend
predicted_HR0.00001.03900.5997model_form_blend
predicted_IP5.20005.10005.1000model_form_blend
predicted_SO5.00006.34205.7746model_form_blend
predicted_WHIP-1.36821.3682form_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
H7
R3
ER3
BB1
SO6
HR0
BF26
Pitches108

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced23
Pitching_ER1
Pitching_ERA3.23
Pitching_Flyouts6
Pitching_Groundouts2
Pitching_H3
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches95
Pitching_R1
Pitching_SO9
Pitching_Strikes63
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260905_ATL@PHI
game_typefull
mlbID554430
playerID554430
playerNameZack Wheeler
posP
startedTrue
startingPositionP
teamPHI
teamID21
game_date2026-09-05
sl_k_percent29.8
sl_bb_percent7.9
sl_woba0.287
sl_xwoba0.271
sl_sweet_spot_percent34.4
sl_barrel_batted_rate6.3
sl_hard_hit_percent35.0
sl_whiff_percent31.1
sl_swing_percent49.5
sl_avg_best_speed74.928976548
sl_avg_hyper_speed93.42579247
Jhoan Duran (661395) · PITCHER · Closer · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 56
All-history rows before 20260910: 56

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.1610.0000.8391.000
predicted_ER0.0000.0000.000Pitching_ER0.1790.000-0.1790.000
predicted_H0.0000.0000.000Pitching_H0.8210.000-0.8210.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9361.0000.0640.000
predicted_SO0.0000.0000.000Pitching_SO1.3212.000-1.321-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": "661395",
  "player_name": "Jhoan Duran",
  "position": "Closer",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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: 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.4556.0001.0005.0001.0007.0000.0001.50001.00000.16670.83330.16671.16670.0000
last_100.351011.0002.00011.0002.00015.0000.0001.63641.18180.18181.00000.18181.36360.0000
season0.205453.1008.00043.0009.00074.0001.0001.35000.97500.15000.80630.16881.38750.0187
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2600
predicted_ER0.3030
predicted_ERA2.4722
predicted_H1.0070
predicted_HR0.0540
predicted_IP1.0000
predicted_SO1.2920
predicted_WHIP1.1493
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.26000.6182model_form_blend
predicted_ER0.00000.30300.1563model_form_blend
predicted_ERA-2.47222.4722form_only
predicted_H0.00001.00700.5196model_form_blend
predicted_HR0.00000.05400.0279model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.29200.6667model_form_blend
predicted_WHIP-1.14931.1493form_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
IP1.0
H0
R0
ER0
BB1
SO0
HR0
BF4
Pitches19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA1.69
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO2
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260909_HOU@PHI
game_typefull
mlbID661395
playerID661395
playerNameJhoan Duran
posP
startedFalse
startingPositionP
teamPHI
teamID21
game_date2026-09-09
sl_k_percent34.6
sl_bb_percent4.2
sl_woba0.248
sl_xwoba0.222
sl_sweet_spot_percent22.8
sl_barrel_batted_rate3.2
sl_hard_hit_percent40.2
sl_whiff_percent35.6
sl_swing_percent52.6
sl_avg_best_speed80.192132742
sl_avg_hyper_speed94.210289675
Jonathan Bowlan (680742) · PITCHER · Setup Man · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 56
All-history rows before 20260910: 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.2500.000-0.2500.000
predicted_ER0.0000.0000.000Pitching_ER0.3391.000-0.339-1.000
predicted_H0.0000.0000.000Pitching_H0.7142.000-0.714-2.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8891.0000.1110.000
predicted_SO0.0000.0000.000Pitching_SO1.2141.000-1.214-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": "680742",
  "player_name": "Jonathan Bowlan",
  "position": "Setup Man",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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: 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.4555.1004.0005.0000.0008.0003.0006.75000.93750.75000.93750.00001.50000.5625
last_100.351010.1006.0009.0004.00015.0003.0005.22581.25810.58060.87100.38711.45160.2903
season0.205654.00019.00040.00014.00068.0007.0003.16671.00000.35180.74070.25931.25930.1296
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2450
predicted_ER0.5770
predicted_ERA5.1938
predicted_H0.9060
predicted_HR0.3070
predicted_IP1.0000
predicted_SO1.2790
predicted_WHIP1.1510
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.24500.1267model_form_blend
predicted_ER0.00000.57700.2984model_form_blend
predicted_ERA-5.19385.1938form_only
predicted_H0.00000.90600.4685model_form_blend
predicted_HR0.00000.30700.1588model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.27900.6614model_form_blend
predicted_WHIP-1.15101.1510form_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 used56
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_ERA3.17
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches21
Pitching_R1
Pitching_SO1
Pitching_Strikes14
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260909_HOU@PHI
game_typefull
mlbID680742
playerID680742
playerNameJonathan Bowlan
posP
startedFalse
startingPositionP
teamPHI
teamID21
game_date2026-09-09
sl_k_percent31.3
sl_bb_percent6.5
sl_woba0.267
sl_xwoba0.26
sl_sweet_spot_percent36.4
sl_barrel_batted_rate6.8
sl_hard_hit_percent35.6
sl_whiff_percent31.0
sl_swing_percent50.2
sl_avg_best_speed75.489905692
sl_avg_hyper_speed93.135058769
Orion Kerkering (689147) · PITCHER · Middle Reliever (High Leverage) · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 60
All-history rows before 20260910: 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.4831.000-0.483-1.000
predicted_ER1.0001.0001.000Pitching_ER0.4172.0000.583-1.000
predicted_H1.0001.0001.000Pitching_H0.7001.0000.3000.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7981.0000.2020.000
predicted_SO0.0000.0000.000Pitching_SO0.9500.000-0.9500.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics2
Deboosted Metrics1
Better Metrics0
Worse Metrics3
Biggest Boostpredicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)
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
2pitcher_quality_run_redistribution22002predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse)-Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
3current_json_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": "689147",
  "player_name": "Orion Kerkering",
  "position": "Middle Reliever (High Leverage)",
  "team": "PHI",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_run_redistribution",
      "description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.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": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.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": 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": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.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": 3,
      "boosted_metrics": 2,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

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

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 59
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0005.0006.0003.0003.0001.0009.00001.80001.00001.20000.60000.60000.2000
last_100.35109.1008.00011.0003.0006.0001.0007.71431.50000.85711.17860.32140.64290.1071
season0.205954.20025.00042.00029.00057.0004.0004.11591.29880.45730.76830.53051.04270.0732
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4520
predicted_ER0.7360
predicted_ERA6.6230
predicted_H1.0650
predicted_HR0.1440
predicted_IP1.0000
predicted_SO0.7770
predicted_WHIP1.5167
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.45200.2342model_form_blend
predicted_ER0.00000.73600.3814model_form_blend
predicted_ERA-6.62306.6230form_only
predicted_H0.00001.06500.5519model_form_blend
predicted_HR0.00000.14400.0746model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.77700.8844model_form_blend
predicted_WHIP-1.51671.5167form_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
H1
R1
ER1
BB0
SO0
HR0
BF4
Pitches16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER2
Pitching_ERA4.12
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches20
Pitching_R2
Pitching_SO0
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260904_ATL@PHI
game_typefull
mlbID689147
playerID689147
playerNameOrion Kerkering
posP
startedFalse
startingPositionP
teamPHI
teamID21
game_date2026-09-04
sl_k_percent23.5
sl_bb_percent11.9
sl_woba0.298
sl_xwoba0.288
sl_sweet_spot_percent34.4
sl_barrel_batted_rate6.0
sl_hard_hit_percent31.1
sl_whiff_percent25.9
sl_swing_percent42.5
sl_avg_best_speed73.869521467
sl_avg_hyper_speed92.694225302
Brooks Raley (548384) · PITCHER · Middle Reliever (High Leverage) · Team PHI
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 12
All-history rows before 20260910: 12

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.1671.0000.8330.000
predicted_ER0.0000.0000.000Pitching_ER0.3331.000-0.333-1.000
predicted_H0.0000.0000.000Pitching_H0.7501.000-0.750-1.000
predicted_IP0.1000.1000.100Pitching_InningsPitched0.6421.000-0.542-0.900
predicted_SO1.0001.0001.000Pitching_SO0.7501.0000.2500.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.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: 57
Reference playing time: 0.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4552.2001.0004.0001.0001.0001.0003.37501.87500.37501.50000.37500.37500.3750
last_100.35107.1002.0006.0001.0006.0002.0002.45450.95450.27270.81820.13640.81820.2727
season0.205750.20013.00039.00017.00049.0005.0002.30921.10530.25660.76970.33550.96710.0987
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1880
predicted_ER0.2270
predicted_ERA3.3937
predicted_H0.6430
predicted_HR0.1440
predicted_IP0.2000
predicted_SO0.4480
predicted_WHIP1.3810
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.18800.5849model_form_blend
predicted_ER0.00000.22700.1161model_form_blend
predicted_ERA-3.39373.3937form_only
predicted_H0.00000.64300.3287model_form_blend
predicted_HR0.00000.14400.0736model_form_blend
predicted_IP0.10000.20000.2000model_form_blend
predicted_SO1.00000.44800.7178model_form_blend
predicted_WHIP-1.38101.3810form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.1
H0
R0
ER0
BB1
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_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA2.31
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches22
Pitching_R1
Pitching_SO1
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260908_HOU@PHI
game_typefull
mlbID548384
playerID548384
playerNameBrooks Raley
posP
startedFalse
startingPositionP
teamPHI
teamID21
game_date2026-09-08
sl_k_percent23.6
sl_bb_percent8.2
sl_woba0.284
sl_xwoba0.297
sl_sweet_spot_percent39.6
sl_barrel_batted_rate5.8
sl_hard_hit_percent30.2
sl_whiff_percent23.6
sl_swing_percent46.6
sl_avg_best_speed75.359137879
sl_avg_hyper_speed93.054434394

20260910_PIT@CHW

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.52828377125, "home_win_probability": 0.47171622874999997, "away_win_probability": 0.52828377125, "predicted_score_text": "PIT 4 - 3 CHW", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "PIT", "original_runs": 4, "run_delta": -0.1236, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 34.0, "quality": 0.08917148121403316, "contact": 0.16184602625583852, "power": 0.27421513450285895, "discipline": -0.08038598044198882, "xwoba": 0.3245588235294118, "recent_xwoba": 0.3245588235294118, "barrel": 8.855882352941176, "ab_hard_contact": 0.2629469477602675, "ab_bat_speed": 70.74726524189704, "ab_strikeout_rate": 0.24304067565340695, "available_players": 9, "top_players": [{"player_id": "665833", "player_name": "Oneil Cruz", "position": "CF", "weight": 4.0, "quality": 0.947697053924136, "contact": 0.7942363830868163, "power": 1.7273442672155208, "discipline": -0.5397110260770972, "xwoba": 0.352, "recent_xwoba": 0.352, "barrel": 16.9, "ab_hard_contact": 1.2735520109770868, "ab_bat_speed": 76.94591362847223, "ab_strikeout_rate": 0.36822916666666666, "available": 1.0}, {"player_id": "663968", "player_name": "Jake Mangum", "position": "RF", "weight": 3.0, "quality": -0.7938943242265822, "contact": -0.6293643731795419, "power": -1.096795462776521, "discipline": -0.19765730689438873, "xwoba": 0.284, "recent_xwoba": 0.284, "barrel": 1.9, "ab_hard_contact": -1.254385446006615, "ab_bat_speed": 65.54307467916244, "ab_strikeout_rate": 0.19710401891252957, "available": 1.0}, {"player_id": "668804", "player_name": "Bryan Reynolds", "position": "LF", "weight": 4.0, "quality": 0.748124533061944, "contact": 0.8041564023653028, "power": 0.9049272114262943, "discipline": 0.3671086167800456, "xwoba": 0.361, "recent_xwoba": 0.361, "barrel": 11.5, "ab_hard_contact": 0.5103537523354146, "ab_bat_speed": 71.03007460317461, "ab_strikeout_rate": 0.23055238095238095, "available": 1.0}, {"player_id": "669707", "player_name": "Jared Triolo", "position": "SS", "weight": 3.0, "quality": -0.4771391855026121, "contact": -0.3670692277538688, "power": -0.8552187266542972, "discipline": 0.09544011419828993, "xwoba": 0.289, "recent_xwoba": 0.289, "barrel": 2.6, "ab_hard_contact": -0.4098983426097305, "ab_bat_speed": 67.87563013960605, "ab_strikeout_rate": 0.2123637406769937, "available": 1.0}, {"player_id": "804668", "player_name": "Rafael Flores Jr.", "position": "C", "weight": 4.0, "quality": 0.18139226935258798, "contact": 0.5495594965540778, "power": 1.3405464116484307, "discipline": -0.23827352607709737, "xwoba": 0.3499999999999999, "recent_xwoba": 0.35, "barrel": 14.699999999999998, "ab_hard_contact": 0.8932139472543419, "ab_bat_speed": 71.8431076388889, "ab_strikeout_rate": 0.26979166666666665, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "696146", "player_name": "Hagen Smith", "quality": 0.07376620293112043, "contact": 1.2648031958666106, "command": 0.8386854256854256, "movement": 0.4338929696849739, "xwoba": 0.264, "whiff": 35.3, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}, "home": {"team": "CHW", "original_runs": 3, "run_delta": -0.2473, "adjusted_runs": 3, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.16451576373197713, "contact": 0.06535553952749988, "power": 0.27851424768819216, "discipline": 0.1345991249026775, "xwoba": 0.3235454545454546, "recent_xwoba": 0.3235454545454546, "barrel": 9.330303030303032, "ab_hard_contact": 0.06276403024292221, "ab_bat_speed": 69.36652678284659, "ab_strikeout_rate": 0.24632810659598284, "available_players": 9, "top_players": [{"player_id": "678246", "player_name": "Miguel Vargas", "position": "3B", "weight": 4.0, "quality": 1.1288658594366126, "contact": 1.11561747575704, "power": 1.2975689861171729, "discipline": 0.9492171340080751, "xwoba": 0.383, "recent_xwoba": 0.383, "barrel": 13.6, "ab_hard_contact": 0.9203321032958462, "ab_bat_speed": 72.84117302232546, "ab_strikeout_rate": 0.1792295780100658, "available": 1.0}, {"player_id": "808959", "player_name": "Munetaka Murakami", "position": "1B", "weight": 4.0, "quality": 0.7860404846675634, "contact": 0.30221539943106257, "power": 1.6875680907394468, "discipline": 0.016110733182161774, "xwoba": 0.344, "recent_xwoba": 0.344, "barrel": 18.9, "ab_hard_contact": 1.0062189576460776, "ab_bat_speed": 73.1002725308642, "ab_strikeout_rate": 0.34883597883597883, "available": 1.0}, {"player_id": "805367", "player_name": "Chase Meidroth", "position": "2B", "weight": 4.0, "quality": -0.4678389892346668, "contact": -0.4062848457060403, "power": -0.6779087576831904, "discipline": 0.27940309457116197, "xwoba": 0.292, "recent_xwoba": 0.292, "barrel": 4.1, "ab_hard_contact": -0.7231275346161843, "ab_bat_speed": 64.24297362278244, "ab_strikeout_rate": 0.23047218887555024, "available": 1.0}, {"player_id": "668670", "player_name": "Jake Rogers", "position": "C", "weight": 3.0, "quality": -0.3096845497355426, "contact": -0.9920983442197305, "power": -0.3031161747628424, "discipline": 0.18483289087992966, "xwoba": 0.269, "recent_xwoba": 0.269, "barrel": 9.7, "ab_hard_contact": -0.6322282571616124, "ab_bat_speed": 67.75366192411924, "ab_strikeout_rate": 0.2821138211382114, "available": 1.0}, {"player_id": "643217", "player_name": "Andrew Benintendi", "position": "DH", "weight": 3.0, "quality": 0.19630880495936603, "contact": 0.17695948825560148, "power": 0.37411466213264366, "discipline": -0.20300695593552706, "xwoba": 0.315, "recent_xwoba": 0.315, "barrel": 8.9, "ab_hard_contact": 0.1870551474147824, "ab_bat_speed": 68.49523423423423, "ab_strikeout_rate": 0.2608108108108108, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "683003", "player_name": "Jared Jones", "quality": 0.3819349813749794, "contact": 0.2091955073500232, "command": 0.4712568542568545, "movement": 1.141977538306979, "xwoba": 0.295, "whiff": 32.0, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}}, "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.2308, "recent_form_edge_home_minus_away": -1.15, "pitcher_matchup_edge_home_minus_away": 0.0417, "composite_home_edge": -0.5027, "existing_home_win_probability": 0.4366, "refreshed_home_win_probability": 0.3, "winner_support_before_review": 0.5027}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.436619, "uncapped_away_win_probability": 0.563381, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.563381, "discount_factor": 0.44625, "published_confidence": 0.528284, "guardrail_confidence_cap": null, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "opposing_starter_is_elite", "factor": 0.7}, {"reason": "starter_quality_favours_the_other_side", "factor": 0.75}, {"reason": "projected_margin_is_one_run", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.3, "incoming_favoured_side": "away", "score_winner_side": "away", "published_home_win_probability": 0.471716, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: opposing_starter_is_elite x0.70, starter_quality_favours_the_other_side x0.75, projected_margin_is_one_run x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 3, "predicted_score_text": "PIT 4 - 3 CHW", "confidence": 0.52828377125, "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": "PIT 4 - 3 CHW", "winner": "PIT"}, "final_simulation_score": {"away_runs": 4, "home_runs": 3, "score_text": "PIT 4 - 3 CHW", "winner": "PIT"}, "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.0417, "recent_form_edge_home_minus_away": -1.15, "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": "PIT", "model_winner": "PIT", "simulation_winner": "PIT", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 2, "published_winner": "PIT", "published_winner_draw_share": 1.0, "draw_majority_team": "PIT", "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": 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.2308, "winner": "PIT", "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": "PIT", "display_confidence": 0.5283, "internal_signal_score": 0.6104, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5283, "confidence_compression_detected": true, "moneyline_fit": "unavailable_without_market_price", "betting_status": "price_required_before_betting_analysis", "market_context": null, "margin_fit": "moneyline_preferred_over_margin", "totals_fit": "low_total_lean", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": 0.2308, "winner_recent_form_edge": 0.8, "winner_pitcher_matchup_edge": -0.0417, "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": 1.0, "total_runs_spread": {"min": 3, "median": 5, "max": 5, "range": 2}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionPIT 4 - 3 CHWPIT0.528enhanced_prediction.pre_simulation_targetTrue
Simulation drawPIT 4 - 3 CHWPIT-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.6290; empirical=0.5420; weight=0.5000; final=0.5855
P1H2H margin as base featureavailablehome net=-8; abs=8; home delta=-0.0600; away delta=0.0600
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=1.7500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=0.0757; recent edge=-0.8000; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.2000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5283
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.8675.499-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction430.5283Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by opposing_starter_is_elite, starter_quality_favours_the_other_side, projected_margin_is_one_run)
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.7528134702028736,
  "base_low_score_probability": 0.43099695254680015,
  "low_score_signal_threshold": 0.5109969525468001,
  "low_score_signal_strength": 0.32181651765607344,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.08,
    "situational": 1.04,
    "combined": 1.7466793344000007
  },
  "prediction": "low_scoring",
  "expected_total_runs": 7,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.2,
  "low_score_model_expected_total_runs": 6.2,
  "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": 417,
  "near_bucket_sample_size": 417,
  "medium_bucket_sample_size": 573,
  "wide_bucket_sample_size": 653,
  "global_sample_size": 882,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.542,
  "bayesian_hit_rate": 0.5402,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5,
  "raw_pick_probability_unclamped": 0.4603,
  "score_probability_conflict": true,
  "margin_implied_home_probability": 0.427,
  "margin_implied_pick_probability": 0.573,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5329,
  "score_implied_floor_pick_probability": 0.5711,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.539683,
  "uncapped_away_win_probability": 0.460317,
  "calibrated_pick_probability": 0.5711,
  "predicted_side": "away",
  "reliability": 0.958621,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.973103
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.629048,
  "sample_size": 417,
  "empirical_hit_rate": 0.542,
  "empirical_weight": 0.5,
  "blended_confidence": 0.585524,
  "published_confidence": 0.528284,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 2,
  "sample_weight": 0.03,
  "home_net_margin": -8.0,
  "absolute_net_margin": 8.0,
  "home_average_margin": -4.0,
  "home_run_delta": -0.06,
  "away_run_delta": 0.06,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -6.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": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172413793103449,
    "runs_scored": 685,
    "runs_allowed": 644,
    "run_differential": 41,
    "run_differential_per_game": 0.2827586206896552,
    "available": true
  },
  "away": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707,
    "runs_allowed": 673,
    "run_differential": 34,
    "run_differential_per_game": 0.2328767123287671,
    "available": true
  },
  "run_differential_edge_per_game": 0.0499,
  "win_pct_edge": 0.0172,
  "quality_edge": -0.2308,
  "season_quality_edge": 0.0757,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.0757,
    "recent_quality_edge": -0.8,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.2308
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.02911215006433469
    },
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.02722371235914164
    },
    {
      "home_runs": 3,
      "away_runs": 5,
      "probability": 0.026953674201821667
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.026903604280260774
    },
    {
      "home_runs": 2,
      "away_runs": 4,
      "probability": 0.02616032970231603
    }
  ],
  "home_distribution": {
    "0": 0.07620880718497486,
    "1": 0.12297759570657496,
    "2": 0.164798004659398,
    "3": 0.18339311073447895,
    "4": 0.16948029149420443,
    "5": 0.1300650177448681,
    "6": 0.0828909131275855,
    "7": 0.04386907328966142,
    "8": 0.019280358891678465,
    "9": 0.007036827166575485
  },
  "away_distribution": {
    "0": 0.05113097641038225,
    "1": 0.08424822145632826,
    "2": 0.12018607602565262,
    "3": 0.14844457488131493,
    "4": 0.15874178668839953,
    "5": 0.146972119584393,
    "6": 0.11781359554254339,
    "7": 0.08176597558149001,
    "8": 0.04913224342253772,
    "9": 0.025560969753845496,
    "10": 0.011513432457348373,
    "11": 0.004490028195764464
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.75,
  "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": "PIT",
    "opponent_team": "CHW",
    "h2h_net_margin": 8,
    "recent_h2h": [
      {
        "date": "2026-09-09",
        "predicted_team_runs": 4,
        "opponent_runs": 2,
        "margin_for_predicted_team": 2,
        "winner": "PIT"
      },
      {
        "date": "2026-09-08",
        "predicted_team_runs": 9,
        "opponent_runs": 3,
        "margin_for_predicted_team": 6,
        "winner": "PIT"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 2,
      "consecutive_same_pick_count": 1,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260909",
          "away": "PIT",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "PIT",
          "actual_winner": "PIT",
          "actual_margin": 2,
          "raw_pick_probability": 0.598407,
          "artifact": "20260909_PIT@CHW.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260908",
          "away": "PIT",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "PIT",
          "actual_margin": 6,
          "raw_pick_probability": 0.519276,
          "artifact": "20260908_PIT@CHW.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "PIT",
    "guardrail_opponent_team": "CHW",
    "output_pre_simulation_winner": "PIT",
    "output_opponent_team": "CHW",
    "simulation_score_winner": "PIT",
    "final_score_winner": "PIT",
    "pre_simulation_winner": "PIT",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "PIT 4 - 3 CHW",
      "winner": "PIT"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "PIT 4 - 3 CHW",
      "winner": "PIT"
    },
    "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.0417,
      "recent_form_edge_home_minus_away": -1.15,
      "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": "PIT",
      "model_winner": "PIT",
      "simulation_winner": "PIT",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "PIT",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "PIT",
        "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": 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.2308,
      "winner": "PIT",
      "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": "CHW",
      "games": 145,
      "wins": 75,
      "losses": 70,
      "win_pct": 0.5172413793103449,
      "runs_scored": 685,
      "runs_allowed": 644,
      "run_differential": 41,
      "run_differential_per_game": 0.2827586206896552,
      "available": true
    },
    "away": {
      "team": "PIT",
      "games": 146,
      "wins": 73,
      "losses": 73,
      "win_pct": 0.5,
      "runs_scored": 707,
      "runs_allowed": 673,
      "run_differential": 34,
      "run_differential_per_game": 0.2328767123287671,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.89,
  "final_margin": -0.89,
  "margin_cap": 1.5,
  "season_quality_edge": 0.2308,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.585524,
  "final_confidence": 0.5711,
  "calibrated_pick_probability": 0.5711,
  "shrinkage_weight": 0.973103,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.89,
  "calibration_sample_size": 417,
  "calibration_empirical_hit_rate": 0.542,
  "calibration_bayesian_hit_rate": 0.5402,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.2308,
  "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.428919,
    "margin_implied_home_probability": 0.418049,
    "shrinkage_weight": 0.973103,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.428919,
    "aligned_pick_probability": 0.571081
  },
  "starter_experience": {
    "applied": true,
    "min_starter_games": 10,
    "per_starter_career_games": {
      "696146": 10,
      "683003": 17
    },
    "shrink_factor": 0.8917,
    "probability_before": 0.428919,
    "probability_after": 0.436619,
    "reason": "inexperienced starter (debut/thin history): confidence shrunk toward 0.5 by career-games factor; winner unchanged"
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 3,
    "score_text": "PIT 4 - 3 CHW",
    "winner": "PIT"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 3,
    "score_text": "PIT 4 - 3 CHW",
    "winner": "PIT"
  },
  "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.0417,
    "recent_form_edge_home_minus_away": -1.15,
    "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": "PIT",
    "model_winner": "PIT",
    "simulation_winner": "PIT",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 2,
      "published_winner": "PIT",
      "published_winner_draw_share": 1.0,
      "draw_majority_team": "PIT",
      "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": 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.2308,
    "winner": "PIT",
    "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.52828377125,
  "home_win_probability": 0.47171622874999997,
  "away_win_probability": 0.52828377125,
  "predicted_score_text": "PIT 4 - 3 CHW",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "PIT",
      "original_runs": 4,
      "run_delta": -0.1236,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 34.0,
        "quality": 0.08917148121403316,
        "contact": 0.16184602625583852,
        "power": 0.27421513450285895,
        "discipline": -0.08038598044198882,
        "xwoba": 0.3245588235294118,
        "recent_xwoba": 0.3245588235294118,
        "barrel": 8.855882352941176,
        "ab_hard_contact": 0.2629469477602675,
        "ab_bat_speed": 70.74726524189704,
        "ab_strikeout_rate": 0.24304067565340695,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "665833",
            "player_name": "Oneil Cruz",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.947697053924136,
            "contact": 0.7942363830868163,
            "power": 1.7273442672155208,
            "discipline": -0.5397110260770972,
            "xwoba": 0.352,
            "recent_xwoba": 0.352,
            "barrel": 16.9,
            "ab_hard_contact": 1.2735520109770868,
            "ab_bat_speed": 76.94591362847223,
            "ab_strikeout_rate": 0.36822916666666666,
            "available": 1.0
          },
          {
            "player_id": "663968",
            "player_name": "Jake Mangum",
            "position": "RF",
            "weight": 3.0,
            "quality": -0.7938943242265822,
            "contact": -0.6293643731795419,
            "power": -1.096795462776521,
            "discipline": -0.19765730689438873,
            "xwoba": 0.284,
            "recent_xwoba": 0.284,
            "barrel": 1.9,
            "ab_hard_contact": -1.254385446006615,
            "ab_bat_speed": 65.54307467916244,
            "ab_strikeout_rate": 0.19710401891252957,
            "available": 1.0
          },
          {
            "player_id": "668804",
            "player_name": "Bryan Reynolds",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.748124533061944,
            "contact": 0.8041564023653028,
            "power": 0.9049272114262943,
            "discipline": 0.3671086167800456,
            "xwoba": 0.361,
            "recent_xwoba": 0.361,
            "barrel": 11.5,
            "ab_hard_contact": 0.5103537523354146,
            "ab_bat_speed": 71.03007460317461,
            "ab_strikeout_rate": 0.23055238095238095,
            "available": 1.0
          },
          {
            "player_id": "669707",
            "player_name": "Jared Triolo",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.4771391855026121,
            "contact": -0.3670692277538688,
            "power": -0.8552187266542972,
            "discipline": 0.09544011419828993,
            "xwoba": 0.289,
            "recent_xwoba": 0.289,
            "barrel": 2.6,
            "ab_hard_contact": -0.4098983426097305,
            "ab_bat_speed": 67.87563013960605,
            "ab_strikeout_rate": 0.2123637406769937,
            "available": 1.0
          },
          {
            "player_id": "804668",
            "player_name": "Rafael Flores Jr.",
            "position": "C",
            "weight": 4.0,
            "quality": 0.18139226935258798,
            "contact": 0.5495594965540778,
            "power": 1.3405464116484307,
            "discipline": -0.23827352607709737,
            "xwoba": 0.3499999999999999,
            "recent_xwoba": 0.35,
            "barrel": 14.699999999999998,
            "ab_hard_contact": 0.8932139472543419,
            "ab_bat_speed": 71.8431076388889,
            "ab_strikeout_rate": 0.26979166666666665,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "696146",
        "player_name": "Hagen Smith",
        "quality": 0.07376620293112043,
        "contact": 1.2648031958666106,
        "command": 0.8386854256854256,
        "movement": 0.4338929696849739,
        "xwoba": 0.264,
        "whiff": 35.3,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    },
    "home": {
      "team": "CHW",
      "original_runs": 3,
      "run_delta": -0.2473,
      "adjusted_runs": 3,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.16451576373197713,
        "contact": 0.06535553952749988,
        "power": 0.27851424768819216,
        "discipline": 0.1345991249026775,
        "xwoba": 0.3235454545454546,
        "recent_xwoba": 0.3235454545454546,
        "barrel": 9.330303030303032,
        "ab_hard_contact": 0.06276403024292221,
        "ab_bat_speed": 69.36652678284659,
        "ab_strikeout_rate": 0.24632810659598284,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "678246",
            "player_name": "Miguel Vargas",
            "position": "3B",
            "weight": 4.0,
            "quality": 1.1288658594366126,
            "contact": 1.11561747575704,
            "power": 1.2975689861171729,
            "discipline": 0.9492171340080751,
            "xwoba": 0.383,
            "recent_xwoba": 0.383,
            "barrel": 13.6,
            "ab_hard_contact": 0.9203321032958462,
            "ab_bat_speed": 72.84117302232546,
            "ab_strikeout_rate": 0.1792295780100658,
            "available": 1.0
          },
          {
            "player_id": "808959",
            "player_name": "Munetaka Murakami",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.7860404846675634,
            "contact": 0.30221539943106257,
            "power": 1.6875680907394468,
            "discipline": 0.016110733182161774,
            "xwoba": 0.344,
            "recent_xwoba": 0.344,
            "barrel": 18.9,
            "ab_hard_contact": 1.0062189576460776,
            "ab_bat_speed": 73.1002725308642,
            "ab_strikeout_rate": 0.34883597883597883,
            "available": 1.0
          },
          {
            "player_id": "805367",
            "player_name": "Chase Meidroth",
            "position": "2B",
            "weight": 4.0,
            "quality": -0.4678389892346668,
            "contact": -0.4062848457060403,
            "power": -0.6779087576831904,
            "discipline": 0.27940309457116197,
            "xwoba": 0.292,
            "recent_xwoba": 0.292,
            "barrel": 4.1,
            "ab_hard_contact": -0.7231275346161843,
            "ab_bat_speed": 64.24297362278244,
            "ab_strikeout_rate": 0.23047218887555024,
            "available": 1.0
          },
          {
            "player_id": "668670",
            "player_name": "Jake Rogers",
            "position": "C",
            "weight": 3.0,
            "quality": -0.3096845497355426,
            "contact": -0.9920983442197305,
            "power": -0.3031161747628424,
            "discipline": 0.18483289087992966,
            "xwoba": 0.269,
            "recent_xwoba": 0.269,
            "barrel": 9.7,
            "ab_hard_contact": -0.6322282571616124,
            "ab_bat_speed": 67.75366192411924,
            "ab_strikeout_rate": 0.2821138211382114,
            "available": 1.0
          },
          {
            "player_id": "643217",
            "player_name": "Andrew Benintendi",
            "position": "DH",
            "weight": 3.0,
            "quality": 0.19630880495936603,
            "contact": 0.17695948825560148,
            "power": 0.37411466213264366,
            "discipline": -0.20300695593552706,
            "xwoba": 0.315,
            "recent_xwoba": 0.315,
            "barrel": 8.9,
            "ab_hard_contact": 0.1870551474147824,
            "ab_bat_speed": 68.49523423423423,
            "ab_strikeout_rate": 0.2608108108108108,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "683003",
        "player_name": "Jared Jones",
        "quality": 0.3819349813749794,
        "contact": 0.2091955073500232,
        "command": 0.4712568542568545,
        "movement": 1.141977538306979,
        "xwoba": 0.295,
        "whiff": 32.0,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    }
  },
  "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.2308,
      "recent_form_edge_home_minus_away": -1.15,
      "pitcher_matchup_edge_home_minus_away": 0.0417,
      "composite_home_edge": -0.5027,
      "existing_home_win_probability": 0.4366,
      "refreshed_home_win_probability": 0.3,
      "winner_support_before_review": 0.5027
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.436619,
  "uncapped_away_win_probability": 0.563381,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.563381,
    "discount_factor": 0.44625,
    "published_confidence": 0.528284,
    "guardrail_confidence_cap": null,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "opposing_starter_is_elite",
        "factor": 0.7
      },
      {
        "reason": "starter_quality_favours_the_other_side",
        "factor": 0.75
      },
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.3,
    "incoming_favoured_side": "away",
    "score_winner_side": "away",
    "published_home_win_probability": 0.471716,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: opposing_starter_is_elite x0.70, starter_quality_favours_the_other_side x0.75, projected_margin_is_one_run x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 3,
    "predicted_score_text": "PIT 4 - 3 CHW",
    "confidence": 0.52828377125,
    "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": "PIT 4 - 3 CHW",
      "winner": "PIT"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "PIT 4 - 3 CHW",
      "winner": "PIT"
    },
    "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.0417,
      "recent_form_edge_home_minus_away": -1.15,
      "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": "PIT",
      "model_winner": "PIT",
      "simulation_winner": "PIT",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "PIT",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "PIT",
        "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": 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.2308,
      "winner": "PIT",
      "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": "PIT",
    "display_confidence": 0.5283,
    "internal_signal_score": 0.6104,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5283,
    "confidence_compression_detected": true,
    "moneyline_fit": "unavailable_without_market_price",
    "betting_status": "price_required_before_betting_analysis",
    "market_context": null,
    "margin_fit": "moneyline_preferred_over_margin",
    "totals_fit": "low_total_lean",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": 0.2308,
      "winner_recent_form_edge": 0.8,
      "winner_pitcher_matchup_edge": -0.0417,
      "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": 1.0,
      "total_runs_spread": {
        "min": 3,
        "median": 5,
        "max": 5,
        "range": 2
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

Savant Batter Quality

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

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away PITTrue1.02051.0205190
Home CHWTrue1.02901.0290190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHKonnor Griffin1611.00370.0491neutral0.30400.24000.39108.2038.4087.80631.5026.606.50-0.3429
CFOneil Cruz1061.08921.1899neutral0.35200.24700.476016.9055.5095.206.3036.9034.5011.40-0.3143
LFBryan Reynolds471.08431.1242neutral0.36100.25800.454011.5048.10918.3028.7023.30130.1429
RFJake Mangum1330.9499-0.6679negative_batter_regression0.28400.24600.32301.9026.5085.404.302119.405.30-1.0286
2BBrandon Lowe191.03840.5117neutral0.32400.23900.428011.5045.30911634.9028.809.30-0.6857
3BNick Gonzales1701.01390.1851neutral0.32700.28300.38502.9033.70867.1022.8016.207-0.4000
CRafael Flores Jr.2511.03580.4768neutral0.35000.24900.499014.7047.1090.5012.6030.6028.2010-0.2571
1BSpencer Horwitz4390.9930-0.0929neutral0.31100.22400.34906.2032871616.5015.6011.90-0.3429
SSJared Triolo2010.9759-0.3211neutral0.28900.24400.32002.6033.9086.605.5021.7019.6080.0571

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFSam Antonacci1201.03050.4070neutral0.34000.27000.38505.1032.2087.309.7015.3015.708.50-0.0571
1BMunetaka Murakami1071.07380.9838neutral0.34400.20200.456018.9057.3093.9016.3042.3034.9017.20-0.2857
RFBraden Montgomery3291.03100.4136neutral0.32800.25400.39204.2040.6088.7052919.70110.8000
SSColson Montgomery1241.01510.2020neutral0.30500.20900.413012.704288.7023.6036.8034.408.30-0.2571
2BChase Meidroth500.9710-0.3862negative_batter_regression0.29200.23400.33104.1033.9087.308.2019.4022.109.50-1.0286
3BMiguel Vargas281.11871.5830neutral0.38300.26700.507013.6045.2090.5020.1020.7017.7013.900.5143
DHAndrew Benintendi3311.03270.4359neutral0.31500.24700.41108.9045.4089.2017.2027.90238.40-0.0286
CJake Rogers3990.9809-0.2552neutral0.26900.17900.30909.7037.6088.4021.5025.9029.2012.400.1714
CFTristan Peters241.00750.0994negative_batter_regression0.31900.25700.40105.903487.5018.1023.4017.607.50-1.0286
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.029,
    "raw_average_factor": 1.029,
    "team_espn_average_rank": 168.0,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "803011",
        "player_name": "Sam Antonacci",
        "offense_factor": 1.0305,
        "quality_score": 0.407,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "803011",
          "espn_id": 5207167,
          "player_name": "Sam Antonacci",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 120,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 120,
            "gp_value": 125.0,
            "gp_rank": 127,
            "ab_value": 431.0,
            "ab_rank": 115,
            "r_value": 72.0,
            "r_rank": 57,
            "h_value": 115.0,
            "h_rank": 94,
            "avg_value": 0.2668213,
            "avg_rank": 50.0,
            "2b_value": 23.0,
            "2b_rank": 83,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 8.0,
            "hr_rank": 228,
            "rbi_value": 44.0,
            "rbi_rank": 179,
            "tb_value": 168.0,
            "tb_rank": 935,
            "bb_value": 42.0,
            "bb_rank": 118,
            "so_value": 79.0,
            "so_rank": 189,
            "sb_value": 17.0,
            "sb_rank": 45,
            "obp_value": 0.3647294,
            "obp_rank": "23",
            "slg_value": 0.3897911,
            "slg_rank": "105",
            "ops_value": 0.7545205,
            "ops_rank": 70.0,
            "war_value": 1.97,
            "war_rank": 93.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 416.0,
          "k_percent": 15.7,
          "bb_percent": 8.5,
          "woba": 0.342,
          "xwoba": 0.34,
          "xba": 0.27,
          "xslg": 0.385,
          "sweet_spot_percent": 36.6,
          "barrel_batted_rate": 5.1,
          "hard_hit_percent": 32.2,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 9.7,
          "whiff_percent": 15.3,
          "swing_percent": 42.1
        },
        "components": {
          "expected_quality": 0.4826,
          "regression_edge": -0.0571,
          "xwoba_edge": 1.1429,
          "xba_edge": 0.9714,
          "xslg_edge": 0.2857,
          "barrel_edge": -0.3333,
          "hard_hit_edge": -0.7286,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": 0.55,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "808959",
        "player_name": "Munetaka Murakami",
        "offense_factor": 1.0738,
        "quality_score": 0.9838,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "808959",
          "espn_id": 4872595,
          "player_name": "Munetaka Murakami",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 107,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 107,
            "gp_value": 110.0,
            "gp_rank": 174,
            "ab_value": 396.0,
            "ab_rank": 141,
            "r_value": 74.0,
            "r_rank": 50,
            "h_value": 83.0,
            "h_rank": 190,
            "avg_value": 0.2095959,
            "avg_rank": 139.0,
            "2b_value": 14.0,
            "2b_rank": 209,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 31.0,
            "hr_rank": 10,
            "rbi_value": 63.0,
            "rbi_rank": 84,
            "tb_value": 190.0,
            "tb_rank": 627,
            "bb_value": 82.0,
            "bb_rank": 11,
            "so_value": 169.0,
            "so_rank": 10,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.3485477,
            "obp_rank": "46",
            "slg_value": 0.4797979,
            "slg_rank": "24",
            "ops_value": 0.8283456,
            "ops_rank": 27.0,
            "war_value": 2.1,
            "war_rank": 85.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 383.0,
          "k_percent": 34.9,
          "bb_percent": 17.2,
          "woba": 0.354,
          "xwoba": 0.344,
          "xba": 0.202,
          "xslg": 0.456,
          "sweet_spot_percent": 29.1,
          "barrel_batted_rate": 18.9,
          "hard_hit_percent": 57.3,
          "exit_velocity_avg": 93.9,
          "launch_angle_avg": 16.3,
          "whiff_percent": 42.3,
          "swing_percent": 40.7
        },
        "components": {
          "expected_quality": 1.1905,
          "regression_edge": -0.2857,
          "xwoba_edge": 1.2571,
          "xba_edge": -0.9714,
          "xslg_edge": 1.3,
          "barrel_edge": 2.5,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.2,
          "sweet_spot_edge": -0.7,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "695731",
        "player_name": "Braden Montgomery",
        "offense_factor": 1.031,
        "quality_score": 0.4136,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "695731",
          "espn_id": 4950345,
          "player_name": "Braden Montgomery",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 329,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 329,
            "gp_value": 77.0,
            "gp_rank": 308,
            "ab_value": 274.0,
            "ab_rank": 244,
            "r_value": 41.0,
            "r_rank": 205,
            "h_value": 61.0,
            "h_rank": 261,
            "avg_value": 0.2226277,
            "avg_rank": null,
            "2b_value": 13.0,
            "2b_rank": 222,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 6.0,
            "hr_rank": 280,
            "rbi_value": 37.0,
            "rbi_rank": 218,
            "tb_value": 98.0,
            "tb_rank": 1397,
            "bb_value": 36.0,
            "bb_rank": 167,
            "so_value": 62.0,
            "so_rank": 260,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.3184713,
            "obp_rank": "-",
            "slg_value": 0.3576642,
            "slg_rank": "-",
            "ops_value": 0.6761355,
            "ops_rank": null,
            "war_value": 0.3,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 243.0,
          "k_percent": 19.7,
          "bb_percent": 11.0,
          "woba": 0.3,
          "xwoba": 0.328,
          "xba": 0.254,
          "xslg": 0.392,
          "sweet_spot_percent": 27.8,
          "barrel_batted_rate": 4.2,
          "hard_hit_percent": 40.6,
          "exit_velocity_avg": 88.7,
          "launch_angle_avg": 5.0,
          "whiff_percent": 29.0,
          "swing_percent": 50.2
        },
        "components": {
          "expected_quality": 0.3507,
          "regression_edge": 0.8,
          "xwoba_edge": 0.8,
          "xba_edge": 0.5143,
          "xslg_edge": 0.3857,
          "barrel_edge": -0.5333,
          "hard_hit_edge": 0.4714,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": -0.9167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "695657",
        "player_name": "Colson Montgomery",
        "offense_factor": 1.0151,
        "quality_score": 0.202,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "695657",
          "espn_id": 4872685,
          "player_name": "Colson Montgomery",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 124,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 124,
            "gp_value": 137.0,
            "gp_rank": 68,
            "ab_value": 518.0,
            "ab_rank": 50,
            "r_value": 67.0,
            "r_rank": 74,
            "h_value": 108.0,
            "h_rank": 113,
            "avg_value": 0.2084942,
            "avg_rank": 142.0,
            "2b_value": 22.0,
            "2b_rank": 98,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 31.0,
            "hr_rank": 10,
            "rbi_value": 83.0,
            "rbi_rank": 18,
            "tb_value": 223.0,
            "tb_rank": 819,
            "bb_value": 48.0,
            "bb_rank": 85,
            "so_value": 201.0,
            "so_rank": 2,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.2884283,
            "obp_rank": "141",
            "slg_value": 0.4305019,
            "slg_rank": "62",
            "ops_value": 0.7189302,
            "ops_rank": 98.0,
            "war_value": 1.9,
            "war_rank": 94.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 490.0,
          "k_percent": 34.4,
          "bb_percent": 8.3,
          "woba": 0.314,
          "xwoba": 0.305,
          "xba": 0.209,
          "xslg": 0.413,
          "sweet_spot_percent": 34.0,
          "barrel_batted_rate": 12.7,
          "hard_hit_percent": 42.0,
          "exit_velocity_avg": 88.7,
          "launch_angle_avg": 23.6,
          "whiff_percent": 36.8,
          "swing_percent": 51.9
        },
        "components": {
          "expected_quality": 0.2767,
          "regression_edge": -0.2571,
          "xwoba_edge": 0.1429,
          "xba_edge": -0.7714,
          "xslg_edge": 0.6857,
          "barrel_edge": 1.3556,
          "hard_hit_edge": 0.6714,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": 0.1167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "805367",
        "player_name": "Chase Meidroth",
        "offense_factor": 0.971,
        "quality_score": -0.3862,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "805367",
          "espn_id": 5136929,
          "player_name": "Chase Meidroth",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 50,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 50,
            "gp_value": 139.0,
            "gp_rank": 54,
            "ab_value": 514.0,
            "ab_rank": 57,
            "r_value": 78.0,
            "r_rank": 39,
            "h_value": 138.0,
            "h_rank": 43,
            "avg_value": 0.2684824,
            "avg_rank": 45.0,
            "2b_value": 27.0,
            "2b_rank": 39,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 12.0,
            "hr_rank": 155,
            "rbi_value": 51.0,
            "rbi_rank": 139,
            "tb_value": 201.0,
            "tb_rank": 1125,
            "bb_value": 55.0,
            "bb_rank": 60,
            "so_value": 129.0,
            "so_rank": 53,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3431542,
            "obp_rank": "51",
            "slg_value": 0.3910505,
            "slg_rank": "103",
            "ops_value": 0.7342047,
            "ops_rank": 85.0,
            "war_value": 3.29,
            "war_rank": 47.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 495.0,
          "k_percent": 22.1,
          "bb_percent": 9.5,
          "woba": 0.328,
          "xwoba": 0.292,
          "xba": 0.234,
          "xslg": 0.331,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 33.9,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 8.2,
          "whiff_percent": 19.4,
          "swing_percent": 41.7
        },
        "components": {
          "expected_quality": -0.2816,
          "regression_edge": -1.0286,
          "xwoba_edge": -0.2286,
          "xba_edge": -0.0571,
          "xslg_edge": -0.4857,
          "barrel_edge": -0.5556,
          "hard_hit_edge": -0.4857,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "678246",
        "player_name": "Miguel Vargas",
        "offense_factor": 1.1187,
        "quality_score": 1.583,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "678246",
          "espn_id": 42453,
          "player_name": "Miguel Vargas",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 28,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 28,
            "gp_value": 143.0,
            "gp_rank": 23,
            "ab_value": 530.0,
            "ab_rank": 35,
            "r_value": 95.0,
            "r_rank": 4,
            "h_value": 132.0,
            "h_rank": 59,
            "avg_value": 0.2490566,
            "avg_rank": 81.0,
            "2b_value": 30.0,
            "2b_rank": 14,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 30.0,
            "hr_rank": 13,
            "rbi_value": 79.0,
            "rbi_rank": 35,
            "tb_value": 254.0,
            "tb_rank": 390,
            "bb_value": 87.0,
            "bb_rank": 7,
            "so_value": 113.0,
            "so_rank": 87,
            "sb_value": 16.0,
            "sb_rank": 54,
            "obp_value": 0.3593004,
            "obp_rank": "33",
            "slg_value": 0.4792452,
            "slg_rank": "26",
            "ops_value": 0.8385456,
            "ops_rank": 22.0,
            "war_value": 4.27,
            "war_rank": 27.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 538.0,
          "k_percent": 17.7,
          "bb_percent": 13.9,
          "woba": 0.365,
          "xwoba": 0.383,
          "xba": 0.267,
          "xslg": 0.507,
          "sweet_spot_percent": 40.9,
          "barrel_batted_rate": 13.6,
          "hard_hit_percent": 45.2,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 20.1,
          "whiff_percent": 20.7,
          "swing_percent": 44.2
        },
        "components": {
          "expected_quality": 1.757,
          "regression_edge": 0.5143,
          "xwoba_edge": 2.3714,
          "xba_edge": 0.8857,
          "xslg_edge": 2.0286,
          "barrel_edge": 1.5556,
          "hard_hit_edge": 1.1286,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": 1.2667,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "DH",
        "player_id": "643217",
        "player_name": "Andrew Benintendi",
        "offense_factor": 1.0327,
        "quality_score": 0.4359,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "643217",
          "espn_id": 34986,
          "player_name": "Andrew Benintendi",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 331,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 331,
            "gp_value": 128.0,
            "gp_rank": 118,
            "ab_value": 389.0,
            "ab_rank": 149,
            "r_value": 55.0,
            "r_rank": 132,
            "h_value": 95.0,
            "h_rank": 151,
            "avg_value": 0.2442159,
            "avg_rank": null,
            "2b_value": 24.0,
            "2b_rank": 70,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 14.0,
            "hr_rank": 131,
            "rbi_value": 70.0,
            "rbi_rank": 54,
            "tb_value": 165.0,
            "tb_rank": 766,
            "bb_value": 36.0,
            "bb_rank": 167,
            "so_value": 100.0,
            "so_rank": 113,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.3062645,
            "obp_rank": "-",
            "slg_value": 0.4241645,
            "slg_rank": "-",
            "ops_value": 0.730429,
            "ops_rank": null,
            "war_value": 0.29,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 365.0,
          "k_percent": 23.0,
          "bb_percent": 8.4,
          "woba": 0.316,
          "xwoba": 0.315,
          "xba": 0.247,
          "xslg": 0.411,
          "sweet_spot_percent": 36.4,
          "barrel_batted_rate": 8.9,
          "hard_hit_percent": 45.4,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 17.2,
          "whiff_percent": 27.9,
          "swing_percent": 51.8
        },
        "components": {
          "expected_quality": 0.5115,
          "regression_edge": -0.0286,
          "xwoba_edge": 0.4286,
          "xba_edge": 0.3143,
          "xslg_edge": 0.6571,
          "barrel_edge": 0.5111,
          "hard_hit_edge": 1.1571,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.5167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "668670",
        "player_name": "Jake Rogers",
        "offense_factor": 0.9809,
        "quality_score": -0.2552,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "668670",
          "espn_id": 39900,
          "player_name": "Jake Rogers",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 399,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 399,
            "gp_value": 53.0,
            "gp_rank": 381,
            "ab_value": 136.0,
            "ab_rank": 386,
            "r_value": 17.0,
            "r_rank": 380,
            "h_value": 23.0,
            "h_rank": 418,
            "avg_value": 0.1691176,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": 408,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 4.0,
            "hr_rank": 333,
            "rbi_value": 14.0,
            "rbi_rank": 380,
            "tb_value": 41.0,
            "tb_rank": 2103,
            "bb_value": 20.0,
            "bb_rank": 292,
            "so_value": 47.0,
            "so_rank": 319,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.275,
            "obp_rank": "-",
            "slg_value": 0.3014705,
            "slg_rank": "-",
            "ops_value": 0.5764705,
            "ops_rank": null,
            "war_value": 0.04,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 131.0,
          "k_percent": 29.2,
          "bb_percent": 12.4,
          "woba": 0.263,
          "xwoba": 0.269,
          "xba": 0.179,
          "xslg": 0.309,
          "sweet_spot_percent": 31.2,
          "barrel_batted_rate": 9.7,
          "hard_hit_percent": 37.6,
          "exit_velocity_avg": 88.4,
          "launch_angle_avg": 21.5,
          "whiff_percent": 25.9,
          "swing_percent": 42.9
        },
        "components": {
          "expected_quality": -0.5262,
          "regression_edge": 0.1714,
          "xwoba_edge": -0.8857,
          "xba_edge": -1.6286,
          "xslg_edge": -0.8,
          "barrel_edge": 0.6889,
          "hard_hit_edge": 0.0429,
          "exit_velocity_edge": 0.0,
          "sweet_spot_edge": -0.35,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "671976",
        "player_name": "Tristan Peters",
        "offense_factor": 1.0075,
        "quality_score": 0.0994,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "671976",
          "espn_id": 5085893,
          "player_name": "Tristan Peters",
          "team": "CHW",
          "role": "batter",
          "espn_rank": 24,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 24,
            "gp_value": 140.0,
            "gp_rank": 43,
            "ab_value": 396.0,
            "ab_rank": 141,
            "r_value": 58.0,
            "r_rank": 116,
            "h_value": 112.0,
            "h_rank": 104,
            "avg_value": 0.2828282,
            "avg_rank": 18.0,
            "2b_value": 30.0,
            "2b_rank": 14,
            "3b_value": 4.0,
            "3b_rank": 19,
            "hr_value": 12.0,
            "hr_rank": 155,
            "rbi_value": 53.0,
            "rbi_rank": 131,
            "tb_value": 186.0,
            "tb_rank": 621,
            "bb_value": 33.0,
            "bb_rank": 186,
            "so_value": 78.0,
            "so_rank": 193,
            "sb_value": 8.0,
            "sb_rank": 120,
            "obp_value": 0.3470319,
            "obp_rank": "48",
            "slg_value": 0.4696969,
            "slg_rank": "34",
            "ops_value": 0.8167288,
            "ops_rank": 33.0,
            "war_value": 4.38,
            "war_rank": 24.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 360.0,
          "k_percent": 17.6,
          "bb_percent": 7.5,
          "woba": 0.355,
          "xwoba": 0.319,
          "xba": 0.257,
          "xslg": 0.401,
          "sweet_spot_percent": 34.5,
          "barrel_batted_rate": 5.9,
          "hard_hit_percent": 34.0,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 18.1,
          "whiff_percent": 23.4,
          "swing_percent": 54.1
        },
        "components": {
          "expected_quality": 0.2831,
          "regression_edge": -1.0286,
          "xwoba_edge": 0.5429,
          "xba_edge": 0.6,
          "xslg_edge": 0.5143,
          "barrel_edge": -0.1556,
          "hard_hit_edge": -0.4714,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.2,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0205,
    "raw_average_factor": 1.0205,
    "team_espn_average_rank": 169.67,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "DH",
        "player_id": "804606",
        "player_name": "Konnor Griffin",
        "offense_factor": 1.0037,
        "quality_score": 0.0491,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "804606",
          "espn_id": 5218285,
          "player_name": "Konnor Griffin",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 161,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 161,
            "gp_value": 64.0,
            "gp_rank": 352,
            "ab_value": 244.0,
            "ab_rank": 272,
            "r_value": 37.0,
            "r_rank": 229,
            "h_value": 65.0,
            "h_rank": 249,
            "avg_value": 0.2663934,
            "avg_rank": null,
            "2b_value": 11.0,
            "2b_rank": 263,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 5.0,
            "hr_rank": 305,
            "rbi_value": 27.0,
            "rbi_rank": 290,
            "tb_value": 95.0,
            "tb_rank": 1579,
            "bb_value": 18.0,
            "bb_rank": 304,
            "so_value": 71.0,
            "so_rank": 222,
            "sb_value": 22.0,
            "sb_rank": 20,
            "obp_value": 0.3246268,
            "obp_rank": "-",
            "slg_value": 0.3893442,
            "slg_rank": "-",
            "ops_value": 0.713971,
            "ops_rank": null,
            "war_value": 1.54,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 241.0,
          "k_percent": 26.6,
          "bb_percent": 6.5,
          "woba": 0.316,
          "xwoba": 0.304,
          "xba": 0.24,
          "xslg": 0.391,
          "sweet_spot_percent": 31.4,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 38.4,
          "exit_velocity_avg": 87.8,
          "launch_angle_avg": 6.0,
          "whiff_percent": 31.5,
          "swing_percent": 52.3
        },
        "components": {
          "expected_quality": 0.113,
          "regression_edge": -0.3429,
          "xwoba_edge": 0.1143,
          "xba_edge": 0.1143,
          "xslg_edge": 0.3714,
          "barrel_edge": 0.3556,
          "hard_hit_edge": 0.1571,
          "exit_velocity_edge": -0.24,
          "sweet_spot_edge": -0.3167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "665833",
        "player_name": "Oneil Cruz",
        "offense_factor": 1.0892,
        "quality_score": 1.1899,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "665833",
          "espn_id": 39712,
          "player_name": "Oneil Cruz",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 106,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 106,
            "gp_value": 83.0,
            "gp_rank": 283,
            "ab_value": 319.0,
            "ab_rank": 209,
            "r_value": 55.0,
            "r_rank": 132,
            "h_value": 86.0,
            "h_rank": 180,
            "avg_value": 0.2695924,
            "avg_rank": null,
            "2b_value": 12.0,
            "2b_rank": 243,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 17.0,
            "hr_rank": 92,
            "rbi_value": 60.0,
            "rbi_rank": 96,
            "tb_value": 151.0,
            "tb_rank": 977,
            "bb_value": 41.0,
            "bb_rank": 129,
            "so_value": 125.0,
            "so_rank": 62,
            "sb_value": 27.0,
            "sb_rank": 13,
            "obp_value": 0.3581267,
            "obp_rank": "-",
            "slg_value": 0.4733542,
            "slg_rank": "-",
            "ops_value": 0.8314809,
            "ops_rank": null,
            "war_value": 2.1,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 281.0,
          "k_percent": 34.5,
          "bb_percent": 11.4,
          "woba": 0.363,
          "xwoba": 0.352,
          "xba": 0.247,
          "xslg": 0.476,
          "sweet_spot_percent": 33.5,
          "barrel_batted_rate": 16.9,
          "hard_hit_percent": 55.5,
          "exit_velocity_avg": 95.2,
          "launch_angle_avg": 6.3,
          "whiff_percent": 36.9,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": 1.4348,
          "regression_edge": -0.3143,
          "xwoba_edge": 1.4857,
          "xba_edge": 0.3143,
          "xslg_edge": 1.5857,
          "barrel_edge": 2.2889,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.5,
          "sweet_spot_edge": 0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "668804",
        "player_name": "Bryan Reynolds",
        "offense_factor": 1.0843,
        "quality_score": 1.1242,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "668804",
          "espn_id": 38980,
          "player_name": "Bryan Reynolds",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 47,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 47,
            "gp_value": 146.0,
            "gp_rank": 3,
            "ab_value": 541.0,
            "ab_rank": 28,
            "r_value": 98.0,
            "r_rank": 3,
            "h_value": 144.0,
            "h_rank": 24,
            "avg_value": 0.2661737,
            "avg_rank": 54.0,
            "2b_value": 36.0,
            "2b_rank": 1,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 16.0,
            "hr_rank": 106,
            "rbi_value": 69.0,
            "rbi_rank": 61,
            "tb_value": 232.0,
            "tb_rank": 495,
            "bb_value": 82.0,
            "bb_rank": 11,
            "so_value": 147.0,
            "so_rank": 29,
            "sb_value": 9.0,
            "sb_rank": 105,
            "obp_value": 0.3710691,
            "obp_rank": "13",
            "slg_value": 0.4288354,
            "slg_rank": "66",
            "ops_value": 0.7999045,
            "ops_rank": 44.0,
            "war_value": 3.49,
            "war_rank": 45.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 550.0,
          "k_percent": 23.3,
          "bb_percent": 13.0,
          "woba": 0.356,
          "xwoba": 0.361,
          "xba": 0.258,
          "xslg": 0.454,
          "sweet_spot_percent": 38.9,
          "barrel_batted_rate": 11.5,
          "hard_hit_percent": 48.1,
          "exit_velocity_avg": 91.0,
          "launch_angle_avg": 8.3,
          "whiff_percent": 28.7,
          "swing_percent": 46.4
        },
        "components": {
          "expected_quality": 1.2839,
          "regression_edge": 0.1429,
          "xwoba_edge": 1.7429,
          "xba_edge": 0.6286,
          "xslg_edge": 1.2714,
          "barrel_edge": 1.0889,
          "hard_hit_edge": 1.5429,
          "exit_velocity_edge": 1.04,
          "sweet_spot_edge": 0.9333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "663968",
        "player_name": "Jake Mangum",
        "offense_factor": 0.9499,
        "quality_score": -0.6679,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "663968",
          "espn_id": 42664,
          "player_name": "Jake Mangum",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 133,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 133,
            "gp_value": 120.0,
            "gp_rank": 143,
            "ab_value": 391.0,
            "ab_rank": 147,
            "r_value": 55.0,
            "r_rank": 132,
            "h_value": 112.0,
            "h_rank": 104,
            "avg_value": 0.286445,
            "avg_rank": null,
            "2b_value": 18.0,
            "2b_rank": 149,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 4.0,
            "hr_rank": 333,
            "rbi_value": 30.0,
            "rbi_rank": 270,
            "tb_value": 146.0,
            "tb_rank": 1404,
            "bb_value": 23.0,
            "bb_rank": 260,
            "so_value": 84.0,
            "so_rank": 169,
            "sb_value": 22.0,
            "sb_rank": 20,
            "obp_value": 0.3434579,
            "obp_rank": "-",
            "slg_value": 0.3734015,
            "slg_rank": "-",
            "ops_value": 0.7168594,
            "ops_rank": null,
            "war_value": 1.74,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 362.0,
          "k_percent": 19.4,
          "bb_percent": 5.3,
          "woba": 0.32,
          "xwoba": 0.284,
          "xba": 0.246,
          "xslg": 0.323,
          "sweet_spot_percent": 27.5,
          "barrel_batted_rate": 1.9,
          "hard_hit_percent": 26.5,
          "exit_velocity_avg": 85.4,
          "launch_angle_avg": 4.3,
          "whiff_percent": 21.0,
          "swing_percent": 58.3
        },
        "components": {
          "expected_quality": -0.6091,
          "regression_edge": -1.0286,
          "xwoba_edge": -0.4571,
          "xba_edge": 0.2857,
          "xslg_edge": -0.6,
          "barrel_edge": -1.0444,
          "hard_hit_edge": -1.5429,
          "exit_velocity_edge": -1.2,
          "sweet_spot_edge": -0.9667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "664040",
        "player_name": "Brandon Lowe",
        "offense_factor": 1.0384,
        "quality_score": 0.5117,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "664040",
          "espn_id": 39961,
          "player_name": "Brandon Lowe",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 19,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 19,
            "gp_value": 136.0,
            "gp_rank": 77,
            "ab_value": 532.0,
            "ab_rank": 33,
            "r_value": 86.0,
            "r_rank": 23,
            "h_value": 138.0,
            "h_rank": 43,
            "avg_value": 0.2593984,
            "avg_rank": 65.0,
            "2b_value": 28.0,
            "2b_rank": 33,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 29.0,
            "hr_rank": 18,
            "rbi_value": 83.0,
            "rbi_rank": 18,
            "tb_value": 255.0,
            "tb_rank": 408,
            "bb_value": 56.0,
            "bb_rank": 57,
            "so_value": 173.0,
            "so_rank": 7,
            "sb_value": 2.0,
            "sb_rank": 278,
            "obp_value": 0.3283082,
            "obp_rank": "74",
            "slg_value": 0.4793233,
            "slg_rank": "26",
            "ops_value": 0.8076315,
            "ops_rank": 40.0,
            "war_value": 4.53,
            "war_rank": 19.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 526.0,
          "k_percent": 28.8,
          "bb_percent": 9.3,
          "woba": 0.348,
          "xwoba": 0.324,
          "xba": 0.239,
          "xslg": 0.428,
          "sweet_spot_percent": 35.7,
          "barrel_batted_rate": 11.5,
          "hard_hit_percent": 45.3,
          "exit_velocity_avg": 91.0,
          "launch_angle_avg": 16.0,
          "whiff_percent": 34.9,
          "swing_percent": 50.3
        },
        "components": {
          "expected_quality": 0.7066,
          "regression_edge": -0.6857,
          "xwoba_edge": 0.6857,
          "xba_edge": 0.0857,
          "xslg_edge": 0.9,
          "barrel_edge": 1.0889,
          "hard_hit_edge": 1.1429,
          "exit_velocity_edge": 1.04,
          "sweet_spot_edge": 0.4,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "693304",
        "player_name": "Nick Gonzales",
        "offense_factor": 1.0139,
        "quality_score": 0.1851,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "693304",
          "espn_id": 4311634,
          "player_name": "Nick Gonzales",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 170,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 170,
            "gp_value": 135.0,
            "gp_rank": 82,
            "ab_value": 508.0,
            "ab_rank": 63,
            "r_value": 67.0,
            "r_rank": 74,
            "h_value": 155.0,
            "h_rank": 12,
            "avg_value": 0.3051181,
            "avg_rank": 4.0,
            "2b_value": 24.0,
            "2b_rank": 70,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 6.0,
            "hr_rank": 280,
            "rbi_value": 59.0,
            "rbi_rank": 102,
            "tb_value": 199.0,
            "tb_rank": 1176,
            "bb_value": 39.0,
            "bb_rank": 139,
            "so_value": 90.0,
            "so_rank": 144,
            "sb_value": 7.0,
            "sb_rank": 136,
            "obp_value": 0.3678571,
            "obp_rank": "18",
            "slg_value": 0.3917322,
            "slg_rank": "100",
            "ops_value": 0.7595893,
            "ops_rank": 65.0,
            "war_value": 1.38,
            "war_rank": 108.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 486.0,
          "k_percent": 16.2,
          "bb_percent": 7.0,
          "woba": 0.341,
          "xwoba": 0.327,
          "xba": 0.283,
          "xslg": 0.385,
          "sweet_spot_percent": 34.7,
          "barrel_batted_rate": 2.9,
          "hard_hit_percent": 33.7,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 7.1,
          "whiff_percent": 22.8,
          "swing_percent": 52.6
        },
        "components": {
          "expected_quality": 0.2803,
          "regression_edge": -0.4,
          "xwoba_edge": 0.7714,
          "xba_edge": 1.3429,
          "xslg_edge": 0.2857,
          "barrel_edge": -0.8222,
          "hard_hit_edge": -0.5143,
          "exit_velocity_edge": -0.96,
          "sweet_spot_edge": 0.2333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "804668",
        "player_name": "Rafael Flores Jr.",
        "offense_factor": 1.0358,
        "quality_score": 0.4768,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "804668",
          "espn_id": 5131743,
          "player_name": "Rafael Flores Jr.",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 251,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 251,
            "gp_value": 34.0,
            "gp_rank": 448,
            "ab_value": 103.0,
            "ab_rank": 430,
            "r_value": 13.0,
            "r_rank": 418,
            "h_value": 25.0,
            "h_rank": 410,
            "avg_value": 0.2427184,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": 408,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 8.0,
            "hr_rank": 228,
            "rbi_value": 19.0,
            "rbi_rank": 346,
            "tb_value": 53.0,
            "tb_rank": 2080,
            "bb_value": 11.0,
            "bb_rank": 373,
            "so_value": 31.0,
            "so_rank": 413,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.3157894,
            "obp_rank": "-",
            "slg_value": 0.5145631,
            "slg_rank": "-",
            "ops_value": 0.8303525,
            "ops_rank": null,
            "war_value": 0.72,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 55.0,
          "k_percent": 28.2,
          "bb_percent": 10.0,
          "woba": 0.359,
          "xwoba": 0.35,
          "xba": 0.249,
          "xslg": 0.499,
          "sweet_spot_percent": 35.3,
          "barrel_batted_rate": 14.7,
          "hard_hit_percent": 47.1,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 12.6,
          "whiff_percent": 30.6,
          "swing_percent": 44.5
        },
        "components": {
          "expected_quality": 1.2739,
          "regression_edge": -0.2571,
          "xwoba_edge": 1.4286,
          "xba_edge": 0.3714,
          "xslg_edge": 1.9143,
          "barrel_edge": 1.8,
          "hard_hit_edge": 1.4,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": 0.3333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "687462",
        "player_name": "Spencer Horwitz",
        "offense_factor": 0.993,
        "quality_score": -0.0929,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "687462",
          "espn_id": 4228472,
          "player_name": "Spencer Horwitz",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 439,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 439,
            "gp_value": 103.0,
            "gp_rank": 198,
            "ab_value": 355.0,
            "ab_rank": 182,
            "r_value": 41.0,
            "r_rank": 205,
            "h_value": 87.0,
            "h_rank": 174,
            "avg_value": 0.2450704,
            "avg_rank": null,
            "2b_value": 12.0,
            "2b_rank": 243,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 10.0,
            "hr_rank": 183,
            "rbi_value": 44.0,
            "rbi_rank": 179,
            "tb_value": 131.0,
            "tb_rank": 1244,
            "bb_value": 49.0,
            "bb_rank": 81,
            "so_value": 65.0,
            "so_rank": 245,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.3445783,
            "obp_rank": "-",
            "slg_value": 0.369014,
            "slg_rank": "-",
            "ops_value": 0.7135923,
            "ops_rank": null,
            "war_value": -0.03,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 342.0,
          "k_percent": 15.6,
          "bb_percent": 11.9,
          "woba": 0.323,
          "xwoba": 0.311,
          "xba": 0.224,
          "xslg": 0.349,
          "sweet_spot_percent": 28.5,
          "barrel_batted_rate": 6.2,
          "hard_hit_percent": 32.0,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 16.0,
          "whiff_percent": 16.5,
          "swing_percent": 40.6
        },
        "components": {
          "expected_quality": -0.0523,
          "regression_edge": -0.3429,
          "xwoba_edge": 0.3143,
          "xba_edge": -0.3429,
          "xslg_edge": -0.2286,
          "barrel_edge": -0.0889,
          "hard_hit_edge": -0.7571,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": -0.8,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "669707",
        "player_name": "Jared Triolo",
        "offense_factor": 0.9759,
        "quality_score": -0.3211,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669707",
          "espn_id": 42933,
          "player_name": "Jared Triolo",
          "team": "PIT",
          "role": "batter",
          "espn_rank": 201,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 201,
            "gp_value": 109.0,
            "gp_rank": 178,
            "ab_value": 300.0,
            "ab_rank": 225,
            "r_value": 31.0,
            "r_rank": 263,
            "h_value": 74.0,
            "h_rank": 215,
            "avg_value": 0.2466666,
            "avg_rank": null,
            "2b_value": 12.0,
            "2b_rank": 243,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 3.0,
            "hr_rank": 369,
            "rbi_value": 29.0,
            "rbi_rank": 274,
            "tb_value": 95.0,
            "tb_rank": 2143,
            "bb_value": 27.0,
            "bb_rank": 217,
            "so_value": 66.0,
            "so_rank": 240,
            "sb_value": 11.0,
            "sb_rank": 78,
            "obp_value": 0.3183183,
            "obp_rank": "-",
            "slg_value": 0.3166666,
            "slg_rank": "-",
            "ops_value": 0.6349849,
            "ops_rank": null,
            "war_value": 1.04,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 289.0,
          "k_percent": 19.6,
          "bb_percent": 8.0,
          "woba": 0.287,
          "xwoba": 0.289,
          "xba": 0.244,
          "xslg": 0.32,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 2.6,
          "hard_hit_percent": 33.9,
          "exit_velocity_avg": 86.6,
          "launch_angle_avg": 5.5,
          "whiff_percent": 21.7,
          "swing_percent": 45.2
        },
        "components": {
          "expected_quality": -0.3827,
          "regression_edge": 0.0571,
          "xwoba_edge": -0.3143,
          "xba_edge": 0.2286,
          "xslg_edge": -0.6429,
          "barrel_edge": -0.8889,
          "hard_hit_edge": -0.4857,
          "exit_velocity_edge": -0.72,
          "sweet_spot_edge": -0.1833,
          "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 PITTrue1660.320710.97271.07200.98401.0121neutral0.29500.312027.608.40328.1039.30
Home CHWTrue1870.34680.45000.97051.06531.06210.9435negative_pitcher_regression0.26400.209037.1016.1035.303.4034.50

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away PITTrueNone7993.672505000000000.2124
Home CHWFalse-------------
Run FactorValue
away_runs_vs_home_pitcher0.9914
home_runs_vs_away_pitcher0.9841
home_pitcher_starter_only_factor0.9867
away_pitcher_starter_only_factor0.9727
home_pitcher_workload_share0.5185
away_pitcher_workload_share0.5185
home_pitcher_quality_edge0.0135
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "696146",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 21.0,
      "k_percent": 37.1,
      "bb_percent": 16.1,
      "woba": 0.209,
      "xwoba": 0.264,
      "sweet_spot_percent": 34.5,
      "barrel_batted_rate": 3.4,
      "hard_hit_percent": 34.5,
      "avg_best_speed": 78.8272,
      "avg_hyper_speed": 94.145,
      "whiff_percent": 35.3,
      "swing_percent": 43.0
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 1.1271,
      "command_and_miss": 1.1407,
      "regression_edge": -1.5714,
      "xwoba_edge": 1.3429,
      "barrel_edge": 0.8222,
      "hard_hit_edge": 0.4857,
      "whiff_edge": 1.4714,
      "bb_edge": -1.725,
      "pitch_design_score": 0.0
    },
    "pitch_movement_profile": {
      "available": false,
      "pitcher_id": "696146",
      "reason": "pitcher_movement_profile_has_no_pitches"
    },
    "quality_score": 0.3468,
    "sample_weight": 0.45,
    "run_prevention_factor": 0.9705,
    "strikeout_factor": 1.0653,
    "walk_factor": 1.0621,
    "homer_factor": 0.9435,
    "woba_minus_xwoba": -0.055,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": true,
      "player_id": "696146",
      "espn_id": 5023126,
      "player_name": "Hagen Smith",
      "team": "CHW",
      "role": "pitcher",
      "espn_rank": 187,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 187,
        "gp_value": 10.0,
        "gp_rank": 528,
        "gs_value": 0.0,
        "gs_rank": 364,
        "qs_value": 0.0,
        "qs_rank": 210,
        "era_value": 0.5625,
        "era_rank": null,
        "w_value": 3.0,
        "w_rank": 243,
        "l_value": 1.0,
        "l_rank": 427,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 1.0,
        "hld_rank": 271,
        "ip_value": 16.0,
        "ip_rank": 556,
        "h_value": 5.0,
        "h_rank": 720,
        "er_value": 1.0,
        "er_rank": 781,
        "hr_value": 1.0,
        "hr_rank": 613,
        "bb_value": 10.0,
        "bb_rank": 483,
        "k_value": 23.0,
        "k_rank": 460,
        "k_per_9_value": 12.9375,
        "k_per_9_rank": 22,
        "whip_value": 0.9375,
        "whip_rank": null,
        "war_value": 0.97,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "683003",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 268.0,
      "k_percent": 27.6,
      "bb_percent": 8.4,
      "woba": 0.312,
      "xwoba": 0.295,
      "sweet_spot_percent": 34.1,
      "barrel_batted_rate": 8.1,
      "hard_hit_percent": 39.3,
      "avg_best_speed": 79.2466,
      "avg_hyper_speed": 94.3291,
      "whiff_percent": 32.0,
      "swing_percent": 48.1
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.1075,
      "command_and_miss": 0.75,
      "regression_edge": 0.4857,
      "xwoba_edge": 0.4571,
      "barrel_edge": -0.2222,
      "hard_hit_edge": -0.2,
      "whiff_edge": 1.0,
      "bb_edge": 0.2,
      "pitch_design_score": 0.2124
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "683003",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 79,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 79,
        "pitch_usage": 0.0,
        "release_speed": 93.66750722649874,
        "release_spin_rate": 2505.3321423171064,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 79,
          "pitch_usage": 0.0,
          "release_speed": 93.66750722649874,
          "release_spin_rate": 2505.3321423171064,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.6675,
        "release_spin_rate": 2505.3321,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.2124,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.517,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.3207,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9727,
    "strikeout_factor": 1.072,
    "walk_factor": 0.984,
    "homer_factor": 1.0121,
    "woba_minus_xwoba": 0.017,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "683003",
      "espn_id": 4918156,
      "player_name": "Jared Jones",
      "team": "PIT",
      "role": "pitcher",
      "espn_rank": 166,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 166,
        "gp_value": 17.0,
        "gp_rank": 432,
        "gs_value": 17.0,
        "gs_rank": 122,
        "qs_value": 4.0,
        "qs_rank": 123,
        "era_value": 4.4618,
        "era_rank": null,
        "w_value": 3.0,
        "w_rank": 243,
        "l_value": 6.0,
        "l_rank": 113,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 78.2,
        "ip_rank": 165,
        "h_value": 69.0,
        "h_rank": 167,
        "er_value": 39.0,
        "er_rank": 155,
        "hr_value": 12.0,
        "hr_rank": 135,
        "bb_value": 28.0,
        "bb_rank": 188,
        "k_value": 92.0,
        "k_rank": 123,
        "k_per_9_value": 10.525424,
        "k_per_9_rank": 20,
        "whip_value": 1.233,
        "whip_rank": null,
        "war_value": 1.17,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9914,
    "home_runs_vs_away_pitcher": 0.9841,
    "home_pitcher_starter_only_factor": 0.9867,
    "away_pitcher_starter_only_factor": 0.9727,
    "home_pitcher_workload_share": 0.5185,
    "away_pitcher_workload_share": 0.5185,
    "home_pitcher_quality_edge": 0.0135
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 3.0
  },
  "score_after": {
    "away_runs": 3.9654,
    "home_runs": 2.9523,
    "home_win_probability": 0.4141
  },
  "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 PIT8-20.8004.903.60133Waverageaverage
Home CHW3-70.3003.404.10-72Lcoldaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away PIT73-730.500340.233True
Home CHW75-700.517410.283True
Signal--0.050-0.231applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-09PIT @ CHW4 - 2PIT2close
2026-09-08PIT @ CHW9 - 3PIT6blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target PIT--4----
Game target CHW--3----
Player finalized PIT347514410
Player finalized CHW33741449
Player model fractional PIT35.608.364.680.954.413.839.21
Player model fractional CHW31.376.724.491.153.753.729.61
Simulation box PIT34742427
Simulation box CHW314313411

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 PITStarterJared Jones4.2034224.731.34True
Away PITMiddle Reliever (High Leverage)Gregory Soto103011.680.89True
Away PITSetup ManLuke Weaver102015.191.41True
Away PITCloserMason Montgomery1.1001001.670.93True
Away PITMiddle Reliever (High Leverage)Yohan Ramírez101203.711.08True
Home CHWStarterHagen Smith4.2014422.751.14True
Home CHWCloserGrant Taylor1.1021102.010.93True
Home CHWSetup ManSean Newcomb1.1010102.211.05True
Home CHWMiddle Reliever (High Leverage)Bryan Hudson102002.110.97True
Home CHWMiddle Reliever (High Leverage)Jordan Hicks0.2000205.041.48True
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
homeCHWbatter1BMunetaka Murakamiworse116556predicted_RBI2.4270boostbetter
homeCHWbatterLFSam Antonacciworse82617predicted_SO2.3630boostworse
homeCHWbatter3BMiguel Vargasworse102837predicted_AB-1.7320deboostworse
awayPITbatter2BBrandon Lowebetter117483predicted_AB-1.6500deboostworse
awayPITbatterCFOneil Cruzworse1111029predicted_AB-1.4700deboostworse
homeCHWbatterCFTristan Petersworse103728predicted_SO1.4140boostworse
awayPITbatterLFBryan Reynoldsworse101919predicted_H-1.2900deboostworse
homeCHWbatterRFBraden Montgomeryworse94536predicted_H1.1970boostbetter
awayPITbatter3BNick Gonzalesworse102819predicted_H-1.1800deboostworse
awayPITbatterDHKonnor Griffinworse93645predicted_SO-1.1270deboostbetter
awayPITbatterSSJared Trioloworse116556predicted_HR0.9900boostbetter
homeCHWbatterDHAndrew Benintendiworse1111029predicted_AB0.9610boostbetter
homeCHWbatter2BChase Meidrothworse104637predicted_AB-0.8600deboostworse
awayPITbatterRFJake Mangumbetter75261predicted_2B0.8350boostbetter
homeCHWbatterSSColson Montgomeryworse1001019predicted_H-0.7700deboostworse
awayPITbatterCRafael Flores Jr.worse93636predicted_RBI-0.5900deboostworse
awayPITbatter1BSpencer Horwitzworse105546predicted_RBI-0.4900deboostworse
homeCHWbatterCJake Rogersworse101919predicted_H-0.4900deboostworse
awayPITpitcherStarterJared Jonesworse10101predicted_IP-0.4667deboostworse
homeCHWpitcherStarterHagen Smithworse10101predicted_IP-0.4667deboostworse
homeCHWpitcherMiddle Reliever (High Leverage)Jordan Hicksworse10101predicted_IP-0.4667deboostworse
homeCHWpitcherCloserGrant Taylorworse10101predicted_IP-0.2333deboostworse
homeCHWpitcherSetup ManSean Newcombworse10101predicted_IP-0.2333deboostworse
awayPITpitcherCloserMason Montgomerybetter11010predicted_IP0.1000boostbetter

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

Away Team: PIT

Away Pitcher Deep Analysis

FieldValue
PitcherJared Jones
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3207
ESPN Rank166
Movement AvailableTrue
Primary Pitch-
Movement Score0.2124
Avg Velo93.6675
Avg Spin2505.3321
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.2000
Pre ER3
Pre H2
Pre BB2
Pre SO4
Season ERA4.4619
Season WHIP1.2331
Role Avg IP4.6270
Recent Avg IP4.5330
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "opponent": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "edges": {
    "quality_edge": 0.1543,
    "offense_edge": 0.0767,
    "opponent_offense_edge": 0.0504,
    "defense_strength": -0.0243,
    "opponent_defense_weakness": -0.0127,
    "recent_win_pct_edge": 0.5
  },
  "player_factors": {
    "ip": 1.0034,
    "run_prevention": 1.0028,
    "strikeout": 1.0006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "683003",
    "profile": {
      "available": true,
      "pitcher_id": "683003",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 268.0,
        "k_percent": 27.6,
        "bb_percent": 8.4,
        "woba": 0.312,
        "xwoba": 0.295,
        "sweet_spot_percent": 34.1,
        "barrel_batted_rate": 8.1,
        "hard_hit_percent": 39.3,
        "avg_best_speed": 79.2466,
        "avg_hyper_speed": 94.3291,
        "whiff_percent": 32.0,
        "swing_percent": 48.1
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.1075,
        "command_and_miss": 0.75,
        "regression_edge": 0.4857,
        "xwoba_edge": 0.4571,
        "barrel_edge": -0.2222,
        "hard_hit_edge": -0.2,
        "whiff_edge": 1.0,
        "bb_edge": 0.2,
        "pitch_design_score": 0.2124
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "683003",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 79,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 79,
          "pitch_usage": 0.0,
          "release_speed": 93.66750722649874,
          "release_spin_rate": 2505.3321423171064,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 79,
            "pitch_usage": 0.0,
            "release_speed": 93.66750722649874,
            "release_spin_rate": 2505.3321423171064,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6675,
          "release_spin_rate": 2505.3321,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.2124,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.517,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3207,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9727,
      "strikeout_factor": 1.072,
      "walk_factor": 0.984,
      "homer_factor": 1.0121,
      "woba_minus_xwoba": 0.017,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "683003",
        "espn_id": 4918156,
        "player_name": "Jared Jones",
        "team": "PIT",
        "role": "pitcher",
        "espn_rank": 166,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 166,
          "gp_value": 17.0,
          "gp_rank": 432,
          "gs_value": 17.0,
          "gs_rank": 122,
          "qs_value": 4.0,
          "qs_rank": 123,
          "era_value": 4.4618,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 243,
          "l_value": 6.0,
          "l_rank": 113,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 78.2,
          "ip_rank": 165,
          "h_value": 69.0,
          "h_rank": 167,
          "er_value": 39.0,
          "er_rank": 155,
          "hr_value": 12.0,
          "hr_rank": 135,
          "bb_value": 28.0,
          "bb_rank": 188,
          "k_value": 92.0,
          "k_rank": 123,
          "k_per_9_value": 10.525424,
          "k_per_9_rank": 20,
          "whip_value": 1.233,
          "whip_rank": null,
          "war_value": 1.17,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9727,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9727,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.984,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0121,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.072,
        "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": 49.2,
    "ER": 22,
    "H": 40,
    "BB": 17,
    "SO": 61,
    "HR": 7,
    "ERA": 3.9865771812080535,
    "WHIP": 1.1476510067114092,
    "K9": 11.053691275167784,
    "HR9": 1.268456375838926,
    "games_pitched": 10,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "683003",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 79,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 79,
    "pitch_usage": 0.0,
    "release_speed": 93.66750722649874,
    "release_spin_rate": 2505.3321423171064,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 79,
      "pitch_usage": 0.0,
      "release_speed": 93.66750722649874,
      "release_spin_rate": 2505.3321423171064,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6675,
    "release_spin_rate": 2505.3321,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.2124,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.517,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7727,
    "prior_weight": 0.2273
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "683003",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 17,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 22.2,
        "ER": 14.0,
        "R": 14.0,
        "H": 23.0,
        "BB": 12.0,
        "SO": 30.0,
        "HR": 3.0,
        "BF": 104.0,
        "Pitches": 418.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.8,
        "R": 2.8,
        "H": 4.6,
        "BB": 2.4,
        "SO": 6.0,
        "HR": 0.6,
        "BF": 20.8,
        "Pitches": 83.6
      },
      "rates": {
        "ERA": 5.5588,
        "WHIP": 1.5441,
        "ER_per_IP": 0.61765,
        "H_per_IP": 1.01471,
        "BB_per_IP": 0.52941,
        "SO_per_IP": 1.32353,
        "HR_per_IP": 0.13235
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 49.2,
        "ER": 22.0,
        "R": 22.0,
        "H": 40.0,
        "BB": 17.0,
        "SO": 61.0,
        "HR": 7.0,
        "BF": 207.0,
        "Pitches": 812.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.2,
        "R": 2.2,
        "H": 4.0,
        "BB": 1.7,
        "SO": 6.1,
        "HR": 0.7,
        "BF": 20.7,
        "Pitches": 81.2
      },
      "rates": {
        "ERA": 3.9866,
        "WHIP": 1.1477,
        "ER_per_IP": 0.44295,
        "H_per_IP": 0.80537,
        "BB_per_IP": 0.34228,
        "SO_per_IP": 1.22819,
        "HR_per_IP": 0.14094
      }
    },
    "season": {
      "games": 17,
      "totals": {
        "IP": 78.2,
        "ER": 39.0,
        "R": 40.0,
        "H": 69.0,
        "BB": 28.0,
        "SO": 92.0,
        "HR": 12.0,
        "BF": 333.0,
        "Pitches": 1312.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.2941,
        "R": 2.3529,
        "H": 4.0588,
        "BB": 1.6471,
        "SO": 5.4118,
        "HR": 0.7059,
        "BF": 19.5882,
        "Pitches": 77.1765
      },
      "rates": {
        "ERA": 4.4619,
        "WHIP": 1.2331,
        "ER_per_IP": 0.49576,
        "H_per_IP": 0.87712,
        "BB_per_IP": 0.35593,
        "SO_per_IP": 1.16949,
        "HR_per_IP": 0.15254
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 4.2,
    "predicted_ER": 2.5,
    "predicted_H": 4.411,
    "predicted_BB": 1.979,
    "predicted_SO": 5.645,
    "predicted_HR": 0.671,
    "predicted_ERA": 4.7295,
    "predicted_WHIP": 1.3435
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.446,
  "form_weight": 0.554,
  "form_reliability": 0.7727,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7727,
    "prior_weight": 0.2273
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 4.2,
      "final": 4.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.5,
      "final": 2.723,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 4.411,
      "final": 3.3356,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.979,
      "final": 1.9884,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 5.645,
      "final": 4.9113,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.671,
      "final": 0.8177,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.7295,
      "final": 4.7295,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3435,
      "final": 1.3435,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherGregory Soto
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6330
ESPN Rank118
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO3
Season ERA2.6413
Season WHIP1.0109
Role Avg IP1.0050
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "opponent": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "edges": {
    "quality_edge": 0.1543,
    "offense_edge": 0.0767,
    "opponent_offense_edge": 0.0504,
    "defense_strength": -0.0243,
    "opponent_defense_weakness": -0.0127,
    "recent_win_pct_edge": 0.5
  },
  "player_factors": {
    "ip": 1.0034,
    "run_prevention": 1.0028,
    "strikeout": 1.0006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "642397",
    "profile": {
      "available": true,
      "pitcher_id": "642397",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 224.0,
        "k_percent": 28.0,
        "bb_percent": 9.4,
        "woba": 0.268,
        "xwoba": 0.264,
        "sweet_spot_percent": 30.7,
        "barrel_batted_rate": 4.6,
        "hard_hit_percent": 34.0,
        "avg_best_speed": 74.7644,
        "avg_hyper_speed": 93.2582,
        "whiff_percent": 28.3,
        "swing_percent": 43.8
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9902,
        "command_and_miss": 0.5407,
        "regression_edge": 0.1143,
        "xwoba_edge": 1.3429,
        "barrel_edge": 0.5556,
        "hard_hit_edge": 0.5571,
        "whiff_edge": 0.4714,
        "bb_edge": -0.05,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "642397",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.633,
      "sample_weight": 0.896,
      "run_prevention_factor": 0.9462,
      "strikeout_factor": 1.0476,
      "walk_factor": 1.0036,
      "homer_factor": 0.9041,
      "woba_minus_xwoba": 0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "642397",
        "espn_id": 39804,
        "player_name": "Gregory Soto",
        "team": "PIT",
        "role": "pitcher",
        "espn_rank": 118,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 118,
          "gp_value": 62.0,
          "gp_rank": 32,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 3.0815,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 104,
          "l_value": 4.0,
          "l_rank": 186,
          "sv_value": 14.0,
          "sv_rank": 23,
          "hld_value": 12.0,
          "hld_rank": 63,
          "ip_value": 61.1,
          "ip_rank": 226,
          "h_value": 42.0,
          "h_rank": 304,
          "er_value": 21.0,
          "er_rank": 307,
          "hr_value": 5.0,
          "hr_rank": 319,
          "bb_value": 24.0,
          "bb_rank": 230,
          "k_value": 71.0,
          "k_rank": 177,
          "k_per_9_value": 10.418478,
          "k_per_9_rank": 21,
          "whip_value": 1.076,
          "whip_rank": null,
          "war_value": 1.53,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9518,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9518,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0032,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9141,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0426,
        "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": 6,
    "BB": 2,
    "SO": 10,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.8275862068965518,
    "K9": 9.310344827586208,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "642397",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.379,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7123,
    "prior_weight": 0.2877
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "642397",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 61,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 58.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 11.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.4615,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.46154,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 0.0,
        "R": 1.0,
        "H": 6.0,
        "BB": 2.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 131.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.1,
        "H": 0.6,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 13.1
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8276,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.62069,
        "BB_per_IP": 0.2069,
        "SO_per_IP": 1.03448,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 61,
      "totals": {
        "IP": 61.1,
        "ER": 18.0,
        "R": 22.0,
        "H": 39.0,
        "BB": 23.0,
        "SO": 71.0,
        "HR": 5.0,
        "BF": 250.0,
        "Pitches": 1006.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2951,
        "R": 0.3607,
        "H": 0.6393,
        "BB": 0.377,
        "SO": 1.1639,
        "HR": 0.082,
        "BF": 4.0984,
        "Pitches": 16.4918
      },
      "rates": {
        "ERA": 2.6413,
        "WHIP": 1.0109,
        "ER_per_IP": 0.29348,
        "H_per_IP": 0.63587,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.15761,
        "HR_per_IP": 0.08152
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.187,
    "predicted_H": 0.673,
    "predicted_BB": 0.212,
    "predicted_SO": 0.915,
    "predicted_HR": 0.054,
    "predicted_ERA": 1.6786,
    "predicted_WHIP": 0.8851
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4716,
  "form_weight": 0.5284,
  "form_reliability": 0.7123,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.379,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7123,
    "prior_weight": 0.2877
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.187,
      "final": 0.0988,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.673,
      "final": 0.3556,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.212,
      "final": 0.5836,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 0.915,
      "final": 1.8982,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.054,
      "final": 0.0285,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.6786,
      "final": 1.6786,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8851,
      "final": 0.8851,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherLuke Weaver
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3311
ESPN Rank91
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO2
Season ERA2.6503
Season WHIP0.9755
Role Avg IP1.0250
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "opponent": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "edges": {
    "quality_edge": 0.1543,
    "offense_edge": 0.0767,
    "opponent_offense_edge": 0.0504,
    "defense_strength": -0.0243,
    "opponent_defense_weakness": -0.0127,
    "recent_win_pct_edge": 0.5
  },
  "player_factors": {
    "ip": 1.0034,
    "run_prevention": 1.0028,
    "strikeout": 1.0006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "596133",
    "profile": {
      "available": true,
      "pitcher_id": "596133",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 185.0,
        "k_percent": 26.4,
        "bb_percent": 6.9,
        "woba": 0.251,
        "xwoba": 0.28,
        "sweet_spot_percent": 31.9,
        "barrel_batted_rate": 7.8,
        "hard_hit_percent": 36.2,
        "avg_best_speed": 78.5866,
        "avg_hyper_speed": 93.5265,
        "whiff_percent": 30.5,
        "swing_percent": 53.0
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6345,
        "command_and_miss": 0.6729,
        "regression_edge": -0.8286,
        "xwoba_edge": 0.8857,
        "barrel_edge": -0.1556,
        "hard_hit_edge": 0.2429,
        "whiff_edge": 0.7857,
        "bb_edge": 0.575,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "596133",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.3311,
      "sample_weight": 0.74,
      "run_prevention_factor": 0.9719,
      "strikeout_factor": 1.0419,
      "walk_factor": 0.966,
      "homer_factor": 0.9824,
      "woba_minus_xwoba": -0.029,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "596133",
        "espn_id": 33770,
        "player_name": "Luke Weaver",
        "team": "PIT",
        "role": "pitcher",
        "espn_rank": 91,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 91,
          "gp_value": 53.0,
          "gp_rank": 87,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.6503,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 316,
          "l_value": 1.0,
          "l_rank": 427,
          "sv_value": 1.0,
          "sv_rank": 139,
          "hld_value": 19.0,
          "hld_rank": 18,
          "ip_value": 54.1,
          "ip_rank": 273,
          "h_value": 38.0,
          "h_rank": 345,
          "er_value": 16.0,
          "er_rank": 398,
          "hr_value": 4.0,
          "hr_rank": 375,
          "bb_value": 15.0,
          "bb_rank": 382,
          "k_value": 57.0,
          "k_rank": 243,
          "k_per_9_value": 9.441718,
          "k_per_9_rank": 24,
          "whip_value": 0.9754,
          "whip_rank": null,
          "war_value": 1.75,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9792,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9792,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9748,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.987,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.031,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 7,
    "H": 12,
    "BB": 3,
    "SO": 12,
    "HR": 1,
    "ERA": 6.750000000000001,
    "WHIP": 1.6071428571428574,
    "K9": 11.571428571428573,
    "HR9": 0.9642857142857144,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "596133",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.966,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6868,
    "prior_weight": 0.3132
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "596133",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 53,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 6.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 20.0,
        "Pitches": 66.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.2,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 13.2
      },
      "rates": {
        "ERA": 5.7857,
        "WHIP": 1.5,
        "ER_per_IP": 0.64286,
        "H_per_IP": 1.28571,
        "BB_per_IP": 0.21429,
        "SO_per_IP": 0.85714,
        "HR_per_IP": 0.21429
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 7.0,
        "R": 7.0,
        "H": 12.0,
        "BB": 3.0,
        "SO": 12.0,
        "HR": 1.0,
        "BF": 42.0,
        "Pitches": 167.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.7,
        "R": 0.7,
        "H": 1.2,
        "BB": 0.3,
        "SO": 1.2,
        "HR": 0.1,
        "BF": 4.2,
        "Pitches": 16.7
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.6071,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.28571,
        "BB_per_IP": 0.32143,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 53,
      "totals": {
        "IP": 54.1,
        "ER": 16.0,
        "R": 17.0,
        "H": 38.0,
        "BB": 15.0,
        "SO": 57.0,
        "HR": 4.0,
        "BF": 216.0,
        "Pitches": 817.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3019,
        "R": 0.3208,
        "H": 0.717,
        "BB": 0.283,
        "SO": 1.0755,
        "HR": 0.0755,
        "BF": 4.0755,
        "Pitches": 15.4151
      },
      "rates": {
        "ERA": 2.6503,
        "WHIP": 0.9755,
        "ER_per_IP": 0.29448,
        "H_per_IP": 0.69939,
        "BB_per_IP": 0.27607,
        "SO_per_IP": 1.04908,
        "HR_per_IP": 0.07362
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.577,
    "predicted_H": 1.107,
    "predicted_BB": 0.298,
    "predicted_SO": 1.012,
    "predicted_HR": 0.148,
    "predicted_ERA": 5.1925,
    "predicted_WHIP": 1.405
  }
}
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.6868,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.966,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6868,
    "prior_weight": 0.3132
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.577,
      "final": 0.2987,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.107,
      "final": 0.5731,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.298,
      "final": 0.6366,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.012,
      "final": 1.4885,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.148,
      "final": 0.0766,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.1925,
      "final": 5.1925,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.405,
      "final": 1.405,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherMason Montgomery
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.8246
ESPN Rank67
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.5220
Season WHIP1.0055
Role Avg IP0.9940
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "opponent": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "edges": {
    "quality_edge": 0.1543,
    "offense_edge": 0.0767,
    "opponent_offense_edge": 0.0504,
    "defense_strength": -0.0243,
    "opponent_defense_weakness": -0.0127,
    "recent_win_pct_edge": 0.5
  },
  "player_factors": {
    "ip": 1.0034,
    "run_prevention": 1.0028,
    "strikeout": 1.0006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "682254",
    "profile": {
      "available": true,
      "pitcher_id": "682254",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 208.0,
        "k_percent": 38.2,
        "bb_percent": 9.3,
        "woba": 0.245,
        "xwoba": 0.249,
        "sweet_spot_percent": 25.8,
        "barrel_batted_rate": 7.0,
        "hard_hit_percent": 41.4,
        "avg_best_speed": 75.4671,
        "avg_hyper_speed": 94.6738,
        "whiff_percent": 32.2,
        "swing_percent": 49.7
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.142,
        "command_and_miss": 1.3964,
        "regression_edge": -0.1143,
        "xwoba_edge": 1.7714,
        "barrel_edge": 0.0222,
        "hard_hit_edge": -0.5,
        "whiff_edge": 1.0286,
        "bb_edge": -0.025,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "682254",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.8246,
      "sample_weight": 0.832,
      "run_prevention_factor": 0.9299,
      "strikeout_factor": 1.1113,
      "walk_factor": 1.0017,
      "homer_factor": 0.9709,
      "woba_minus_xwoba": -0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "682254",
        "espn_id": 4424112,
        "player_name": "Mason Montgomery",
        "team": "PIT",
        "role": "pitcher",
        "espn_rank": 67,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 67,
          "gp_value": 62.0,
          "gp_rank": 32,
          "gs_value": 5.0,
          "gs_rank": 221,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.8186,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 104,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 11.0,
          "sv_rank": 27,
          "hld_value": 9.0,
          "hld_rank": 101,
          "ip_value": 60.2,
          "ip_rank": 234,
          "h_value": 40.0,
          "h_rank": 322,
          "er_value": 19.0,
          "er_rank": 331,
          "hr_value": 5.0,
          "hr_rank": 319,
          "bb_value": 23.0,
          "bb_rank": 245,
          "k_value": 94.0,
          "k_rank": 117,
          "k_per_9_value": 13.945055,
          "k_per_9_rank": 13,
          "whip_value": 1.0384,
          "whip_rank": null,
          "war_value": 2.14,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9417,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9417,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0014,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9758,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0926,
        "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": 0,
    "H": 4,
    "BB": 2,
    "SO": 12,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.5806451612903225,
    "K9": 10.451612903225806,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "682254",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.244,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.71,
    "prior_weight": 0.29
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "682254",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 61,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 80.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 36.0,
        "Pitches": 154.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.6,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.5806,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.3871,
        "BB_per_IP": 0.19355,
        "SO_per_IP": 1.16129,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 61,
      "totals": {
        "IP": 60.2,
        "ER": 17.0,
        "R": 17.0,
        "H": 38.0,
        "BB": 23.0,
        "SO": 94.0,
        "HR": 4.0,
        "BF": 244.0,
        "Pitches": 1031.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2787,
        "R": 0.2787,
        "H": 0.623,
        "BB": 0.377,
        "SO": 1.541,
        "HR": 0.0656,
        "BF": 4.0,
        "Pitches": 16.9016
      },
      "rates": {
        "ERA": 2.522,
        "WHIP": 1.0055,
        "ER_per_IP": 0.28022,
        "H_per_IP": 0.62637,
        "BB_per_IP": 0.37912,
        "SO_per_IP": 1.54945,
        "HR_per_IP": 0.06593
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.186,
    "predicted_H": 0.659,
    "predicted_BB": 0.274,
    "predicted_SO": 1.101,
    "predicted_HR": 0.052,
    "predicted_ERA": 1.6708,
    "predicted_WHIP": 0.9326
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4725,
  "form_weight": 0.5275,
  "form_reliability": 0.71,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.244,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.71,
    "prior_weight": 0.29
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.186,
      "final": 0.0981,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.659,
      "final": 0.3476,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.274,
      "final": 0.1445,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.101,
      "final": 1.0533,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.052,
      "final": 0.0274,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.6708,
      "final": 1.6708,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9326,
      "final": 0.9326,
      "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
PitcherYohan Ramírez
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4407
ESPN Rank66
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H2
Pre BB0
Pre SO1
Season ERA3.1154
Season WHIP1.2564
Role Avg IP1.2880
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "opponent": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "edges": {
    "quality_edge": 0.1543,
    "offense_edge": 0.0767,
    "opponent_offense_edge": 0.0504,
    "defense_strength": -0.0243,
    "opponent_defense_weakness": -0.0127,
    "recent_win_pct_edge": 0.5
  },
  "player_factors": {
    "ip": 1.0034,
    "run_prevention": 1.0028,
    "strikeout": 1.0006
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "670990",
    "profile": {
      "available": true,
      "pitcher_id": "670990",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 281.0,
        "k_percent": 27.1,
        "bb_percent": 12.8,
        "woba": 0.282,
        "xwoba": 0.289,
        "sweet_spot_percent": 32.6,
        "barrel_batted_rate": 4.7,
        "hard_hit_percent": 31.1,
        "avg_best_speed": 71.936,
        "avg_hyper_speed": 92.7245,
        "whiff_percent": 27.3,
        "swing_percent": 44.6
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7007,
        "command_and_miss": 0.2629,
        "regression_edge": -0.2,
        "xwoba_edge": 0.6286,
        "barrel_edge": 0.5333,
        "hard_hit_edge": 0.9714,
        "whiff_edge": 0.3286,
        "bb_edge": -0.9,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "670990",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.4407,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9625,
      "strikeout_factor": 1.0423,
      "walk_factor": 1.072,
      "homer_factor": 0.8996,
      "woba_minus_xwoba": -0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "670990",
        "espn_id": 41893,
        "player_name": "Yohan Ramirez",
        "team": "PIT",
        "role": "pitcher",
        "espn_rank": 66,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 66,
          "gp_value": 60.0,
          "gp_rank": 47,
          "gs_value": 1.0,
          "gs_rank": 297,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 3.1153,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 104,
          "l_value": 4.0,
          "l_rank": 186,
          "sv_value": 2.0,
          "sv_rank": 93,
          "hld_value": 9.0,
          "hld_rank": 101,
          "ip_value": 78.0,
          "ip_rank": 167,
          "h_value": 55.0,
          "h_rank": 210,
          "er_value": 27.0,
          "er_rank": 214,
          "hr_value": 4.0,
          "hr_rank": 375,
          "bb_value": 43.0,
          "bb_rank": 67,
          "k_value": 91.0,
          "k_rank": 125,
          "k_per_9_value": 10.5,
          "k_per_9_rank": 20,
          "whip_value": 1.2564,
          "whip_rank": null,
          "war_value": 2.18,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9625,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9625,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.072,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.8996,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0423,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.2,
    "ER": 4,
    "H": 7,
    "BB": 2,
    "SO": 12,
    "HR": 0,
    "ERA": 3.724137931034483,
    "WHIP": 0.9310344827586208,
    "K9": 11.172413793103448,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "670990",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.742,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7589,
    "prior_weight": 0.2411
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670990",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 87.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.2,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 0.9375,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.1875,
        "SO_per_IP": 0.9375,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 4.0,
        "R": 5.0,
        "H": 7.0,
        "BB": 2.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 157.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 0.7,
        "BB": 0.2,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 15.7
      },
      "rates": {
        "ERA": 3.7241,
        "WHIP": 0.931,
        "ER_per_IP": 0.41379,
        "H_per_IP": 0.72414,
        "BB_per_IP": 0.2069,
        "SO_per_IP": 1.24138,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 60,
      "totals": {
        "IP": 78.0,
        "ER": 27.0,
        "R": 32.0,
        "H": 55.0,
        "BB": 43.0,
        "SO": 91.0,
        "HR": 4.0,
        "BF": 336.0,
        "Pitches": 1298.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.45,
        "R": 0.5333,
        "H": 0.9167,
        "BB": 0.7167,
        "SO": 1.5167,
        "HR": 0.0667,
        "BF": 5.6,
        "Pitches": 21.6333
      },
      "rates": {
        "ERA": 3.1154,
        "WHIP": 1.2564,
        "ER_per_IP": 0.34615,
        "H_per_IP": 0.70513,
        "BB_per_IP": 0.55128,
        "SO_per_IP": 1.16667,
        "HR_per_IP": 0.05128
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.433,
    "predicted_H": 0.83,
    "predicted_BB": 0.307,
    "predicted_SO": 1.107,
    "predicted_HR": 0.045,
    "predicted_ERA": 3.706,
    "predicted_WHIP": 1.0823
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4519,
  "form_weight": 0.5481,
  "form_reliability": 0.7589,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.742,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7589,
    "prior_weight": 0.2411
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.433,
      "final": 0.2373,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.83,
      "final": 1.3587,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.307,
      "final": 0.1683,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.107,
      "final": 1.0587,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.045,
      "final": 0.0247,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.706,
      "final": 3.706,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0823,
      "final": 1.0823,
      "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."
}
Konnor Griffin (804606) · BATTER · DH · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 250
All-history rows before 20260910: 250
System season_avg: 0.2660
Data season_avg (2026 season-to-date): 0.2716
Diff (system - data): -0.0056
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.1750.0001.000Hitting_2B0.1720.000-0.1720.000
predicted_3B0.0320.0000.000Hitting_3B0.0440.000-0.0440.000
predicted_AB3.8733.0004.000Hitting_AB3.9764.000-0.976-1.000
predicted_AVG0.2660.3330.250Hitting_AVG0.2720.2500.0620.083
predicted_BB0.2861.0000.000Hitting_BB0.2921.0000.7080.000
predicted_CS-0.0000.000BaseRunning_CS0.0120.000-0.0120.000
predicted_H1.0321.0001.000Hitting_H1.0801.000-0.0800.000
predicted_HR0.0790.0000.000Hitting_HR0.0920.000-0.0920.000
predicted_OBP0.3170.5000.250Hitting_OBP0.3310.4000.1690.100
predicted_R0.5871.0001.000Hitting_R0.6000.0000.4001.000
predicted_RBI0.4291.0000.000Hitting_RBI0.4762.0000.524-1.000
predicted_SLG0.3890.3330.500Hitting_SLG0.4060.250-0.0730.083
predicted_SO1.1270.0001.000Hitting_SO1.1401.000-1.140-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.2860 -> 1.0000 (boost 0.7140, better)
Biggest Deboostpredicted_SO: 1.1270 -> 0.0000 (deboost -1.1270, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_SLG: 0.3890 -> 0.3654 (deboost -0.0236, worse)Final model input calibrated 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.3654 -> 0.3734 (boost 0.0080, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61524predicted_AB: 3.8818 -> 4.0000 (boost 0.1182, better)predicted_RBI: 0.4474 -> 0.0000 (deboost -0.4474, worse)AB rounded to 4 (raw=3.88), rates preserved: AVG=0.233 HR/AB=0.018
6consistency_constraints11010predicted_R: 0.5897 -> 1.0000 (boost 0.4103, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4786 (boost 0.4786, better)predicted_H: 1.0000 -> 0.8911 (deboost -0.1089, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62433predicted_2B: 0.1901 -> 1.0000 (boost 0.8099, better)predicted_RBI: 0.4786 -> 0.0000 (deboost -0.4786, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference42231predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2210 -> 0.2609 (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": "804606",
  "player_name": "Konnor Griffin",
  "position": "DH",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.175,
        "predicted_3B": 0.032,
        "predicted_AB": 3.873,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.286,
        "predicted_H": 1.032,
        "predicted_HR": 0.079,
        "predicted_OBP": 0.317,
        "predicted_R": 0.587,
        "predicted_RBI": 0.429,
        "predicted_SLG": 0.389,
        "predicted_SO": 1.127
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1716,
        "predicted_3B": 0.0265,
        "predicted_AB": 3.8818,
        "predicted_AVG": 0.2536,
        "predicted_BB": 0.302,
        "predicted_H": 0.9853,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.0697,
        "predicted_OBP": 0.3101,
        "predicted_R": 0.5626,
        "predicted_RBI": 0.4269,
        "predicted_SLG": 0.3654,
        "predicted_SO": 1.1333
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.175,
          "after": 0.1716,
          "delta": -0.0034,
          "percent_delta": -0.0194,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.032,
          "after": 0.0265,
          "delta": -0.0055,
          "percent_delta": -0.1719,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.873,
          "after": 3.8818,
          "delta": 0.0088,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.2536,
          "delta": -0.0124,
          "percent_delta": -0.0466,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.286,
          "after": 0.302,
          "delta": 0.016,
          "percent_delta": 0.0559,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.032,
          "after": 0.9853,
          "delta": -0.0467,
          "percent_delta": -0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.079,
          "after": 0.0697,
          "delta": -0.0093,
          "percent_delta": -0.1177,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.3101,
          "delta": -0.0069,
          "percent_delta": -0.0218,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.587,
          "after": 0.5626,
          "delta": -0.0244,
          "percent_delta": -0.0416,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.429,
          "after": 0.4269,
          "delta": -0.0021,
          "percent_delta": -0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.3654,
          "delta": -0.0236,
          "percent_delta": -0.0607,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.127,
          "after": 1.1333,
          "delta": 0.0063,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.3654,
          "delta": -0.0236,
          "percent_delta": -0.0607,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 63
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1716,
        "predicted_3B": 0.0265,
        "predicted_AB": 3.8818,
        "predicted_AVG": 0.2609,
        "predicted_BB": 0.3043,
        "predicted_H": 1.0127,
        "predicted_HBP": 0.038,
        "predicted_HR": 0.0708,
        "predicted_OBP": 0.3146,
        "predicted_R": 0.5897,
        "predicted_RBI": 0.4474,
        "predicted_SLG": 0.3734,
        "predicted_SO": 1.1246
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1716,
          "after": 0.1716,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0265,
          "after": 0.0265,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8818,
          "after": 3.8818,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2536,
          "after": 0.2609,
          "delta": 0.0073,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.302,
          "after": 0.3043,
          "delta": 0.0023,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9853,
          "after": 1.0127,
          "delta": 0.0274,
          "percent_delta": 0.0278,
          "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.0697,
          "after": 0.0708,
          "delta": 0.0011,
          "percent_delta": 0.0158,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3101,
          "after": 0.3146,
          "delta": 0.0045,
          "percent_delta": 0.0145,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5626,
          "after": 0.5897,
          "delta": 0.0271,
          "percent_delta": 0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4269,
          "after": 0.4474,
          "delta": 0.0205,
          "percent_delta": 0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3654,
          "after": 0.3734,
          "delta": 0.008,
          "percent_delta": 0.0219,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1333,
          "after": 1.1246,
          "delta": -0.0087,
          "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.3654,
          "after": 0.3734,
          "delta": 0.008,
          "percent_delta": 0.0219,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.88), rates preserved: AVG=0.233 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.1716,
          "after": 0.0,
          "delta": -0.1716,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0265,
          "after": 0.0,
          "delta": -0.0265,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8818,
          "after": 4.0,
          "delta": 0.1182,
          "percent_delta": 0.0304,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3043,
          "after": 0.0,
          "delta": -0.3043,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0127,
          "after": 1.0,
          "delta": -0.0127,
          "percent_delta": -0.0125,
          "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.0708,
          "after": 0.0,
          "delta": -0.0708,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4474,
          "after": 0.0,
          "delta": -0.4474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1246,
          "after": 1.0,
          "delta": -0.1246,
          "percent_delta": -0.1108,
          "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.8818,
          "after": 4.0,
          "delta": 0.1182,
          "percent_delta": 0.0304,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4474,
          "after": 0.0,
          "delta": -0.4474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5897,
          "after": 1.0,
          "delta": 0.4103,
          "percent_delta": 0.6958,
          "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.5897,
          "after": 1.0,
          "delta": 0.4103,
          "percent_delta": 0.6958,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1901,
        "predicted_3B": 0.0151,
        "predicted_BB": 0.4232,
        "predicted_H": 0.8911,
        "predicted_HR": 0.1164,
        "predicted_RBI": 0.4786,
        "predicted_SO": 1.3084
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1901,
          "delta": 0.1901,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0151,
          "delta": 0.0151,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4232,
          "delta": 0.4232,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8911,
          "delta": -0.1089,
          "percent_delta": -0.1089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1164,
          "delta": 0.1164,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4786,
          "delta": 0.4786,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3084,
          "delta": 0.3084,
          "percent_delta": 0.3084,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4786,
          "delta": 0.4786,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8911,
          "delta": -0.1089,
          "percent_delta": -0.1089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1901,
          "after": 1.0,
          "delta": 0.8099,
          "percent_delta": 4.2604,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0151,
          "after": 0.0,
          "delta": -0.0151,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4232,
          "after": 0.0,
          "delta": -0.4232,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8911,
          "after": 1.0,
          "delta": 0.1089,
          "percent_delta": 0.1222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1164,
          "after": 0.0,
          "delta": -0.1164,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4786,
          "after": 0.0,
          "delta": -0.4786,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3084,
          "after": 1.0,
          "delta": -0.3084,
          "percent_delta": -0.2357,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1901,
          "after": 1.0,
          "delta": 0.8099,
          "percent_delta": 4.2604,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4786,
          "after": 0.0,
          "delta": -0.4786,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.221,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.362,
        "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.2609,
          "after": 0.221,
          "delta": -0.0399,
          "percent_delta": -0.1529,
          "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.3146,
          "after": 0.3,
          "delta": -0.0146,
          "percent_delta": -0.0464,
          "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.3734,
          "after": 0.362,
          "delta": -0.0114,
          "percent_delta": -0.0305,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2609,
        "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.3146,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3734,
        "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.221,
          "after": 0.2609,
          "delta": 0.0399,
          "percent_delta": 0.1805,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.3146,
          "delta": 0.0146,
          "percent_delta": 0.0487,
          "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.362,
          "after": 0.3734,
          "delta": 0.0114,
          "percent_delta": 0.0316,
          "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.221,
          "after": 0.2609,
          "delta": 0.0399,
          "percent_delta": 0.1805,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.175,
        "after": 0.0,
        "delta": -0.175,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.032,
        "after": 0.0,
        "delta": -0.032,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.873,
        "after": 3.0,
        "delta": -0.873,
        "percent_delta": -0.2254,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.2609,
        "delta": -0.0051,
        "percent_delta": -0.0192,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.286,
        "after": 1.0,
        "delta": 0.714,
        "percent_delta": 2.4965,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.032,
        "after": 1.0,
        "delta": -0.032,
        "percent_delta": -0.031,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.079,
        "after": 0.0,
        "delta": -0.079,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.317,
        "after": 0.3146,
        "delta": -0.0024,
        "percent_delta": -0.0076,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.587,
        "after": 1.0,
        "delta": 0.413,
        "percent_delta": 0.7036,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.429,
        "after": 1.0,
        "delta": 0.571,
        "percent_delta": 1.331,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.389,
        "after": 0.3734,
        "delta": -0.0156,
        "percent_delta": -0.0401,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.127,
        "after": 0.0,
        "delta": -1.127,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 4,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.286,
        "after": 1.0,
        "delta": 0.714,
        "percent_delta": 2.4965,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.127,
        "after": 0.0,
        "delta": -1.127,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.175-
predicted_3B0.032-
predicted_AB3.873-
predicted_AVG0.266-
predicted_BB0.286-
predicted_H1.032-
predicted_HR0.079-
predicted_OBP0.317-
predicted_R0.587-
predicted_RBI0.429-
predicted_SLG0.389-
predicted_SO1.127-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.172-0.003
predicted_3B0.026-0.006
predicted_AB3.8820.009
predicted_AVG0.254-0.012
predicted_BB0.3020.016
predicted_H0.985-0.047
predicted_HBP0.038-
predicted_HR0.070-0.009
predicted_OBP0.310-0.007
predicted_R0.563-0.024
predicted_RBI0.427-0.002
predicted_SLG0.365-0.024
predicted_SO1.1330.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.1720.000
predicted_3B0.0260.000
predicted_AB3.8820.000
predicted_AVG0.2610.007
predicted_BB0.3040.002
predicted_H1.0130.027
predicted_HBP0.0380.000
predicted_HR0.0710.001
predicted_OBP0.3150.005
predicted_R0.5900.027
predicted_RBI0.4470.021
predicted_SLG0.3730.008
predicted_SO1.125-0.009
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1900.190
3B0.0150.015
BB0.4230.423
H0.891-0.109
HR0.1160.116
RBI0.4790.479
SO1.3080.308
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.810
3B0.000-0.015
AB4.0000.000
BB0.000-0.423
H1.0000.109
HR0.000-0.116
R1.0000.000
RBI0.000-0.479
SO1.000-0.308
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.172
predicted_3B0.000-0.026
predicted_AB4.0000.118
predicted_AVG0.221-0.040
predicted_BB0.000-0.304
predicted_H1.000-0.013
predicted_HR0.000-0.071
predicted_OBP0.300-0.015
predicted_R1.0000.410
predicted_RBI0.000-0.447
predicted_SLG0.362-0.011
predicted_SO1.000-0.125
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 63
Reference playing time: 3.873
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0001.0000.0000.0002.0002.0002.0006.0000.15790.23810.21050.15790.00000.10530.10530.3158
last_100.2010-41.0009.0001.0000.0000.0004.0005.0004.00013.0000.21950.28890.24390.21950.00000.09760.09760.3171
season0.6063-244.00065.00011.0002.0005.00027.00037.00018.00071.0000.26640.32460.38930.26640.02050.11070.07380.2910
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1670
predicted_3B0.0190
predicted_AB3.8940
predicted_AVG0.2366
predicted_BB0.3240
predicted_H0.9210
predicted_HBP0.0380
predicted_HR0.0570
predicted_OBP0.3007
predicted_R0.5290
predicted_RBI0.4240
predicted_SLG0.3328
predicted_SO1.1420
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17500.16700.1716model_form_blend
predicted_3B0.03200.01900.0265model_form_blend
predicted_AB3.87303.89403.8818model_form_blend
predicted_AVG0.26600.23660.2536model_form_blend
predicted_BB0.28600.32400.3020model_form_blend
predicted_H1.03200.92100.9853model_form_blend
predicted_HBP-0.03800.0380form_only
predicted_HR0.07900.05700.0697model_form_blend
predicted_OBP0.31700.30070.3101model_form_blend
predicted_R0.58700.52900.5626model_form_blend
predicted_RBI0.42900.42400.4269model_form_blend
predicted_SLG0.38900.33280.3654model_form_blend
predicted_SO1.12701.14201.1333model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date250
Season rows before report date250
Report year2026
Profile rows used63
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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
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_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
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
allPositionsPlayedSS
gameID20260909_PIT@CHW
game_typefull
mlbID804606
playerID804606
playerNameKonnor Griffin
posSS
startedTrue
startingPositionSS
teamPIT
teamID22
game_date2026-09-09
sl_k_percent26.6
sl_bb_percent6.5
sl_woba0.316
sl_xwoba0.304
sl_xba0.24
sl_xslg0.391
sl_sweet_spot_percent31.4
sl_barrel_batted_rate8.2
sl_hard_hit_percent38.4
sl_exit_velocity_avg87.8
sl_launch_angle_avg6.0
sl_whiff_percent31.5
sl_swing_percent52.3
Oneil Cruz (665833) · BATTER · CF · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 304
All-history rows before 20260910: 304
System season_avg: 0.2700
Data season_avg (2026 season-to-date): 0.2758
Diff (system - data): -0.0058
System opponent_avg: 0.4440

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1460.0000.000Hitting_2B0.1680.000-0.1680.000
predicted_3B0.0120.0000.000Hitting_3B0.0030.000-0.0030.000
predicted_AB5.4704.0004.000Hitting_AB4.0564.000-0.0560.000
predicted_AVG0.2590.0000.250Hitting_AVG0.2760.250-0.276-0.250
predicted_BB0.5000.0001.000Hitting_BB0.4870.000-0.4870.000
predicted_CS-0.0000.000BaseRunning_CS0.0690.000-0.0690.000
predicted_H1.4200.0001.000Hitting_H1.1181.000-1.118-1.000
predicted_HR0.1700.0000.000Hitting_HR0.2340.000-0.2340.000
predicted_OBP0.3490.0000.400Hitting_OBP0.3600.250-0.360-0.250
predicted_R0.6710.0001.000Hitting_R0.7630.000-0.7630.000
predicted_RBI0.8700.0001.000Hitting_RBI0.7700.000-0.7700.000
predicted_SLG0.4270.0000.250Hitting_SLG0.4910.250-0.491-0.250
predicted_SO1.5241.0002.000Hitting_SO1.5661.000-0.5660.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AVG: 0.2590 -> 0.2736 (boost 0.0146, better)
Biggest Deboostpredicted_AB: 5.4700 -> 4.0000 (deboost -1.4700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AVG: 0.2590 -> 0.2673 (boost 0.0083, better)predicted_AB: 5.4700 -> 4.7853 (deboost -0.6847, worse)Final model input calibrated 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.2673 -> 0.2736 (boost 0.0063, better)predicted_SLG: 0.4252 -> 0.4064 (deboost -0.0188, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_RBI: 0.8191 -> 1.0000 (boost 0.1809, better)predicted_AB: 4.7853 -> 4.0000 (deboost -0.7853, worse)AB rounded to 4 (raw=5.47), rates preserved: AVG=0.214 HR/AB=0.028
6consistency_constraints11010predicted_R: 0.6517 -> 1.0000 (boost 0.3483, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_SO: 1.0000 -> 1.6819 (boost 0.6819, worse)predicted_RBI: 1.0000 -> 0.6213 (deboost -0.3787, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64233predicted_BB: 0.4836 -> 1.0000 (boost 0.5164, better)predicted_HR: 0.1610 -> 0.0000 (deboost -0.1610, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50514-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference30303-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2220 -> 0.2736 (boost 0.0516, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665833",
  "player_name": "Oneil Cruz",
  "position": "CF",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.146,
        "predicted_3B": 0.012,
        "predicted_AB": 5.47,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.5,
        "predicted_H": 1.42,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.349,
        "predicted_R": 0.671,
        "predicted_RBI": 0.87,
        "predicted_SLG": 0.427,
        "predicted_SO": 1.524
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1558,
        "predicted_3B": 0.0103,
        "predicted_AB": 4.7853,
        "predicted_AVG": 0.2673,
        "predicted_BB": 0.476,
        "predicted_H": 1.2737,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.1508,
        "predicted_OBP": 0.3517,
        "predicted_R": 0.6218,
        "predicted_RBI": 0.7815,
        "predicted_SLG": 0.4252,
        "predicted_SO": 1.4744
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.146,
          "after": 0.1558,
          "delta": 0.0098,
          "percent_delta": 0.0671,
          "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.47,
          "after": 4.7853,
          "delta": -0.6847,
          "percent_delta": -0.1252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2673,
          "delta": 0.0083,
          "percent_delta": 0.032,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5,
          "after": 0.476,
          "delta": -0.024,
          "percent_delta": -0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.42,
          "after": 1.2737,
          "delta": -0.1463,
          "percent_delta": -0.103,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1508,
          "delta": -0.0192,
          "percent_delta": -0.1129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.349,
          "after": 0.3517,
          "delta": 0.0027,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.671,
          "after": 0.6218,
          "delta": -0.0492,
          "percent_delta": -0.0733,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.87,
          "after": 0.7815,
          "delta": -0.0885,
          "percent_delta": -0.1017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.427,
          "after": 0.4252,
          "delta": -0.0018,
          "percent_delta": -0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.524,
          "after": 1.4744,
          "delta": -0.0496,
          "percent_delta": -0.0325,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2673,
          "delta": 0.0083,
          "percent_delta": 0.032,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.47,
          "after": 4.7853,
          "delta": -0.6847,
          "percent_delta": -0.1252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 82
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1558,
        "predicted_3B": 0.0103,
        "predicted_AB": 4.7853,
        "predicted_AVG": 0.2736,
        "predicted_BB": 0.4797,
        "predicted_H": 1.3091,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.1532,
        "predicted_OBP": 0.3398,
        "predicted_R": 0.6517,
        "predicted_RBI": 0.8191,
        "predicted_SLG": 0.4064,
        "predicted_SO": 1.463
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1558,
          "after": 0.1558,
          "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.7853,
          "after": 4.7853,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2673,
          "after": 0.2736,
          "delta": 0.0063,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.476,
          "after": 0.4797,
          "delta": 0.0037,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2737,
          "after": 1.3091,
          "delta": 0.0354,
          "percent_delta": 0.0278,
          "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.1508,
          "after": 0.1532,
          "delta": 0.0024,
          "percent_delta": 0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3517,
          "after": 0.3398,
          "delta": -0.0119,
          "percent_delta": -0.0338,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6218,
          "after": 0.6517,
          "delta": 0.0299,
          "percent_delta": 0.0481,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7815,
          "after": 0.8191,
          "delta": 0.0376,
          "percent_delta": 0.0481,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4252,
          "after": 0.4064,
          "delta": -0.0188,
          "percent_delta": -0.0442,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4744,
          "after": 1.463,
          "delta": -0.0114,
          "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_AVG",
          "before": 0.2673,
          "after": 0.2736,
          "delta": 0.0063,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4252,
          "after": 0.4064,
          "delta": -0.0188,
          "percent_delta": -0.0442,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.47), rates preserved: AVG=0.214 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.1558,
          "after": 0.0,
          "delta": -0.1558,
          "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.7853,
          "after": 4.0,
          "delta": -0.7853,
          "percent_delta": -0.1641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4797,
          "after": 0.0,
          "delta": -0.4797,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3091,
          "after": 1.0,
          "delta": -0.3091,
          "percent_delta": -0.2361,
          "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.1532,
          "after": 0.0,
          "delta": -0.1532,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8191,
          "after": 1.0,
          "delta": 0.1809,
          "percent_delta": 0.2209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.463,
          "after": 1.0,
          "delta": -0.463,
          "percent_delta": -0.3165,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.8191,
          "after": 1.0,
          "delta": 0.1809,
          "percent_delta": 0.2209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.7853,
          "after": 4.0,
          "delta": -0.7853,
          "percent_delta": -0.1641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6517,
          "after": 1.0,
          "delta": 0.3483,
          "percent_delta": 0.5344,
          "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.6517,
          "after": 1.0,
          "delta": 0.3483,
          "percent_delta": 0.5344,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1495,
        "predicted_3B": 0.0127,
        "predicted_BB": 0.4836,
        "predicted_H": 0.8362,
        "predicted_HR": 0.161,
        "predicted_RBI": 0.6213,
        "predicted_SO": 1.6819
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1495,
          "delta": 0.1495,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0127,
          "delta": 0.0127,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4836,
          "delta": 0.4836,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8362,
          "delta": -0.1638,
          "percent_delta": -0.1638,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.161,
          "delta": 0.161,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6213,
          "delta": -0.3787,
          "percent_delta": -0.3787,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.6819,
          "delta": 0.6819,
          "percent_delta": 0.6819,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.6819,
          "delta": 0.6819,
          "percent_delta": 0.6819,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.6213,
          "delta": -0.3787,
          "percent_delta": -0.3787,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1495,
          "after": 0.0,
          "delta": -0.1495,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0127,
          "after": 0.0,
          "delta": -0.0127,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4836,
          "after": 1.0,
          "delta": 0.5164,
          "percent_delta": 1.0678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8362,
          "after": 1.0,
          "delta": 0.1638,
          "percent_delta": 0.1959,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.161,
          "after": 0.0,
          "delta": -0.161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6213,
          "after": 1.0,
          "delta": 0.3787,
          "percent_delta": 0.6095,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6819,
          "after": 2.0,
          "delta": 0.3181,
          "percent_delta": 0.1891,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4836,
          "after": 1.0,
          "delta": 0.5164,
          "percent_delta": 1.0678,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.161,
          "after": 0.0,
          "delta": -0.161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.397,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2736,
          "after": 0.222,
          "delta": -0.0516,
          "percent_delta": -0.1886,
          "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.3398,
          "after": 0.316,
          "delta": -0.0238,
          "percent_delta": -0.07,
          "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.4064,
          "after": 0.397,
          "delta": -0.0094,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2736,
        "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.3398,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4064,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2736,
          "delta": 0.0516,
          "percent_delta": 0.2323,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.316,
          "after": 0.3398,
          "delta": 0.0238,
          "percent_delta": 0.0752,
          "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.397,
          "after": 0.4064,
          "delta": 0.0094,
          "percent_delta": 0.0238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2736,
          "delta": 0.0516,
          "percent_delta": 0.2323,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.146,
        "after": 0.0,
        "delta": -0.146,
        "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.47,
        "after": 4.0,
        "delta": -1.47,
        "percent_delta": -0.2687,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.2736,
        "delta": 0.0146,
        "percent_delta": 0.0564,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.42,
        "after": 0.0,
        "delta": -1.42,
        "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.349,
        "after": 0.3398,
        "delta": -0.0092,
        "percent_delta": -0.0264,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.671,
        "after": 0.0,
        "delta": -0.671,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.87,
        "after": 0.0,
        "delta": -0.87,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.427,
        "after": 0.4064,
        "delta": -0.0206,
        "percent_delta": -0.0482,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.524,
        "after": 1.0,
        "delta": -0.524,
        "percent_delta": -0.3438,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.2736,
        "delta": 0.0146,
        "percent_delta": 0.0564,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.47,
        "after": 4.0,
        "delta": -1.47,
        "percent_delta": -0.2687,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.146-
predicted_3B0.012-
predicted_AB5.470-
predicted_AVG0.259-
predicted_BB0.500-
predicted_H1.420-
predicted_HR0.170-
predicted_OBP0.349-
predicted_R0.671-
predicted_RBI0.870-
predicted_SLG0.427-
predicted_SO1.524-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.010-0.002
predicted_AB4.785-0.685
predicted_AVG0.2670.008
predicted_BB0.476-0.024
predicted_H1.274-0.146
predicted_HBP0.023-
predicted_HR0.151-0.019
predicted_OBP0.3520.003
predicted_R0.622-0.049
predicted_RBI0.781-0.089
predicted_SLG0.425-0.002
predicted_SO1.474-0.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.1560.000
predicted_3B0.0100.000
predicted_AB4.7850.000
predicted_AVG0.2740.006
predicted_BB0.4800.004
predicted_H1.3090.035
predicted_HBP0.0230.000
predicted_HR0.1530.002
predicted_OBP0.340-0.012
predicted_R0.6520.030
predicted_RBI0.8190.038
predicted_SLG0.406-0.019
predicted_SO1.463-0.011
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.47), rates preserved: AVG=0.214 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-
6. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1490.149
3B0.0130.013
BB0.4840.484
H0.836-0.164
HR0.1610.161
RBI0.621-0.379
SO1.6820.682
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.149
3B0.000-0.013
AB4.0000.000
BB1.0000.516
H1.0000.164
HR0.000-0.161
R1.0000.000
RBI1.0000.379
SO2.0000.318
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.156
predicted_3B0.000-0.010
predicted_AB4.000-0.785
predicted_AVG0.222-0.052
predicted_BB0.000-0.480
predicted_H1.000-0.309
predicted_HR0.000-0.153
predicted_OBP0.316-0.024
predicted_R1.0000.348
predicted_RBI1.0000.181
predicted_SLG0.397-0.009
predicted_SO1.000-0.463
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 82
Reference playing time: 5.470
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0005.0001.0000.0000.0002.0001.0001.0007.0000.26320.30000.31580.26320.00000.10530.05260.3684
last_100.2010-39.00013.0002.0000.0000.0008.0006.0006.00013.0000.33330.42220.38460.33330.00000.20510.15380.3333
season0.6082-319.00086.00012.0001.00017.00060.00055.00041.000125.0000.26960.35810.47340.26960.05330.18810.12850.3918
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1690
predicted_3B0.0080
predicted_AB3.8690
predicted_AVG0.2785
predicted_BB0.4440
predicted_H1.0780
predicted_HBP0.0230
predicted_HR0.1250
predicted_OBP0.3552
predicted_R0.5560
predicted_RBI0.6630
predicted_SLG0.4228
predicted_SO1.4080
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14600.16900.1558model_form_blend
predicted_3B0.01200.00800.0103model_form_blend
predicted_AB5.47003.86904.7853model_form_blend
predicted_AVG0.25900.27850.2673model_form_blend
predicted_BB0.50000.44400.4760model_form_blend
predicted_H1.42001.07801.2737model_form_blend
predicted_HBP-0.02300.0230form_only
predicted_HR0.17000.12500.1508model_form_blend
predicted_OBP0.34900.35520.3517model_form_blend
predicted_R0.67100.55600.6218model_form_blend
predicted_RBI0.87000.66300.7815model_form_blend
predicted_SLG0.42700.42280.4252model_form_blend
predicted_SO1.52401.40801.4744model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
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_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260909_PIT@CHW
game_typefull
mlbID665833
playerID665833
playerNameOneil Cruz
posCF
startedTrue
startingPositionCF
teamPIT
teamID22
game_date2026-09-09
sl_k_percent34.5
sl_bb_percent11.4
sl_woba0.363
sl_xwoba0.352
sl_xba0.247
sl_xslg0.476
sl_sweet_spot_percent33.5
sl_barrel_batted_rate16.9
sl_hard_hit_percent55.5
sl_exit_velocity_avg95.2
sl_launch_angle_avg6.3
sl_whiff_percent36.9
sl_swing_percent43.2
Bryan Reynolds (668804) · BATTER · LF · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 574
All-history rows before 20260910: 574
System season_avg: 0.2680
Data season_avg (2026 season-to-date): 0.2687
Diff (system - data): -0.0007
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.2450.0001.000Hitting_2B0.2440.000-0.2440.000
predicted_3B0.0140.0000.000Hitting_3B0.0170.000-0.0170.000
predicted_AB4.8104.0004.000Hitting_AB3.7674.0000.2330.000
predicted_AVG0.2690.0000.250Hitting_AVG0.2690.000-0.2690.000
predicted_BB0.5730.0001.000Hitting_BB0.6270.000-0.6270.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.2900.0001.000Hitting_H1.0120.000-1.0120.000
predicted_HR0.1800.0000.000Hitting_HR0.1270.000-0.1270.000
predicted_OBP0.3760.0000.400Hitting_OBP0.3800.000-0.3800.000
predicted_R0.6640.0001.000Hitting_R0.6950.000-0.6950.000
predicted_RBI0.6300.0001.000Hitting_RBI0.5240.000-0.5240.000
predicted_SLG0.5080.0000.500Hitting_SLG0.4440.000-0.4440.000
predicted_SO0.9861.0001.000Hitting_SO1.0680.000-0.0681.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.2690 -> 0.2906 (boost 0.0216, better)
Biggest Deboostpredicted_H: 1.2900 -> 0.0000 (deboost -1.2900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend62433predicted_AVG: 0.2690 -> 0.2857 (boost 0.0167, better)predicted_AB: 4.8100 -> 4.3189 (deboost -0.4911, worse)Final model input calibrated 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.5090 -> 0.4740 (deboost -0.0350, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82617predicted_BB: 0.5426 -> 1.0000 (boost 0.4574, better)predicted_RBI: 0.5893 -> 0.0000 (deboost -0.5893, worse)AB rounded to 4 (raw=4.81), rates preserved: AVG=0.233 HR/AB=0.033
6consistency_constraints11010predicted_R: 0.7147 -> 1.0000 (boost 0.2853, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_RBI: 0.0000 -> 0.4793 (boost 0.4793, better)predicted_BB: 1.0000 -> 0.6881 (deboost -0.3119, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64251predicted_2B: 0.2066 -> 1.0000 (boost 0.7934, better)predicted_HR: 0.1236 -> 0.0000 (deboost -0.1236, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50505-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference30303-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3730 -> 0.4740 (boost 0.1010, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668804",
  "player_name": "Bryan Reynolds",
  "position": "LF",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.245,
        "predicted_3B": 0.014,
        "predicted_AB": 4.81,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.573,
        "predicted_H": 1.29,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.376,
        "predicted_R": 0.664,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.508,
        "predicted_SO": 0.986
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2882,
        "predicted_3B": 0.0118,
        "predicted_AB": 4.3189,
        "predicted_AVG": 0.2857,
        "predicted_BB": 0.5385,
        "predicted_H": 1.221,
        "predicted_HBP": 0.055,
        "predicted_HR": 0.1577,
        "predicted_OBP": 0.3822,
        "predicted_R": 0.6819,
        "predicted_RBI": 0.5623,
        "predicted_SLG": 0.509,
        "predicted_SO": 0.9266
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.245,
          "after": 0.2882,
          "delta": 0.0432,
          "percent_delta": 0.1763,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0118,
          "delta": -0.0022,
          "percent_delta": -0.1571,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.81,
          "after": 4.3189,
          "delta": -0.4911,
          "percent_delta": -0.1021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2857,
          "delta": 0.0167,
          "percent_delta": 0.0621,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.573,
          "after": 0.5385,
          "delta": -0.0345,
          "percent_delta": -0.0602,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.29,
          "after": 1.221,
          "delta": -0.069,
          "percent_delta": -0.0535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1577,
          "delta": -0.0223,
          "percent_delta": -0.1239,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.376,
          "after": 0.3822,
          "delta": 0.0062,
          "percent_delta": 0.0165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.664,
          "after": 0.6819,
          "delta": 0.0179,
          "percent_delta": 0.027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.63,
          "after": 0.5623,
          "delta": -0.0677,
          "percent_delta": -0.1075,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.508,
          "after": 0.509,
          "delta": 0.001,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.986,
          "after": 0.9266,
          "delta": -0.0594,
          "percent_delta": -0.0602,
          "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_AVG",
          "before": 0.269,
          "after": 0.2857,
          "delta": 0.0167,
          "percent_delta": 0.0621,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.81,
          "after": 4.3189,
          "delta": -0.4911,
          "percent_delta": -0.1021,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 143
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2882,
        "predicted_3B": 0.0118,
        "predicted_AB": 4.3189,
        "predicted_AVG": 0.2906,
        "predicted_BB": 0.5426,
        "predicted_H": 1.2549,
        "predicted_HBP": 0.055,
        "predicted_HR": 0.1602,
        "predicted_OBP": 0.3698,
        "predicted_R": 0.7147,
        "predicted_RBI": 0.5893,
        "predicted_SLG": 0.474,
        "predicted_SO": 0.9195
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2882,
          "after": 0.2882,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0118,
          "after": 0.0118,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3189,
          "after": 4.3189,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2857,
          "after": 0.2906,
          "delta": 0.0049,
          "percent_delta": 0.0172,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5385,
          "after": 0.5426,
          "delta": 0.0041,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.221,
          "after": 1.2549,
          "delta": 0.0339,
          "percent_delta": 0.0278,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.055,
          "after": 0.055,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1577,
          "after": 0.1602,
          "delta": 0.0025,
          "percent_delta": 0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3822,
          "after": 0.3698,
          "delta": -0.0124,
          "percent_delta": -0.0324,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6819,
          "after": 0.7147,
          "delta": 0.0328,
          "percent_delta": 0.0481,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5623,
          "after": 0.5893,
          "delta": 0.027,
          "percent_delta": 0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.509,
          "after": 0.474,
          "delta": -0.035,
          "percent_delta": -0.0688,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9266,
          "after": 0.9195,
          "delta": -0.0071,
          "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.509,
          "after": 0.474,
          "delta": -0.035,
          "percent_delta": -0.0688,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.81), rates preserved: AVG=0.233 HR/AB=0.033",
      "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.2882,
          "after": 0.0,
          "delta": -0.2882,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0118,
          "after": 0.0,
          "delta": -0.0118,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3189,
          "after": 4.0,
          "delta": -0.3189,
          "percent_delta": -0.0738,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5426,
          "after": 1.0,
          "delta": 0.4574,
          "percent_delta": 0.843,
          "direction": "boost",
          "projection_effect": "better",
          "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.055,
          "after": 0.0,
          "delta": -0.055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1602,
          "after": 0.0,
          "delta": -0.1602,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5893,
          "after": 0.0,
          "delta": -0.5893,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9195,
          "after": 1.0,
          "delta": 0.0805,
          "percent_delta": 0.0875,
          "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_BB",
          "before": 0.5426,
          "after": 1.0,
          "delta": 0.4574,
          "percent_delta": 0.843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5893,
          "after": 0.0,
          "delta": -0.5893,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.7147,
          "after": 1.0,
          "delta": 0.2853,
          "percent_delta": 0.3992,
          "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.7147,
          "after": 1.0,
          "delta": 0.2853,
          "percent_delta": 0.3992,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.2066,
        "predicted_3B": 0.0112,
        "predicted_BB": 0.6881,
        "predicted_H": 0.845,
        "predicted_HR": 0.1236,
        "predicted_RBI": 0.4793,
        "predicted_SO": 1.0995
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2066,
          "delta": 0.2066,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0112,
          "delta": 0.0112,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6881,
          "delta": -0.3119,
          "percent_delta": -0.3119,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.845,
          "delta": -0.155,
          "percent_delta": -0.155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1236,
          "delta": 0.1236,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4793,
          "delta": 0.4793,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0995,
          "delta": 0.0995,
          "percent_delta": 0.0995,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4793,
          "delta": 0.4793,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6881,
          "delta": -0.3119,
          "percent_delta": -0.3119,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2066,
          "after": 1.0,
          "delta": 0.7934,
          "percent_delta": 3.8403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0112,
          "after": 0.0,
          "delta": -0.0112,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6881,
          "after": 1.0,
          "delta": 0.3119,
          "percent_delta": 0.4533,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.845,
          "after": 1.0,
          "delta": 0.155,
          "percent_delta": 0.1834,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1236,
          "after": 0.0,
          "delta": -0.1236,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4793,
          "after": 1.0,
          "delta": 0.5207,
          "percent_delta": 1.0864,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0995,
          "after": 1.0,
          "delta": -0.0995,
          "percent_delta": -0.0905,
          "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.2066,
          "after": 1.0,
          "delta": 0.7934,
          "percent_delta": 3.8403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1236,
          "after": 0.0,
          "delta": -0.1236,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.218,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.341,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.373,
        "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.2906,
          "after": 0.218,
          "delta": -0.0726,
          "percent_delta": -0.2498,
          "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.3698,
          "after": 0.341,
          "delta": -0.0288,
          "percent_delta": -0.0779,
          "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.474,
          "after": 0.373,
          "delta": -0.101,
          "percent_delta": -0.2131,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2906,
        "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.3698,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.474,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2906,
          "delta": 0.0726,
          "percent_delta": 0.3329,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3698,
          "delta": 0.0288,
          "percent_delta": 0.0843,
          "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.373,
          "after": 0.474,
          "delta": 0.101,
          "percent_delta": 0.2708,
          "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.373,
          "after": 0.474,
          "delta": 0.101,
          "percent_delta": 0.2708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.245,
        "after": 0.0,
        "delta": -0.245,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.014,
        "after": 0.0,
        "delta": -0.014,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.81,
        "after": 4.0,
        "delta": -0.81,
        "percent_delta": -0.1684,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2906,
        "delta": 0.0216,
        "percent_delta": 0.0803,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.573,
        "after": 0.0,
        "delta": -0.573,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.29,
        "after": 0.0,
        "delta": -1.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.376,
        "after": 0.3698,
        "delta": -0.0062,
        "percent_delta": -0.0165,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.664,
        "after": 0.0,
        "delta": -0.664,
        "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.508,
        "after": 0.474,
        "delta": -0.034,
        "percent_delta": -0.0669,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.986,
        "after": 1.0,
        "delta": 0.014,
        "percent_delta": 0.0142,
        "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.269,
        "after": 0.2906,
        "delta": 0.0216,
        "percent_delta": 0.0803,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.29,
        "after": 0.0,
        "delta": -1.29,
        "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.245-
predicted_3B0.014-
predicted_AB4.810-
predicted_AVG0.269-
predicted_BB0.573-
predicted_H1.290-
predicted_HR0.180-
predicted_OBP0.376-
predicted_R0.664-
predicted_RBI0.630-
predicted_SLG0.508-
predicted_SO0.986-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2880.043
predicted_3B0.012-0.002
predicted_AB4.319-0.491
predicted_AVG0.2860.017
predicted_BB0.538-0.034
predicted_H1.221-0.069
predicted_HBP0.055-
predicted_HR0.158-0.022
predicted_OBP0.3820.006
predicted_R0.6820.018
predicted_RBI0.562-0.068
predicted_SLG0.5090.001
predicted_SO0.927-0.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.2880.000
predicted_3B0.0120.000
predicted_AB4.3190.000
predicted_AVG0.2910.005
predicted_BB0.5430.004
predicted_H1.2550.034
predicted_HBP0.0550.000
predicted_HR0.1600.003
predicted_OBP0.370-0.012
predicted_R0.7150.033
predicted_RBI0.5890.027
predicted_SLG0.474-0.035
predicted_SO0.919-0.007
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.2070.207
3B0.0110.011
BB0.688-0.312
H0.845-0.155
HR0.1240.124
RBI0.4790.479
SO1.0990.099
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.793
3B0.000-0.011
AB4.0000.000
BB1.0000.312
H1.0000.155
HR0.000-0.124
R1.0000.000
RBI1.0000.521
SO1.000-0.099
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.288
predicted_3B0.000-0.012
predicted_AB4.000-0.319
predicted_AVG0.218-0.073
predicted_BB1.0000.457
predicted_H1.000-0.255
predicted_HR0.000-0.160
predicted_OBP0.341-0.029
predicted_R1.0000.285
predicted_RBI0.000-0.589
predicted_SLG0.373-0.101
predicted_SO1.0000.081
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
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: 143
Reference playing time: 4.810
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.0003.0000.0001.0003.0003.0002.0003.0000.41180.45000.76470.41180.05880.17650.11770.1765
last_100.2010-39.00013.0004.0000.0001.0003.00010.0004.0007.0000.33330.40000.51280.33330.02560.07690.10260.1795
season0.60143-529.000142.00035.0002.00016.00069.00095.00082.000141.0000.26840.37400.43290.26840.03020.13040.15500.2665
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3440
predicted_3B0.0090
predicted_AB3.6850
predicted_AVG0.3072
predicted_BB0.4940
predicted_H1.1320
predicted_HBP0.0550
predicted_HR0.1290
predicted_OBP0.3903
predicted_R0.7050
predicted_RBI0.4750
predicted_SLG0.5103
predicted_SO0.8500
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.24500.34400.2882model_form_blend
predicted_3B0.01400.00900.0118model_form_blend
predicted_AB4.81003.68504.3189model_form_blend
predicted_AVG0.26900.30720.2857model_form_blend
predicted_BB0.57300.49400.5385model_form_blend
predicted_H1.29001.13201.2210model_form_blend
predicted_HBP-0.05500.0550form_only
predicted_HR0.18000.12900.1577model_form_blend
predicted_OBP0.37600.39030.3822model_form_blend
predicted_R0.66400.70500.6819model_form_blend
predicted_RBI0.63000.47500.5623model_form_blend
predicted_SLG0.50800.51030.5090model_form_blend
predicted_SO0.98600.85000.9266model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_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
allPositionsPlayedLF
gameID20260909_PIT@CHW
game_typefull
mlbID668804
playerID668804
playerNameBryan Reynolds
posLF
startedTrue
startingPositionLF
teamPIT
teamID22
game_date2026-09-09
sl_k_percent23.3
sl_bb_percent13.0
sl_woba0.356
sl_xwoba0.361
sl_xba0.258
sl_xslg0.454
sl_sweet_spot_percent38.9
sl_barrel_batted_rate11.5
sl_hard_hit_percent48.1
sl_exit_velocity_avg91.0
sl_launch_angle_avg8.3
sl_whiff_percent28.7
sl_swing_percent46.4
Jake Mangum (663968) · BATTER · RF · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 398
All-history rows before 20260910: 398
System season_avg: 0.2900
Data season_avg (2026 season-to-date): 0.3068
Diff (system - data): -0.0168
System opponent_avg: 0.4000
System season_avg diverges from 2026 season-to-date by -0.0168. 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.1651.0000.000Hitting_2B0.1811.0000.8190.000
predicted_3B0.0180.0000.000Hitting_3B0.0250.000-0.0250.000
predicted_AB3.5144.0003.000Hitting_AB3.7915.0000.209-1.000
predicted_AVG0.2900.2500.333Hitting_AVG0.3070.400-0.057-0.150
predicted_BB0.2020.0000.000Hitting_BB0.2260.000-0.2260.000
predicted_CS-0.0000.000BaseRunning_CS0.0550.000-0.0550.000
predicted_H1.0181.0001.000Hitting_H1.1632.000-0.163-1.000
predicted_HR0.0370.0000.000Hitting_HR0.0480.000-0.0480.000
predicted_OBP0.3280.2500.333Hitting_OBP0.3580.400-0.108-0.150
predicted_R0.4771.0001.000Hitting_R0.5401.0000.4600.000
predicted_RBI0.2751.0000.000Hitting_RBI0.2910.0000.7091.000
predicted_SLG0.3790.5000.333Hitting_SLG0.4060.6000.094-0.100
predicted_SO0.7610.0001.000Hitting_SO0.7790.000-0.7790.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics7
Boosted Metrics5
Deboosted Metrics2
Better Metrics6
Worse Metrics1
Biggest Boostpredicted_2B: 0.1650 -> 1.0000 (boost 0.8350, better)
Biggest Deboostpredicted_SO: 0.7610 -> 0.0000 (deboost -0.7610, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_OBP: 0.3280 -> 0.3346 (boost 0.0066, 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.3770 -> 0.3850 (boost 0.0080, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.7150 -> 1.0000 (boost 0.2850, worse)predicted_AB: 3.4877 -> 3.0000 (deboost -0.4877, worse)AB rounded to 3 (raw=3.51), rates preserved: AVG=0.260 HR/AB=0.010
6consistency_constraints11010predicted_R: 0.5135 -> 1.0000 (boost 0.4865, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3318 (boost 0.3318, better)predicted_H: 1.0000 -> 0.7984 (deboost -0.2016, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_H: 0.7984 -> 1.0000 (boost 0.2016, better)predicted_RBI: 0.3318 -> 0.0000 (deboost -0.3318, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2937 -> 0.2330 (deboost -0.0607, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference43140predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2330 -> 0.2937 (boost 0.0607, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663968",
  "player_name": "Jake Mangum",
  "position": "RF",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.165,
        "predicted_3B": 0.018,
        "predicted_AB": 3.514,
        "predicted_AVG": 0.29,
        "predicted_BB": 0.202,
        "predicted_H": 1.018,
        "predicted_HR": 0.037,
        "predicted_OBP": 0.328,
        "predicted_R": 0.477,
        "predicted_RBI": 0.275,
        "predicted_SLG": 0.379,
        "predicted_SO": 0.761
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1878,
        "predicted_3B": 0.015,
        "predicted_AB": 3.4877,
        "predicted_AVG": 0.2859,
        "predicted_BB": 0.1947,
        "predicted_H": 0.9965,
        "predicted_HBP": 0.151,
        "predicted_HR": 0.0331,
        "predicted_OBP": 0.3346,
        "predicted_R": 0.4899,
        "predicted_RBI": 0.2845,
        "predicted_SLG": 0.377,
        "predicted_SO": 0.7205
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.165,
          "after": 0.1878,
          "delta": 0.0228,
          "percent_delta": 0.1382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.018,
          "after": 0.015,
          "delta": -0.003,
          "percent_delta": -0.1667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.514,
          "after": 3.4877,
          "delta": -0.0263,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.29,
          "after": 0.2859,
          "delta": -0.0041,
          "percent_delta": -0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.202,
          "after": 0.1947,
          "delta": -0.0073,
          "percent_delta": -0.0361,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.018,
          "after": 0.9965,
          "delta": -0.0215,
          "percent_delta": -0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.037,
          "after": 0.0331,
          "delta": -0.0039,
          "percent_delta": -0.1054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.328,
          "after": 0.3346,
          "delta": 0.0066,
          "percent_delta": 0.0201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.477,
          "after": 0.4899,
          "delta": 0.0129,
          "percent_delta": 0.027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.275,
          "after": 0.2845,
          "delta": 0.0095,
          "percent_delta": 0.0345,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.379,
          "after": 0.377,
          "delta": -0.002,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.761,
          "after": 0.7205,
          "delta": -0.0405,
          "percent_delta": -0.0532,
          "direction": "no_change",
          "projection_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.328,
          "after": 0.3346,
          "delta": 0.0066,
          "percent_delta": 0.0201,
          "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": 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.1878,
        "predicted_3B": 0.015,
        "predicted_AB": 3.4877,
        "predicted_AVG": 0.2937,
        "predicted_BB": 0.1962,
        "predicted_H": 1.0242,
        "predicted_HBP": 0.151,
        "predicted_HR": 0.0336,
        "predicted_OBP": 0.3313,
        "predicted_R": 0.5135,
        "predicted_RBI": 0.2982,
        "predicted_SLG": 0.385,
        "predicted_SO": 0.715
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1878,
          "after": 0.1878,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.015,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4877,
          "after": 3.4877,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2859,
          "after": 0.2937,
          "delta": 0.0078,
          "percent_delta": 0.0273,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1947,
          "after": 0.1962,
          "delta": 0.0015,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9965,
          "after": 1.0242,
          "delta": 0.0277,
          "percent_delta": 0.0278,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.151,
          "after": 0.151,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0331,
          "after": 0.0336,
          "delta": 0.0005,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3346,
          "after": 0.3313,
          "delta": -0.0033,
          "percent_delta": -0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4899,
          "after": 0.5135,
          "delta": 0.0236,
          "percent_delta": 0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2845,
          "after": 0.2982,
          "delta": 0.0137,
          "percent_delta": 0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.377,
          "after": 0.385,
          "delta": 0.008,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7205,
          "after": 0.715,
          "delta": -0.0055,
          "percent_delta": -0.0076,
          "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.377,
          "after": 0.385,
          "delta": 0.008,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.51), rates preserved: AVG=0.260 HR/AB=0.010",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1878,
          "after": 0.0,
          "delta": -0.1878,
          "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.4877,
          "after": 3.0,
          "delta": -0.4877,
          "percent_delta": -0.1398,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1962,
          "after": 0.0,
          "delta": -0.1962,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0242,
          "after": 1.0,
          "delta": -0.0242,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.151,
          "after": 0.0,
          "delta": -0.151,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0336,
          "after": 0.0,
          "delta": -0.0336,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2982,
          "after": 0.0,
          "delta": -0.2982,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.715,
          "after": 1.0,
          "delta": 0.285,
          "percent_delta": 0.3986,
          "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.715,
          "after": 1.0,
          "delta": 0.285,
          "percent_delta": 0.3986,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4877,
          "after": 3.0,
          "delta": -0.4877,
          "percent_delta": -0.1398,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5135,
          "after": 1.0,
          "delta": 0.4865,
          "percent_delta": 0.9474,
          "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.5135,
          "after": 1.0,
          "delta": 0.4865,
          "percent_delta": 0.9474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1639,
        "predicted_3B": 0.0114,
        "predicted_BB": 0.2967,
        "predicted_H": 0.7984,
        "predicted_HR": 0.0711,
        "predicted_RBI": 0.3318,
        "predicted_SO": 0.8704
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1639,
          "delta": 0.1639,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0114,
          "delta": 0.0114,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2967,
          "delta": 0.2967,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7984,
          "delta": -0.2016,
          "percent_delta": -0.2016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0711,
          "delta": 0.0711,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3318,
          "delta": 0.3318,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8704,
          "delta": -0.1296,
          "percent_delta": -0.1296,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3318,
          "delta": 0.3318,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7984,
          "delta": -0.2016,
          "percent_delta": -0.2016,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1639,
          "after": 0.0,
          "delta": -0.1639,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0114,
          "after": 0.0,
          "delta": -0.0114,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2967,
          "after": 0.0,
          "delta": -0.2967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7984,
          "after": 1.0,
          "delta": 0.2016,
          "percent_delta": 0.2525,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0711,
          "after": 0.0,
          "delta": -0.0711,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.3318,
          "after": 0.0,
          "delta": -0.3318,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8704,
          "after": 1.0,
          "delta": 0.1296,
          "percent_delta": 0.1489,
          "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.7984,
          "after": 1.0,
          "delta": 0.2016,
          "percent_delta": 0.2525,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3318,
          "after": 0.0,
          "delta": -0.3318,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.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.2937,
          "after": 0.233,
          "delta": -0.0607,
          "percent_delta": -0.2067,
          "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.3313,
          "after": 0.299,
          "delta": -0.0323,
          "percent_delta": -0.0975,
          "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.385,
          "after": 0.349,
          "delta": -0.036,
          "percent_delta": -0.0935,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2937,
          "after": 0.233,
          "delta": -0.0607,
          "percent_delta": -0.2067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2937,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3313,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.385,
        "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.233,
          "after": 0.2937,
          "delta": 0.0607,
          "percent_delta": 0.2603,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3313,
          "delta": 0.0323,
          "percent_delta": 0.108,
          "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.349,
          "after": 0.385,
          "delta": 0.036,
          "percent_delta": 0.1032,
          "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.233,
          "after": 0.2937,
          "delta": 0.0607,
          "percent_delta": 0.2603,
          "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": 1.0,
        "delta": 0.835,
        "percent_delta": 5.0606,
        "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": 3.514,
        "after": 4.0,
        "delta": 0.486,
        "percent_delta": 0.1383,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.29,
        "after": 0.2937,
        "delta": 0.0037,
        "percent_delta": 0.0128,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.202,
        "after": 0.0,
        "delta": -0.202,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.018,
        "after": 1.0,
        "delta": -0.018,
        "percent_delta": -0.0177,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.037,
        "after": 0.0,
        "delta": -0.037,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.328,
        "after": 0.3313,
        "delta": 0.0033,
        "percent_delta": 0.0101,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.477,
        "after": 1.0,
        "delta": 0.523,
        "percent_delta": 1.0964,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.275,
        "after": 1.0,
        "delta": 0.725,
        "percent_delta": 2.6364,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.379,
        "after": 0.385,
        "delta": 0.006,
        "percent_delta": 0.0158,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.761,
        "after": 0.0,
        "delta": -0.761,
        "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_2B",
        "before": 0.165,
        "after": 1.0,
        "delta": 0.835,
        "percent_delta": 5.0606,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.761,
        "after": 0.0,
        "delta": -0.761,
        "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.018-
predicted_AB3.514-
predicted_AVG0.290-
predicted_BB0.202-
predicted_H1.018-
predicted_HR0.037-
predicted_OBP0.328-
predicted_R0.477-
predicted_RBI0.275-
predicted_SLG0.379-
predicted_SO0.761-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.023
predicted_3B0.015-0.003
predicted_AB3.488-0.026
predicted_AVG0.286-0.004
predicted_BB0.195-0.007
predicted_H0.997-0.021
predicted_HBP0.151-
predicted_HR0.033-0.004
predicted_OBP0.3350.007
predicted_R0.4900.013
predicted_RBI0.2840.009
predicted_SLG0.377-0.002
predicted_SO0.721-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.1880.000
predicted_3B0.0150.000
predicted_AB3.4880.000
predicted_AVG0.2940.008
predicted_BB0.1960.002
predicted_H1.0240.028
predicted_HBP0.1510.000
predicted_HR0.0340.001
predicted_OBP0.331-0.003
predicted_R0.5130.024
predicted_RBI0.2980.014
predicted_SLG0.3850.008
predicted_SO0.715-0.006
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1640.164
3B0.0110.011
BB0.2970.297
H0.798-0.202
HR0.0710.071
RBI0.3320.332
SO0.870-0.130
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.164
3B0.000-0.011
AB3.0000.000
BB0.000-0.297
H1.0000.202
HR0.000-0.071
R1.0000.000
RBI0.000-0.332
SO1.0000.130
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.188
predicted_3B0.000-0.015
predicted_AB3.000-0.488
predicted_AVG0.233-0.061
predicted_BB0.000-0.196
predicted_H1.000-0.024
predicted_HR0.000-0.034
predicted_OBP0.299-0.032
predicted_R1.0000.487
predicted_RBI0.000-0.298
predicted_SLG0.349-0.036
predicted_SO1.0000.285
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-17.0005.0002.0000.0000.0002.0003.0001.0002.0000.29410.36840.41180.29410.00000.11770.05880.1177
last_100.2010-32.0008.0002.0000.0000.0002.0005.0001.0006.0000.25000.33330.31250.25000.00000.06250.03120.1875
season0.60109-383.000111.00018.0002.0004.00030.00052.00022.00083.0000.28980.34290.37860.28980.01040.07830.05740.2167
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2180
predicted_3B0.0110
predicted_AB3.4530
predicted_AVG0.2804
predicted_BB0.1850
predicted_H0.9680
predicted_HBP0.1510
predicted_HR0.0280
predicted_OBP0.3433
predicted_R0.5070
predicted_RBI0.2970
predicted_SLG0.3744
predicted_SO0.6670
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16500.21800.1878model_form_blend
predicted_3B0.01800.01100.0150model_form_blend
predicted_AB3.51403.45303.4877model_form_blend
predicted_AVG0.29000.28040.2859model_form_blend
predicted_BB0.20200.18500.1947model_form_blend
predicted_H1.01800.96800.9965model_form_blend
predicted_HBP-0.15100.1510form_only
predicted_HR0.03700.02800.0331model_form_blend
predicted_OBP0.32800.34330.3346model_form_blend
predicted_R0.47700.50700.4899model_form_blend
predicted_RBI0.27500.29700.2845model_form_blend
predicted_SLG0.37900.37440.3770model_form_blend
predicted_SO0.76100.66700.7205model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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
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_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_SO0
Hitting_TB3
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260908_PIT@CHW
game_typefull
mlbID663968
playerID663968
playerNameJake Mangum
posCF
startedTrue
startingPositionLF
teamPIT
teamID22
game_date2026-09-08
sl_k_percent19.4
sl_bb_percent5.3
sl_woba0.32
sl_xwoba0.284
sl_xba0.246
sl_xslg0.323
sl_sweet_spot_percent27.5
sl_barrel_batted_rate1.9
sl_hard_hit_percent26.5
sl_exit_velocity_avg85.4
sl_launch_angle_avg4.3
sl_whiff_percent21.0
sl_swing_percent58.3
Brandon Lowe (664040) · BATTER · 2B · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 544
All-history rows before 20260910: 544
System season_avg: 0.2580
Data season_avg (2026 season-to-date): 0.2535
Diff (system - data): 0.0045
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.2110.0000.000Hitting_2B0.2130.000-0.2130.000
predicted_3B0.0080.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB4.6503.0004.000Hitting_AB4.0394.000-1.039-1.000
predicted_AVG0.2770.6670.250Hitting_AVG0.2540.5000.4130.167
predicted_BB0.4141.0000.000Hitting_BB0.4281.0000.5720.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.2902.0001.000Hitting_H1.0242.0000.9760.000
predicted_HR0.1801.0001.000Hitting_HR0.2350.0000.7651.000
predicted_OBP0.3820.7500.250Hitting_OBP0.3230.6000.4270.150
predicted_R0.6321.0001.000Hitting_R0.6800.0000.3201.000
predicted_RBI0.4801.0001.000Hitting_RBI0.7280.0000.2721.000
predicted_SB-0.0000.000BaseRunning_SB0.0180.000-0.0180.000
predicted_SLG0.4391.6671.000Hitting_SLG0.4870.5001.1801.167
predicted_SO1.2711.0001.000Hitting_SO1.3052.000-0.305-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics7
Deboosted Metrics4
Better Metrics8
Worse Metrics3
Biggest Boostpredicted_HR: 0.1800 -> 1.0000 (boost 0.8200, better)
Biggest Deboostpredicted_AB: 4.6500 -> 3.0000 (deboost -1.6500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_SLG: 0.4390 -> 0.4621 (boost 0.0231, better)predicted_AB: 4.6500 -> 4.2657 (deboost -0.3843, worse)Final model input calibrated 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.4621 -> 0.4714 (boost 0.0093, better)predicted_OBP: 0.3831 -> 0.3638 (deboost -0.0193, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling70716-predicted_RBI: 0.4779 -> 0.0000 (deboost -0.4779, worse)AB rounded to 4 (raw=4.65), rates preserved: AVG=0.245 HR/AB=0.038
6consistency_constraints11010predicted_R: 0.6529 -> 1.0000 (boost 0.3471, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5705 (boost 0.5705, better)predicted_H: 1.0000 -> 0.8256 (deboost -0.1744, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63342predicted_HR: 0.1749 -> 1.0000 (boost 0.8251, better)predicted_SO: 1.4429 -> 1.0000 (deboost -0.4429, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50505-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference54141predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2210 -> 0.2998 (boost 0.0788, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "664040",
  "player_name": "Brandon Lowe",
  "position": "2B",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.211,
        "predicted_3B": 0.008,
        "predicted_AB": 4.65,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.414,
        "predicted_H": 1.29,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.382,
        "predicted_R": 0.632,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.439,
        "predicted_SO": 1.271
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1901,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2657,
        "predicted_AVG": 0.2934,
        "predicted_BB": 0.4258,
        "predicted_H": 1.2443,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1735,
        "predicted_OBP": 0.3831,
        "predicted_R": 0.6229,
        "predicted_RBI": 0.456,
        "predicted_SLG": 0.4621,
        "predicted_SO": 1.1991
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.1901,
          "delta": -0.0209,
          "percent_delta": -0.0991,
          "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.65,
          "after": 4.2657,
          "delta": -0.3843,
          "percent_delta": -0.0826,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2934,
          "delta": 0.0164,
          "percent_delta": 0.0592,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.414,
          "after": 0.4258,
          "delta": 0.0118,
          "percent_delta": 0.0285,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.29,
          "after": 1.2443,
          "delta": -0.0457,
          "percent_delta": -0.0354,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1735,
          "delta": -0.0065,
          "percent_delta": -0.0361,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.382,
          "after": 0.3831,
          "delta": 0.0011,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.632,
          "after": 0.6229,
          "delta": -0.0091,
          "percent_delta": -0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.456,
          "delta": -0.024,
          "percent_delta": -0.05,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.439,
          "after": 0.4621,
          "delta": 0.0231,
          "percent_delta": 0.0526,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.271,
          "after": 1.1991,
          "delta": -0.0719,
          "percent_delta": -0.0566,
          "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.439,
          "after": 0.4621,
          "delta": 0.0231,
          "percent_delta": 0.0526,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.65,
          "after": 4.2657,
          "delta": -0.3843,
          "percent_delta": -0.0826,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 133
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1901,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2657,
        "predicted_AVG": 0.2998,
        "predicted_BB": 0.4291,
        "predicted_H": 1.2789,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1762,
        "predicted_OBP": 0.3638,
        "predicted_R": 0.6529,
        "predicted_RBI": 0.4779,
        "predicted_SLG": 0.4714,
        "predicted_SO": 1.1899
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1901,
          "after": 0.1901,
          "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.2657,
          "after": 4.2657,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2934,
          "after": 0.2998,
          "delta": 0.0064,
          "percent_delta": 0.0218,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4258,
          "after": 0.4291,
          "delta": 0.0033,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2443,
          "after": 1.2789,
          "delta": 0.0346,
          "percent_delta": 0.0278,
          "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.1735,
          "after": 0.1762,
          "delta": 0.0027,
          "percent_delta": 0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3831,
          "after": 0.3638,
          "delta": -0.0193,
          "percent_delta": -0.0504,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6229,
          "after": 0.6529,
          "delta": 0.03,
          "percent_delta": 0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.456,
          "after": 0.4779,
          "delta": 0.0219,
          "percent_delta": 0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4621,
          "after": 0.4714,
          "delta": 0.0093,
          "percent_delta": 0.0201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1991,
          "after": 1.1899,
          "delta": -0.0092,
          "percent_delta": -0.0077,
          "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.4621,
          "after": 0.4714,
          "delta": 0.0093,
          "percent_delta": 0.0201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3831,
          "after": 0.3638,
          "delta": -0.0193,
          "percent_delta": -0.0504,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.65), rates preserved: AVG=0.245 HR/AB=0.038",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1901,
          "after": 0.0,
          "delta": -0.1901,
          "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.2657,
          "after": 4.0,
          "delta": -0.2657,
          "percent_delta": -0.0623,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4291,
          "after": 0.0,
          "delta": -0.4291,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2789,
          "after": 1.0,
          "delta": -0.2789,
          "percent_delta": -0.2181,
          "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.1762,
          "after": 0.0,
          "delta": -0.1762,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4779,
          "after": 0.0,
          "delta": -0.4779,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1899,
          "after": 1.0,
          "delta": -0.1899,
          "percent_delta": -0.1596,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 0,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4779,
          "after": 0.0,
          "delta": -0.4779,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6529,
          "after": 1.0,
          "delta": 0.3471,
          "percent_delta": 0.5316,
          "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.6529,
          "after": 1.0,
          "delta": 0.3471,
          "percent_delta": 0.5316,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1653,
        "predicted_3B": 0.0108,
        "predicted_BB": 0.4195,
        "predicted_H": 0.8256,
        "predicted_HR": 0.1749,
        "predicted_RBI": 0.5705,
        "predicted_SO": 1.4429
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1653,
          "delta": 0.1653,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0108,
          "delta": 0.0108,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4195,
          "delta": 0.4195,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8256,
          "delta": -0.1744,
          "percent_delta": -0.1744,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1749,
          "delta": 0.1749,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5705,
          "delta": 0.5705,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4429,
          "delta": 0.4429,
          "percent_delta": 0.4429,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5705,
          "delta": 0.5705,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8256,
          "delta": -0.1744,
          "percent_delta": -0.1744,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1653,
          "after": 0.0,
          "delta": -0.1653,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0108,
          "after": 0.0,
          "delta": -0.0108,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4195,
          "after": 0.0,
          "delta": -0.4195,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8256,
          "after": 1.0,
          "delta": 0.1744,
          "percent_delta": 0.2112,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1749,
          "after": 1.0,
          "delta": 0.8251,
          "percent_delta": 4.7176,
          "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.5705,
          "after": 1.0,
          "delta": 0.4295,
          "percent_delta": 0.7528,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4429,
          "after": 1.0,
          "delta": -0.4429,
          "percent_delta": -0.307,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.1749,
          "after": 1.0,
          "delta": 0.8251,
          "percent_delta": 4.7176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.4429,
          "after": 1.0,
          "delta": -0.4429,
          "percent_delta": -0.307,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.221,
        "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.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.2998,
          "after": 0.221,
          "delta": -0.0788,
          "percent_delta": -0.2628,
          "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.3638,
          "after": 0.305,
          "delta": -0.0588,
          "percent_delta": -0.1616,
          "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.4714,
          "after": 0.411,
          "delta": -0.0604,
          "percent_delta": -0.1281,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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": 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": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2998,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3638,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4714,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.221,
          "after": 0.2998,
          "delta": 0.0788,
          "percent_delta": 0.3566,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.3638,
          "delta": 0.0588,
          "percent_delta": 0.1928,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.411,
          "after": 0.4714,
          "delta": 0.0604,
          "percent_delta": 0.1471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.2998,
          "delta": 0.0788,
          "percent_delta": 0.3566,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.211,
        "after": 0.0,
        "delta": -0.211,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.65,
        "after": 3.0,
        "delta": -1.65,
        "percent_delta": -0.3548,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.277,
        "after": 0.2998,
        "delta": 0.0228,
        "percent_delta": 0.0823,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.414,
        "after": 1.0,
        "delta": 0.586,
        "percent_delta": 1.4155,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.29,
        "after": 2.0,
        "delta": 0.71,
        "percent_delta": 0.5504,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.382,
        "after": 0.3638,
        "delta": -0.0182,
        "percent_delta": -0.0476,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.632,
        "after": 1.0,
        "delta": 0.368,
        "percent_delta": 0.5823,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 1.0,
        "delta": 0.52,
        "percent_delta": 1.0833,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.439,
        "after": 0.4714,
        "delta": 0.0324,
        "percent_delta": 0.0738,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.271,
        "after": 1.0,
        "delta": -0.271,
        "percent_delta": -0.2132,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 7,
      "deboosted_metrics": 4,
      "better_metrics": 8,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.65,
        "after": 3.0,
        "delta": -1.65,
        "percent_delta": -0.3548,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.211-
predicted_3B0.008-
predicted_AB4.650-
predicted_AVG0.277-
predicted_BB0.414-
predicted_H1.290-
predicted_HR0.180-
predicted_OBP0.382-
predicted_R0.632-
predicted_RBI0.480-
predicted_SLG0.439-
predicted_SO1.271-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.190-0.021
predicted_3B0.007-0.001
predicted_AB4.266-0.384
predicted_AVG0.2930.016
predicted_BB0.4260.012
predicted_H1.244-0.046
predicted_HBP0.010-
predicted_HR0.173-0.007
predicted_OBP0.3830.001
predicted_R0.623-0.009
predicted_RBI0.456-0.024
predicted_SLG0.4620.023
predicted_SO1.199-0.072
3. team_form_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.0070.000
predicted_AB4.2660.000
predicted_AVG0.3000.006
predicted_BB0.4290.003
predicted_H1.2790.035
predicted_HBP0.0100.000
predicted_HR0.1760.003
predicted_OBP0.364-0.019
predicted_R0.6530.030
predicted_RBI0.4780.022
predicted_SLG0.4710.009
predicted_SO1.190-0.009
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1650.165
3B0.0110.011
BB0.4190.419
H0.826-0.174
HR0.1750.175
RBI0.5710.571
SO1.4430.443
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.165
3B0.000-0.011
AB4.0000.000
BB0.000-0.419
H1.0000.174
HR1.0000.825
R1.0000.000
RBI1.0000.429
SO1.000-0.443
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.190
predicted_3B0.000-0.007
predicted_AB4.000-0.266
predicted_AVG0.221-0.079
predicted_BB0.000-0.429
predicted_H1.000-0.279
predicted_HR0.000-0.176
predicted_OBP0.305-0.059
predicted_R1.0000.347
predicted_RBI0.000-0.478
predicted_SLG0.411-0.060
predicted_SO1.000-0.190
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.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: 133
Reference playing time: 4.650
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0007.0000.0000.0000.0000.0002.0002.0005.0000.41180.47370.41180.41180.00000.00000.11770.2941
last_100.2010-37.00015.0002.0000.0002.0003.0008.0006.0008.0000.40540.48840.62160.40540.05410.08110.16220.2162
season0.60133-520.000134.00028.0001.00029.00083.00084.00055.000169.0000.25770.32710.48270.25770.05580.15960.10580.3250
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1630
predicted_3B0.0050
predicted_AB3.7680
predicted_AVG0.3146
predicted_BB0.4410
predicted_H1.1850
predicted_HBP0.0100
predicted_HR0.1650
predicted_OBP0.3846
predicted_R0.6110
predicted_RBI0.4250
predicted_SLG0.4920
predicted_SO1.1060
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21100.16300.1901model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB4.65003.76804.2657model_form_blend
predicted_AVG0.27700.31460.2934model_form_blend
predicted_BB0.41400.44100.4258model_form_blend
predicted_H1.29001.18501.2443model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.18000.16500.1735model_form_blend
predicted_OBP0.38200.38460.3831model_form_blend
predicted_R0.63200.61100.6229model_form_blend
predicted_RBI0.48000.42500.4560model_form_blend
predicted_SLG0.43900.49200.4621model_form_blend
predicted_SO1.27101.10601.1991model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB2
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260909_PIT@CHW
game_typefull
mlbID664040
playerID664040
playerNameBrandon Lowe
pos2B
startedTrue
startingPosition2B
teamPIT
teamID22
game_date2026-09-09
sl_k_percent28.8
sl_bb_percent9.3
sl_woba0.348
sl_xwoba0.324
sl_xba0.239
sl_xslg0.428
sl_sweet_spot_percent35.7
sl_barrel_batted_rate11.5
sl_hard_hit_percent45.3
sl_exit_velocity_avg91.0
sl_launch_angle_avg16.0
sl_whiff_percent34.9
sl_swing_percent50.3
Nick Gonzales (693304) · BATTER · 3B · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 505
All-history rows before 20260910: 505
System season_avg: 0.3020
Data season_avg (2026 season-to-date): 0.3157
Diff (system - data): -0.0137
System opponent_avg: 0.3020

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1830.0000.000Hitting_2B0.2080.000-0.2080.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB4.7104.0004.000Hitting_AB3.9644.0000.0360.000
predicted_AVG0.2500.0000.250Hitting_AVG0.3160.250-0.316-0.250
predicted_BB0.2820.0000.000Hitting_BB0.2870.000-0.2870.000
predicted_CS-0.0000.000BaseRunning_CS0.0220.000-0.0220.000
predicted_H1.1800.0001.000Hitting_H1.2511.000-1.251-1.000
predicted_HR0.0400.0000.000Hitting_HR0.0360.000-0.0360.000
predicted_OBP0.3360.0000.250Hitting_OBP0.3730.250-0.373-0.250
predicted_R0.4810.0000.000Hitting_R0.5620.000-0.5620.000
predicted_RBI0.4300.0000.000Hitting_RBI0.4650.000-0.4650.000
predicted_SLG0.3710.0000.250Hitting_SLG0.3990.250-0.399-0.250
predicted_SO0.6641.0001.000Hitting_SO0.6910.0000.3091.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_SO: 0.6640 -> 1.0000 (boost 0.3360, worse)
Biggest Deboostpredicted_H: 1.1800 -> 0.0000 (deboost -1.1800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend72534predicted_AVG: 0.2500 -> 0.2590 (boost 0.0090, better)predicted_AB: 4.7100 -> 4.2635 (deboost -0.4465, worse)Final model input calibrated 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.2590 -> 0.2653 (boost 0.0063, better)predicted_OBP: 0.3411 -> 0.3128 (deboost -0.0283, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.6002 -> 1.0000 (boost 0.3998, worse)predicted_RBI: 0.4019 -> 0.0000 (deboost -0.4019, worse)AB rounded to 4 (raw=4.71), rates preserved: AVG=0.214 HR/AB=0.007
6consistency_constraints10101-predicted_R: 0.4263 -> 0.0000 (deboost -0.4263, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4322 (boost 0.4322, better)predicted_SO: 1.0000 -> 0.7525 (deboost -0.2475, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_SO: 0.7525 -> 1.0000 (boost 0.2475, worse)predicted_RBI: 0.4322 -> 0.0000 (deboost -0.4322, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context21111predicted_SLG: 0.3356 -> 0.3450 (boost 0.0094, better)predicted_AVG: 0.2653 -> 0.2390 (deboost -0.0263, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final21111predicted_AVG: 0.2390 -> 0.2653 (boost 0.0263, better)predicted_SLG: 0.3450 -> 0.3356 (deboost -0.0094, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "693304",
  "player_name": "Nick Gonzales",
  "position": "3B",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.183,
        "predicted_3B": 0.008,
        "predicted_AB": 4.71,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.282,
        "predicted_H": 1.18,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.336,
        "predicted_R": 0.481,
        "predicted_RBI": 0.43,
        "predicted_SLG": 0.371,
        "predicted_SO": 0.664
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.186,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2635,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.2929,
        "predicted_H": 1.1004,
        "predicted_HBP": 0.132,
        "predicted_HR": 0.033,
        "predicted_OBP": 0.3411,
        "predicted_R": 0.4067,
        "predicted_RBI": 0.3835,
        "predicted_SLG": 0.3593,
        "predicted_SO": 0.6049
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.183,
          "after": 0.186,
          "delta": 0.003,
          "percent_delta": 0.0164,
          "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.71,
          "after": 4.2635,
          "delta": -0.4465,
          "percent_delta": -0.0948,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.259,
          "delta": 0.009,
          "percent_delta": 0.036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.282,
          "after": 0.2929,
          "delta": 0.0109,
          "percent_delta": 0.0387,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.18,
          "after": 1.1004,
          "delta": -0.0796,
          "percent_delta": -0.0675,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.033,
          "delta": -0.007,
          "percent_delta": -0.175,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.3411,
          "delta": 0.0051,
          "percent_delta": 0.0152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.481,
          "after": 0.4067,
          "delta": -0.0743,
          "percent_delta": -0.1545,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.43,
          "after": 0.3835,
          "delta": -0.0465,
          "percent_delta": -0.1081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.3593,
          "delta": -0.0117,
          "percent_delta": -0.0315,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.664,
          "after": 0.6049,
          "delta": -0.0591,
          "percent_delta": -0.089,
          "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_AVG",
          "before": 0.25,
          "after": 0.259,
          "delta": 0.009,
          "percent_delta": 0.036,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.71,
          "after": 4.2635,
          "delta": -0.4465,
          "percent_delta": -0.0948,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.186,
        "predicted_3B": 0.0067,
        "predicted_AB": 4.2635,
        "predicted_AVG": 0.2653,
        "predicted_BB": 0.2952,
        "predicted_H": 1.131,
        "predicted_HBP": 0.132,
        "predicted_HR": 0.0335,
        "predicted_OBP": 0.3128,
        "predicted_R": 0.4263,
        "predicted_RBI": 0.4019,
        "predicted_SLG": 0.3356,
        "predicted_SO": 0.6002
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.186,
          "after": 0.186,
          "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.2635,
          "after": 4.2635,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2653,
          "delta": 0.0063,
          "percent_delta": 0.0243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2929,
          "after": 0.2952,
          "delta": 0.0023,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1004,
          "after": 1.131,
          "delta": 0.0306,
          "percent_delta": 0.0278,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.132,
          "after": 0.132,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.033,
          "after": 0.0335,
          "delta": 0.0005,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3411,
          "after": 0.3128,
          "delta": -0.0283,
          "percent_delta": -0.083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4067,
          "after": 0.4263,
          "delta": 0.0196,
          "percent_delta": 0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3835,
          "after": 0.4019,
          "delta": 0.0184,
          "percent_delta": 0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3593,
          "after": 0.3356,
          "delta": -0.0237,
          "percent_delta": -0.066,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6049,
          "after": 0.6002,
          "delta": -0.0047,
          "percent_delta": -0.0078,
          "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.259,
          "after": 0.2653,
          "delta": 0.0063,
          "percent_delta": 0.0243,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3411,
          "after": 0.3128,
          "delta": -0.0283,
          "percent_delta": -0.083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.71), rates preserved: AVG=0.214 HR/AB=0.007",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.186,
          "after": 0.0,
          "delta": -0.186,
          "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.2635,
          "after": 4.0,
          "delta": -0.2635,
          "percent_delta": -0.0618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2952,
          "after": 0.0,
          "delta": -0.2952,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.131,
          "after": 1.0,
          "delta": -0.131,
          "percent_delta": -0.1158,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.132,
          "after": 0.0,
          "delta": -0.132,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0335,
          "after": 0.0,
          "delta": -0.0335,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4019,
          "after": 0.0,
          "delta": -0.4019,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6002,
          "after": 1.0,
          "delta": 0.3998,
          "percent_delta": 0.6661,
          "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.6002,
          "after": 1.0,
          "delta": 0.3998,
          "percent_delta": 0.6661,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4019,
          "after": 0.0,
          "delta": -0.4019,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4263,
          "after": 0.0,
          "delta": -0.4263,
          "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.4263,
          "after": 0.0,
          "delta": -0.4263,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1751,
        "predicted_3B": 0.009,
        "predicted_BB": 0.3698,
        "predicted_H": 0.8702,
        "predicted_HR": 0.0631,
        "predicted_RBI": 0.4322,
        "predicted_SO": 0.7525
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1751,
          "delta": 0.1751,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.009,
          "delta": 0.009,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3698,
          "delta": 0.3698,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8702,
          "delta": -0.1298,
          "percent_delta": -0.1298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0631,
          "delta": 0.0631,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4322,
          "delta": 0.4322,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7525,
          "delta": -0.2475,
          "percent_delta": -0.2475,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4322,
          "delta": 0.4322,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7525,
          "delta": -0.2475,
          "percent_delta": -0.2475,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1751,
          "after": 0.0,
          "delta": -0.1751,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3698,
          "after": 0.0,
          "delta": -0.3698,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8702,
          "after": 1.0,
          "delta": 0.1298,
          "percent_delta": 0.1492,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0631,
          "after": 0.0,
          "delta": -0.0631,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4322,
          "after": 0.0,
          "delta": -0.4322,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7525,
          "after": 1.0,
          "delta": 0.2475,
          "percent_delta": 0.3289,
          "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.7525,
          "after": 1.0,
          "delta": 0.2475,
          "percent_delta": 0.3289,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4322,
          "after": 0.0,
          "delta": -0.4322,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.345,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2653,
          "after": 0.239,
          "delta": -0.0263,
          "percent_delta": -0.0991,
          "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.3128,
          "after": 0.315,
          "delta": 0.0022,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3356,
          "after": 0.345,
          "delta": 0.0094,
          "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": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3356,
          "after": 0.345,
          "delta": 0.0094,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2653,
          "after": 0.239,
          "delta": -0.0263,
          "percent_delta": -0.0991,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2653,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3128,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3356,
        "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.239,
          "after": 0.2653,
          "delta": 0.0263,
          "percent_delta": 0.1099,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3128,
          "delta": -0.0022,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3356,
          "delta": -0.0094,
          "percent_delta": -0.0272,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2653,
          "delta": 0.0263,
          "percent_delta": 0.1099,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3356,
          "delta": -0.0094,
          "percent_delta": -0.0272,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.183,
        "after": 0.0,
        "delta": -0.183,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.71,
        "after": 4.0,
        "delta": -0.71,
        "percent_delta": -0.1507,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2653,
        "delta": 0.0153,
        "percent_delta": 0.0612,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.282,
        "after": 0.0,
        "delta": -0.282,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.18,
        "after": 0.0,
        "delta": -1.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.336,
        "after": 0.3128,
        "delta": -0.0232,
        "percent_delta": -0.069,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.481,
        "after": 0.0,
        "delta": -0.481,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.43,
        "after": 0.0,
        "delta": -0.43,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.371,
        "after": 0.3356,
        "delta": -0.0354,
        "percent_delta": -0.0954,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.664,
        "after": 1.0,
        "delta": 0.336,
        "percent_delta": 0.506,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.664,
        "after": 1.0,
        "delta": 0.336,
        "percent_delta": 0.506,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.18,
        "after": 0.0,
        "delta": -1.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.183-
predicted_3B0.008-
predicted_AB4.710-
predicted_AVG0.250-
predicted_BB0.282-
predicted_H1.180-
predicted_HR0.040-
predicted_OBP0.336-
predicted_R0.481-
predicted_RBI0.430-
predicted_SLG0.371-
predicted_SO0.664-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.003
predicted_3B0.007-0.001
predicted_AB4.263-0.447
predicted_AVG0.2590.009
predicted_BB0.2930.011
predicted_H1.100-0.080
predicted_HBP0.132-
predicted_HR0.033-0.007
predicted_OBP0.3410.005
predicted_R0.407-0.074
predicted_RBI0.384-0.046
predicted_SLG0.359-0.012
predicted_SO0.605-0.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.1860.000
predicted_3B0.0070.000
predicted_AB4.2630.000
predicted_AVG0.2650.006
predicted_BB0.2950.002
predicted_H1.1310.031
predicted_HBP0.1320.000
predicted_HR0.0340.001
predicted_OBP0.313-0.028
predicted_R0.4260.020
predicted_RBI0.4020.018
predicted_SLG0.336-0.024
predicted_SO0.600-0.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1750.175
3B0.0090.009
BB0.3700.370
H0.870-0.130
HR0.0630.063
RBI0.4320.432
SO0.752-0.248
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.175
3B0.000-0.009
AB4.0000.000
BB0.000-0.370
H1.0000.130
HR0.000-0.063
R0.0000.000
RBI0.000-0.432
SO1.0000.248
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.186
predicted_3B0.000-0.007
predicted_AB4.000-0.263
predicted_AVG0.239-0.026
predicted_BB0.000-0.295
predicted_H1.000-0.131
predicted_HR0.000-0.034
predicted_OBP0.3150.002
predicted_R0.000-0.426
predicted_RBI0.000-0.402
predicted_SLG0.3450.009
predicted_SO1.0000.400
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 131
Reference playing time: 4.710
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0003.0001.0000.0000.0000.0000.0001.0001.0000.17650.26320.23530.17650.00000.00000.05880.0588
last_100.2010-36.00010.0002.0000.0000.0003.0001.0005.0004.0000.27780.39530.33330.27780.00000.08330.13890.1111
season0.60131-497.000150.00024.0001.0004.00057.00063.00037.00087.0000.30180.36380.37830.30180.00800.11470.07450.1751
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1900
predicted_3B0.0050
predicted_AB3.6830
predicted_AVG0.2707
predicted_BB0.3070
predicted_H0.9970
predicted_HBP0.1320
predicted_HR0.0240
predicted_OBP0.3477
predicted_R0.3100
predicted_RBI0.3230
predicted_SLG0.3442
predicted_SO0.5280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18300.19000.1860model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB4.71003.68304.2635model_form_blend
predicted_AVG0.25000.27070.2590model_form_blend
predicted_BB0.28200.30700.2929model_form_blend
predicted_H1.18000.99701.1004model_form_blend
predicted_HBP-0.13200.1320form_only
predicted_HR0.04000.02400.0330model_form_blend
predicted_OBP0.33600.34770.3411model_form_blend
predicted_R0.48100.31000.4067model_form_blend
predicted_RBI0.43000.32300.3835model_form_blend
predicted_SLG0.37100.34420.3593model_form_blend
predicted_SO0.66400.52800.6049model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date505
Season rows before report date505
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_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_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
gameID20260909_PIT@CHW
game_typefull
mlbID693304
playerID693304
playerNameNick Gonzales
pos3B
startedTrue
startingPositionDH
teamPIT
teamID22
game_date2026-09-09
sl_k_percent16.2
sl_bb_percent7.0
sl_woba0.341
sl_xwoba0.327
sl_xba0.283
sl_xslg0.385
sl_sweet_spot_percent34.7
sl_barrel_batted_rate2.9
sl_hard_hit_percent33.7
sl_exit_velocity_avg86.0
sl_launch_angle_avg7.1
sl_whiff_percent22.8
sl_swing_percent52.6
Rafael Flores Jr. (804668) · BATTER · C · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 72
All-history rows before 20260910: 72
System season_avg: 0.2430
Data season_avg (2026 season-to-date): 0.2795
Diff (system - data): -0.0365
System opponent_avg: 0.4440
System season_avg diverges from 2026 season-to-date by -0.0365. 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.1250.000-0.1250.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1604.0004.000Hitting_AB3.1814.0000.8190.000
predicted_AVG0.2390.2500.000Hitting_AVG0.2790.250-0.0290.000
predicted_BB0.3230.0001.000Hitting_BB0.4030.000-0.4030.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9901.0000.000Hitting_H0.8891.0000.1110.000
predicted_HR0.2400.0000.000Hitting_HR0.3330.000-0.3330.000
predicted_OBP0.2910.2500.200Hitting_OBP0.3600.250-0.1100.000
predicted_R0.3870.0000.000Hitting_R0.5140.000-0.5140.000
predicted_RBI0.5900.0001.000Hitting_RBI0.7921.000-0.792-1.000
predicted_SLG0.4380.2500.000Hitting_SLG0.6330.250-0.3830.000
predicted_SO1.0001.0001.000Hitting_SO0.9860.0000.0141.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_SLG: 0.4380 -> 0.4631 (boost 0.0251, better)
Biggest Deboostpredicted_RBI: 0.5900 -> 0.0000 (deboost -0.5900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.4380 -> 0.4522 (boost 0.0142, better)predicted_AB: 4.1600 -> 3.9567 (deboost -0.2033, worse)Final model input calibrated 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.4522 -> 0.4631 (boost 0.0109, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling52314predicted_RBI: 0.6000 -> 1.0000 (boost 0.4000, better)predicted_BB: 0.3079 -> 0.0000 (deboost -0.3079, worse)AB rounded to 4 (raw=4.16), rates preserved: AVG=0.212 HR/AB=0.057
6consistency_constraints10101-predicted_R: 0.4113 -> 0.0000 (deboost -0.4113, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.4612 (boost 0.4612, better)predicted_RBI: 1.0000 -> 0.5358 (deboost -0.4642, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62433predicted_BB: 0.4612 -> 1.0000 (boost 0.5388, better)predicted_H: 0.7867 -> 0.0000 (deboost -0.7867, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context41313predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10101-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final22020predicted_SLG: 0.4180 -> 0.4631 (boost 0.0451, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "804668",
  "player_name": "Rafael Flores Jr.",
  "position": "C",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.129,
        "predicted_3B": 0.0,
        "predicted_AB": 4.16,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.323,
        "predicted_H": 0.99,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.291,
        "predicted_R": 0.387,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.438,
        "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.1352,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.9567,
        "predicted_AVG": 0.2444,
        "predicted_BB": 0.3055,
        "predicted_H": 0.9628,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.2315,
        "predicted_OBP": 0.2976,
        "predicted_R": 0.3924,
        "predicted_RBI": 0.5725,
        "predicted_SLG": 0.4522,
        "predicted_SO": 0.9534
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.129,
          "after": 0.1352,
          "delta": 0.0062,
          "percent_delta": 0.0481,
          "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.9567,
          "delta": -0.2033,
          "percent_delta": -0.0489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.239,
          "after": 0.2444,
          "delta": 0.0054,
          "percent_delta": 0.0226,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.323,
          "after": 0.3055,
          "delta": -0.0175,
          "percent_delta": -0.0542,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 0.9628,
          "delta": -0.0272,
          "percent_delta": -0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2315,
          "delta": -0.0085,
          "percent_delta": -0.0354,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.291,
          "after": 0.2976,
          "delta": 0.0066,
          "percent_delta": 0.0227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.387,
          "after": 0.3924,
          "delta": 0.0054,
          "percent_delta": 0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.5725,
          "delta": -0.0175,
          "percent_delta": -0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.438,
          "after": 0.4522,
          "delta": 0.0142,
          "percent_delta": 0.0324,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9534,
          "delta": -0.0466,
          "percent_delta": -0.0466,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.438,
          "after": 0.4522,
          "delta": 0.0142,
          "percent_delta": 0.0324,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.16,
          "after": 3.9567,
          "delta": -0.2033,
          "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": 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.1352,
        "predicted_3B": 0.0012,
        "predicted_AB": 3.9567,
        "predicted_AVG": 0.2501,
        "predicted_BB": 0.3079,
        "predicted_H": 0.9896,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.2351,
        "predicted_OBP": 0.3042,
        "predicted_R": 0.4113,
        "predicted_RBI": 0.6,
        "predicted_SLG": 0.4631,
        "predicted_SO": 0.9461
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1352,
          "after": 0.1352,
          "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.9567,
          "after": 3.9567,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2444,
          "after": 0.2501,
          "delta": 0.0057,
          "percent_delta": 0.0233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3055,
          "after": 0.3079,
          "delta": 0.0024,
          "percent_delta": 0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9628,
          "after": 0.9896,
          "delta": 0.0268,
          "percent_delta": 0.0278,
          "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.2315,
          "after": 0.2351,
          "delta": 0.0036,
          "percent_delta": 0.0156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2976,
          "after": 0.3042,
          "delta": 0.0066,
          "percent_delta": 0.0222,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3924,
          "after": 0.4113,
          "delta": 0.0189,
          "percent_delta": 0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5725,
          "after": 0.6,
          "delta": 0.0275,
          "percent_delta": 0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4522,
          "after": 0.4631,
          "delta": 0.0109,
          "percent_delta": 0.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9534,
          "after": 0.9461,
          "delta": -0.0073,
          "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.4522,
          "after": 0.4631,
          "delta": 0.0109,
          "percent_delta": 0.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.16), rates preserved: AVG=0.212 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.1352,
          "after": 0.0,
          "delta": -0.1352,
          "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.9567,
          "after": 4.0,
          "delta": 0.0433,
          "percent_delta": 0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3079,
          "after": 0.0,
          "delta": -0.3079,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9896,
          "after": 1.0,
          "delta": 0.0104,
          "percent_delta": 0.0105,
          "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.2351,
          "after": 0.0,
          "delta": -0.2351,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6,
          "after": 1.0,
          "delta": 0.4,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9461,
          "after": 1.0,
          "delta": 0.0539,
          "percent_delta": 0.057,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6,
          "after": 1.0,
          "delta": 0.4,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3079,
          "after": 0.0,
          "delta": -0.3079,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4113,
          "after": 0.0,
          "delta": -0.4113,
          "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.4113,
          "after": 0.0,
          "delta": -0.4113,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1709,
        "predicted_3B": 0.0099,
        "predicted_BB": 0.4612,
        "predicted_H": 0.7867,
        "predicted_HR": 0.1856,
        "predicted_RBI": 0.5358,
        "predicted_SO": 1.1907
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1709,
          "delta": 0.1709,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0099,
          "delta": 0.0099,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4612,
          "delta": 0.4612,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7867,
          "delta": -0.2133,
          "percent_delta": -0.2133,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1856,
          "delta": 0.1856,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5358,
          "delta": -0.4642,
          "percent_delta": -0.4642,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1907,
          "delta": 0.1907,
          "percent_delta": 0.1907,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4612,
          "delta": 0.4612,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5358,
          "delta": -0.4642,
          "percent_delta": -0.4642,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1709,
          "after": 0.0,
          "delta": -0.1709,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0099,
          "after": 0.0,
          "delta": -0.0099,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4612,
          "after": 1.0,
          "delta": 0.5388,
          "percent_delta": 1.1683,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7867,
          "after": 0.0,
          "delta": -0.7867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1856,
          "after": 0.0,
          "delta": -0.1856,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5358,
          "after": 1.0,
          "delta": 0.4642,
          "percent_delta": 0.8664,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1907,
          "after": 1.0,
          "delta": -0.1907,
          "percent_delta": -0.1602,
          "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.4612,
          "after": 1.0,
          "delta": 0.5388,
          "percent_delta": 1.1683,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7867,
          "after": 0.0,
          "delta": -0.7867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.214,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 0.0,
        "predicted_RBI": 1.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.2501,
          "after": 0.214,
          "delta": -0.0361,
          "percent_delta": -0.1443,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3042,
          "after": 0.307,
          "delta": 0.0028,
          "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": 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.4631,
          "after": 0.418,
          "delta": -0.0451,
          "percent_delta": -0.0974,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2501,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3042,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4631,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2501,
          "delta": 0.0361,
          "percent_delta": 0.1687,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3042,
          "delta": -0.0028,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.4631,
          "delta": 0.0451,
          "percent_delta": 0.108,
          "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.418,
          "after": 0.4631,
          "delta": 0.0451,
          "percent_delta": 0.108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.129,
        "after": 0.0,
        "delta": -0.129,
        "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": 4.0,
        "delta": -0.16,
        "percent_delta": -0.0385,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.239,
        "after": 0.2501,
        "delta": 0.0111,
        "percent_delta": 0.0464,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.323,
        "after": 0.0,
        "delta": -0.323,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.99,
        "after": 1.0,
        "delta": 0.01,
        "percent_delta": 0.0101,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 0.0,
        "delta": -0.24,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.291,
        "after": 0.3042,
        "delta": 0.0132,
        "percent_delta": 0.0454,
        "direction": "boost",
        "projection_effect": "better",
        "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.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.438,
        "after": 0.4631,
        "delta": 0.0251,
        "percent_delta": 0.0573,
        "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": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SLG",
        "before": 0.438,
        "after": 0.4631,
        "delta": 0.0251,
        "percent_delta": 0.0573,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.129-
predicted_3B0.000-
predicted_AB4.160-
predicted_AVG0.239-
predicted_BB0.323-
predicted_H0.990-
predicted_HR0.240-
predicted_OBP0.291-
predicted_R0.387-
predicted_RBI0.590-
predicted_SLG0.438-
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.1350.006
predicted_3B0.0010.001
predicted_AB3.957-0.203
predicted_AVG0.2440.005
predicted_BB0.305-0.018
predicted_H0.963-0.027
predicted_HBP0.007-
predicted_HR0.232-0.008
predicted_OBP0.2980.007
predicted_R0.3920.005
predicted_RBI0.573-0.017
predicted_SLG0.4520.014
predicted_SO0.953-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.1350.000
predicted_3B0.0010.000
predicted_AB3.9570.000
predicted_AVG0.2500.006
predicted_BB0.3080.002
predicted_H0.9900.027
predicted_HBP0.0070.000
predicted_HR0.2350.004
predicted_OBP0.3040.007
predicted_R0.4110.019
predicted_RBI0.6000.027
predicted_SLG0.4630.011
predicted_SO0.946-0.007
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1710.171
3B0.0100.010
BB0.4610.461
H0.787-0.213
HR0.1860.186
RBI0.536-0.464
SO1.1910.191
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.171
3B0.000-0.010
AB4.0000.000
BB1.0000.539
H0.000-0.787
HR0.000-0.186
R0.0000.000
RBI1.0000.464
SO1.000-0.191
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.135
predicted_3B0.000-0.001
predicted_AB4.0000.043
predicted_AVG0.214-0.036
predicted_BB0.000-0.308
predicted_H1.0000.010
predicted_HR0.000-0.235
predicted_OBP0.3070.003
predicted_R0.000-0.411
predicted_RBI1.0000.400
predicted_SLG0.418-0.045
predicted_SO1.0000.054
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
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: 31
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-21.0007.0001.0000.0001.0002.0002.0001.0002.0000.33330.36360.52380.33330.04760.09520.04760.0952
last_100.2010-38.0008.0001.0000.0002.0005.0003.0002.0009.0000.21050.25000.39470.21050.05260.13160.05260.2368
season0.6031-103.00025.0004.0000.0008.00019.00012.00010.00031.0000.24270.30970.51460.24270.07770.18450.09710.3010
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1450
predicted_3B0.0030
predicted_AB3.6370
predicted_AVG0.2530
predicted_BB0.2780
predicted_H0.9200
predicted_HBP0.0070
predicted_HR0.2180
predicted_OBP0.3079
predicted_R0.4010
predicted_RBI0.5450
predicted_SLG0.4746
predicted_SO0.8800
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12900.14500.1352model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB4.16003.63703.9567model_form_blend
predicted_AVG0.23900.25300.2444model_form_blend
predicted_BB0.32300.27800.3055model_form_blend
predicted_H0.99000.92000.9628model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.24000.21800.2315model_form_blend
predicted_OBP0.29100.30790.2976model_form_blend
predicted_R0.38700.40100.3924model_form_blend
predicted_RBI0.59000.54500.5725model_form_blend
predicted_SLG0.43800.47460.4522model_form_blend
predicted_SO1.00000.88000.9534model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date72
Season rows before report date72
Report year2026
Profile rows 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
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_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_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
gameID20260909_PIT@CHW
game_typefull
mlbID804668
playerID804668
playerNameRafael Flores Jr.
posC
startedTrue
startingPositionC
teamPIT
teamID22
game_date2026-09-09
sl_k_percent28.2
sl_bb_percent10.0
sl_woba0.359
sl_xwoba0.35
sl_xba0.249
sl_xslg0.499
sl_sweet_spot_percent35.3
sl_barrel_batted_rate14.7
sl_hard_hit_percent47.1
sl_exit_velocity_avg90.5
sl_launch_angle_avg12.6
sl_whiff_percent30.6
sl_swing_percent44.5
Spencer Horwitz (687462) · BATTER · 1B · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 361
All-history rows before 20260910: 361
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2578
Diff (system - data): -0.0128
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.1170.0000.000Hitting_2B0.1690.000-0.1690.000
predicted_3B0.0100.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB3.7804.0004.000Hitting_AB3.6434.0000.3570.000
predicted_AVG0.2100.2500.250Hitting_AVG0.2580.250-0.0080.000
predicted_BB0.4760.0001.000Hitting_BB0.5730.000-0.5730.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7901.0001.000Hitting_H0.9391.0000.0610.000
predicted_HR0.0600.0000.000Hitting_HR0.1080.000-0.1080.000
predicted_OBP0.3130.2500.400Hitting_OBP0.3670.250-0.1170.000
predicted_R0.3980.0000.000Hitting_R0.4491.000-0.449-1.000
predicted_RBI0.4900.0000.000Hitting_RBI0.4710.000-0.4710.000
predicted_SLG0.2910.2500.250Hitting_SLG0.3990.250-0.1490.000
predicted_SO0.6311.0001.000Hitting_SO0.6181.0000.3820.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_SO: 0.6310 -> 1.0000 (boost 0.3690, worse)
Biggest Deboostpredicted_RBI: 0.4900 -> 0.0000 (deboost -0.4900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AVG: 0.2100 -> 0.2163 (boost 0.0063, better)predicted_AB: 3.7800 -> 3.6475 (deboost -0.1325, worse)Final model input calibrated 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.2969 -> 0.3045 (boost 0.0076, better)predicted_OBP: 0.3174 -> 0.3122 (deboost -0.0052, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling75243predicted_BB: 0.4814 -> 1.0000 (boost 0.5186, better)predicted_2B: 0.0998 -> 0.0000 (deboost -0.0998, worse)AB rounded to 4 (raw=3.78), rates preserved: AVG=0.191 HR/AB=0.016
6consistency_constraints10101-predicted_R: 0.4023 -> 0.0000 (deboost -0.4023, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_2B: 0.0000 -> 0.1431 (boost 0.1431, better)predicted_RBI: 1.0000 -> 0.4624 (deboost -0.5376, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_BB: 0.5002 -> 1.0000 (boost 0.4998, better)predicted_RBI: 0.4624 -> 0.0000 (deboost -0.4624, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context32121predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AVG: 0.2214 -> 0.2120 (deboost -0.0094, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference20202-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final21111predicted_AVG: 0.2120 -> 0.2214 (boost 0.0094, better)predicted_SLG: 0.3420 -> 0.3045 (deboost -0.0375, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "687462",
  "player_name": "Spencer Horwitz",
  "position": "1B",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.117,
        "predicted_3B": 0.01,
        "predicted_AB": 3.78,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.476,
        "predicted_H": 0.79,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.313,
        "predicted_R": 0.398,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.291,
        "predicted_SO": 0.631
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0998,
        "predicted_3B": 0.0083,
        "predicted_AB": 3.6475,
        "predicted_AVG": 0.2163,
        "predicted_BB": 0.4777,
        "predicted_H": 0.7857,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.0613,
        "predicted_OBP": 0.3174,
        "predicted_R": 0.3838,
        "predicted_RBI": 0.4943,
        "predicted_SLG": 0.2969,
        "predicted_SO": 0.6551
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.117,
          "after": 0.0998,
          "delta": -0.0172,
          "percent_delta": -0.147,
          "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": 3.78,
          "after": 3.6475,
          "delta": -0.1325,
          "percent_delta": -0.0351,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.2163,
          "delta": 0.0063,
          "percent_delta": 0.03,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.476,
          "after": 0.4777,
          "delta": 0.0017,
          "percent_delta": 0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 0.7857,
          "delta": -0.0043,
          "percent_delta": -0.0054,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0613,
          "delta": 0.0013,
          "percent_delta": 0.0217,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.3174,
          "delta": 0.0044,
          "percent_delta": 0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.398,
          "after": 0.3838,
          "delta": -0.0142,
          "percent_delta": -0.0357,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.4943,
          "delta": 0.0043,
          "percent_delta": 0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.291,
          "after": 0.2969,
          "delta": 0.0059,
          "percent_delta": 0.0203,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.631,
          "after": 0.6551,
          "delta": 0.0241,
          "percent_delta": 0.0382,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.2163,
          "delta": 0.0063,
          "percent_delta": 0.03,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.78,
          "after": 3.6475,
          "delta": -0.1325,
          "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": 103
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0998,
        "predicted_3B": 0.0083,
        "predicted_AB": 3.6475,
        "predicted_AVG": 0.2214,
        "predicted_BB": 0.4814,
        "predicted_H": 0.8075,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.0623,
        "predicted_OBP": 0.3122,
        "predicted_R": 0.4023,
        "predicted_RBI": 0.5181,
        "predicted_SLG": 0.3045,
        "predicted_SO": 0.6501
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0998,
          "after": 0.0998,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0083,
          "after": 0.0083,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6475,
          "after": 3.6475,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2163,
          "after": 0.2214,
          "delta": 0.0051,
          "percent_delta": 0.0236,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4777,
          "after": 0.4814,
          "delta": 0.0037,
          "percent_delta": 0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7857,
          "after": 0.8075,
          "delta": 0.0218,
          "percent_delta": 0.0277,
          "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.0613,
          "after": 0.0623,
          "delta": 0.001,
          "percent_delta": 0.0163,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3174,
          "after": 0.3122,
          "delta": -0.0052,
          "percent_delta": -0.0164,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3838,
          "after": 0.4023,
          "delta": 0.0185,
          "percent_delta": 0.0482,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4943,
          "after": 0.5181,
          "delta": 0.0238,
          "percent_delta": 0.0481,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2969,
          "after": 0.3045,
          "delta": 0.0076,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6551,
          "after": 0.6501,
          "delta": -0.005,
          "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.2969,
          "after": 0.3045,
          "delta": 0.0076,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3174,
          "after": 0.3122,
          "delta": -0.0052,
          "percent_delta": -0.0164,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.78), rates preserved: AVG=0.191 HR/AB=0.016",
      "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.0998,
          "after": 0.0,
          "delta": -0.0998,
          "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.6475,
          "after": 4.0,
          "delta": 0.3525,
          "percent_delta": 0.0966,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4814,
          "after": 1.0,
          "delta": 0.5186,
          "percent_delta": 1.0773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8075,
          "after": 1.0,
          "delta": 0.1925,
          "percent_delta": 0.2384,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.04,
          "after": 0.0,
          "delta": -0.04,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0623,
          "after": 0.0,
          "delta": -0.0623,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5181,
          "after": 1.0,
          "delta": 0.4819,
          "percent_delta": 0.9301,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6501,
          "after": 1.0,
          "delta": 0.3499,
          "percent_delta": 0.5382,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4814,
          "after": 1.0,
          "delta": 0.5186,
          "percent_delta": 1.0773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.0998,
          "after": 0.0,
          "delta": -0.0998,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 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.4023,
          "after": 0.0,
          "delta": -0.4023,
          "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.4023,
          "after": 0.0,
          "delta": -0.4023,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1431,
        "predicted_3B": 0.0121,
        "predicted_BB": 0.5002,
        "predicted_H": 0.7909,
        "predicted_HR": 0.1058,
        "predicted_RBI": 0.4624,
        "predicted_SO": 0.8321
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1431,
          "delta": 0.1431,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0121,
          "delta": 0.0121,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5002,
          "delta": -0.4998,
          "percent_delta": -0.4998,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7909,
          "delta": -0.2091,
          "percent_delta": -0.2091,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1058,
          "delta": 0.1058,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4624,
          "delta": -0.5376,
          "percent_delta": -0.5376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8321,
          "delta": -0.1679,
          "percent_delta": -0.1679,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1431,
          "delta": 0.1431,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4624,
          "delta": -0.5376,
          "percent_delta": -0.5376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1431,
          "after": 0.0,
          "delta": -0.1431,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0121,
          "after": 0.0,
          "delta": -0.0121,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5002,
          "after": 1.0,
          "delta": 0.4998,
          "percent_delta": 0.9992,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7909,
          "after": 1.0,
          "delta": 0.2091,
          "percent_delta": 0.2644,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1058,
          "after": 0.0,
          "delta": -0.1058,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4624,
          "after": 0.0,
          "delta": -0.4624,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8321,
          "after": 1.0,
          "delta": 0.1679,
          "percent_delta": 0.2018,
          "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.5002,
          "after": 1.0,
          "delta": 0.4998,
          "percent_delta": 0.9992,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4624,
          "after": 0.0,
          "delta": -0.4624,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.212,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.342,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.212,
          "delta": -0.0094,
          "percent_delta": -0.0425,
          "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.3122,
          "after": 0.31,
          "delta": -0.0022,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3045,
          "after": 0.342,
          "delta": 0.0375,
          "percent_delta": 0.1232,
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2214,
          "after": 0.212,
          "delta": -0.0094,
          "percent_delta": -0.0425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2214,
        "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.3122,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3045,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2214,
          "delta": 0.0094,
          "percent_delta": 0.0443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3122,
          "delta": 0.0022,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.342,
          "after": 0.3045,
          "delta": -0.0375,
          "percent_delta": -0.1096,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2214,
          "delta": 0.0094,
          "percent_delta": 0.0443,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.342,
          "after": 0.3045,
          "delta": -0.0375,
          "percent_delta": -0.1096,
          "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.117,
        "after": 0.0,
        "delta": -0.117,
        "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.78,
        "after": 4.0,
        "delta": 0.22,
        "percent_delta": 0.0582,
        "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.476,
        "after": 0.0,
        "delta": -0.476,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 1.0,
        "delta": 0.21,
        "percent_delta": 0.2658,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.313,
        "after": 0.3122,
        "delta": -0.0008,
        "percent_delta": -0.0026,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.398,
        "after": 0.0,
        "delta": -0.398,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.291,
        "after": 0.3045,
        "delta": 0.0135,
        "percent_delta": 0.0464,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.631,
        "after": 1.0,
        "delta": 0.369,
        "percent_delta": 0.5848,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.631,
        "after": 1.0,
        "delta": 0.369,
        "percent_delta": 0.5848,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution 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.010-
predicted_AB3.780-
predicted_AVG0.210-
predicted_BB0.476-
predicted_H0.790-
predicted_HR0.060-
predicted_OBP0.313-
predicted_R0.398-
predicted_RBI0.490-
predicted_SLG0.291-
predicted_SO0.631-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.100-0.017
predicted_3B0.008-0.002
predicted_AB3.647-0.132
predicted_AVG0.2160.006
predicted_BB0.4780.002
predicted_H0.786-0.004
predicted_HBP0.040-
predicted_HR0.0610.001
predicted_OBP0.3170.004
predicted_R0.384-0.014
predicted_RBI0.4940.004
predicted_SLG0.2970.006
predicted_SO0.6550.024
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1000.000
predicted_3B0.0080.000
predicted_AB3.6470.000
predicted_AVG0.2210.005
predicted_BB0.4810.004
predicted_H0.8070.022
predicted_HBP0.0400.000
predicted_HR0.0620.001
predicted_OBP0.312-0.005
predicted_R0.4020.019
predicted_RBI0.5180.024
predicted_SLG0.3040.008
predicted_SO0.650-0.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1430.143
3B0.0120.012
BB0.500-0.500
H0.791-0.209
HR0.1060.106
RBI0.462-0.538
SO0.832-0.168
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.143
3B0.000-0.012
AB4.0000.000
BB1.0000.500
H1.0000.209
HR0.000-0.106
R0.0000.000
RBI0.000-0.462
SO1.0000.168
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.100
predicted_3B0.000-0.008
predicted_AB4.0000.353
predicted_AVG0.212-0.009
predicted_BB1.0000.519
predicted_H1.0000.193
predicted_HR0.000-0.062
predicted_OBP0.310-0.002
predicted_R0.000-0.402
predicted_RBI1.0000.482
predicted_SLG0.3420.038
predicted_SO1.0000.350
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
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: 103
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0003.0000.0000.0000.0003.0001.0003.0003.0000.20000.33330.20000.20000.00000.20000.20000.2000
last_100.2010-39.0007.0000.0000.0000.0006.0004.0004.0009.0000.17950.25580.17950.17950.00000.15380.10260.2308
season0.60103-355.00087.00012.0001.00010.00044.00041.00049.00065.0000.24510.34460.36900.24510.02820.12390.13800.1831
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0770
predicted_3B0.0060
predicted_AB3.4720
predicted_AVG0.2246
predicted_BB0.4800
predicted_H0.7800
predicted_HBP0.0400
predicted_HR0.0630
predicted_OBP0.3233
predicted_R0.3650
predicted_RBI0.5000
predicted_SLG0.3047
predicted_SO0.6870
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11700.07700.0998model_form_blend
predicted_3B0.01000.00600.0083model_form_blend
predicted_AB3.78003.47203.6475model_form_blend
predicted_AVG0.21000.22460.2163model_form_blend
predicted_BB0.47600.48000.4777model_form_blend
predicted_H0.79000.78000.7857model_form_blend
predicted_HBP-0.04000.0400form_only
predicted_HR0.06000.06300.0613model_form_blend
predicted_OBP0.31300.32330.3174model_form_blend
predicted_R0.39800.36500.3838model_form_blend
predicted_RBI0.49000.50000.4943model_form_blend
predicted_SLG0.29100.30470.2969model_form_blend
predicted_SO0.63100.68700.6551model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
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_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
allPositionsPlayed1B
gameID20260909_PIT@CHW
game_typefull
mlbID687462
playerID687462
playerNameSpencer Horwitz
pos1B
startedTrue
startingPosition1B
teamPIT
teamID22
game_date2026-09-09
sl_k_percent15.6
sl_bb_percent11.9
sl_woba0.323
sl_xwoba0.311
sl_xba0.224
sl_xslg0.349
sl_sweet_spot_percent28.5
sl_barrel_batted_rate6.2
sl_hard_hit_percent32.0
sl_exit_velocity_avg87.0
sl_launch_angle_avg16.0
sl_whiff_percent16.5
sl_swing_percent40.6
Jared Triolo (669707) · BATTER · SS · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 315
All-history rows before 20260910: 315
System season_avg: 0.2480
Data season_avg (2026 season-to-date): 0.2418
Diff (system - data): 0.0062
System opponent_avg: 0.2480

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1240.0000.000Hitting_2B0.1400.000-0.1400.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0314.0003.000Hitting_AB3.2031.0000.7973.000
predicted_AVG0.3890.2500.000Hitting_AVG0.2421.0000.008-0.750
predicted_BB0.2780.0000.000Hitting_BB0.3210.000-0.3210.000
predicted_CS-0.0000.000BaseRunning_CS0.0130.000-0.0130.000
predicted_H0.3801.0000.000Hitting_H0.7751.0000.2250.000
predicted_HR0.0101.0000.000Hitting_HR0.0320.0000.9681.000
predicted_OBP0.3890.2500.000Hitting_OBP0.3211.000-0.071-0.750
predicted_R0.3201.0000.000Hitting_R0.3590.0000.6411.000
predicted_RBI0.1201.0000.000Hitting_RBI0.2790.0000.7211.000
predicted_SLG0.3301.0000.000Hitting_SLG0.3151.0000.6850.000
predicted_SO0.6601.0001.000Hitting_SO0.6760.0000.3241.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_HR: 0.0100 -> 1.0000 (boost 0.9900, better)
Biggest Deboostpredicted_BB: 0.2780 -> 0.0000 (deboost -0.2780, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_H: 0.3800 -> 0.5459 (boost 0.1659, better)predicted_AVG: 0.3890 -> 0.3350 (deboost -0.0540, worse)Final model input calibrated 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.3350 -> 0.1876 (deboost -0.1474, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling52314predicted_H: 0.5611 -> 1.0000 (boost 0.4389, better)predicted_BB: 0.2677 -> 0.0000 (deboost -0.2677, worse)AB rounded to 3 (raw=3.03), rates preserved: AVG=0.165 HR/AB=0.008
6consistency_constraints10101-predicted_R: 0.3202 -> 0.0000 (deboost -0.3202, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_BB: 0.0000 -> 0.3764 (boost 0.3764, better)predicted_H: 1.0000 -> 0.6767 (deboost -0.3233, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61506predicted_SO: 0.7878 -> 1.0000 (boost 0.2122, worse)predicted_H: 0.6767 -> 0.0000 (deboost -0.6767, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference44040predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3310 -> 0.2477 (deboost -0.0833, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669707",
  "player_name": "Jared Triolo",
  "position": "SS",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.124,
        "predicted_3B": 0.0,
        "predicted_AB": 3.031,
        "predicted_AVG": 0.389,
        "predicted_BB": 0.278,
        "predicted_H": 0.38,
        "predicted_HR": 0.01,
        "predicted_OBP": 0.389,
        "predicted_R": 0.32,
        "predicted_RBI": 0.12,
        "predicted_SLG": 0.33,
        "predicted_SO": 0.66
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1044,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9914,
        "predicted_AVG": 0.335,
        "predicted_BB": 0.2657,
        "predicted_H": 0.5459,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0245,
        "predicted_OBP": 0.3594,
        "predicted_R": 0.3055,
        "predicted_RBI": 0.2459,
        "predicted_SLG": 0.3318,
        "predicted_SO": 0.6396
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.124,
          "after": 0.1044,
          "delta": -0.0196,
          "percent_delta": -0.1581,
          "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.031,
          "after": 2.9914,
          "delta": -0.0396,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.389,
          "after": 0.335,
          "delta": -0.054,
          "percent_delta": -0.1388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.278,
          "after": 0.2657,
          "delta": -0.0123,
          "percent_delta": -0.0442,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.38,
          "after": 0.5459,
          "delta": 0.1659,
          "percent_delta": 0.4366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.01,
          "after": 0.0245,
          "delta": 0.0145,
          "percent_delta": 1.45,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.389,
          "after": 0.3594,
          "delta": -0.0296,
          "percent_delta": -0.0761,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.32,
          "after": 0.3055,
          "delta": -0.0145,
          "percent_delta": -0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.12,
          "after": 0.2459,
          "delta": 0.1259,
          "percent_delta": 1.0492,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.33,
          "after": 0.3318,
          "delta": 0.0018,
          "percent_delta": 0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.66,
          "after": 0.6396,
          "delta": -0.0204,
          "percent_delta": -0.0309,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.38,
          "after": 0.5459,
          "delta": 0.1659,
          "percent_delta": 0.4366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.389,
          "after": 0.335,
          "delta": -0.054,
          "percent_delta": -0.1388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 97
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1044,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.9914,
        "predicted_AVG": 0.1876,
        "predicted_BB": 0.2677,
        "predicted_H": 0.5611,
        "predicted_HBP": 0.03,
        "predicted_HR": 0.0249,
        "predicted_OBP": 0.2543,
        "predicted_R": 0.3202,
        "predicted_RBI": 0.2577,
        "predicted_SLG": 0.2477,
        "predicted_SO": 0.6347
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1044,
          "after": 0.1044,
          "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.9914,
          "after": 2.9914,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.335,
          "after": 0.1876,
          "delta": -0.1474,
          "percent_delta": -0.44,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2657,
          "after": 0.2677,
          "delta": 0.002,
          "percent_delta": 0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5459,
          "after": 0.5611,
          "delta": 0.0152,
          "percent_delta": 0.0278,
          "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.0245,
          "after": 0.0249,
          "delta": 0.0004,
          "percent_delta": 0.0163,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3594,
          "after": 0.2543,
          "delta": -0.1051,
          "percent_delta": -0.2924,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3055,
          "after": 0.3202,
          "delta": 0.0147,
          "percent_delta": 0.0481,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2459,
          "after": 0.2577,
          "delta": 0.0118,
          "percent_delta": 0.048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3318,
          "after": 0.2477,
          "delta": -0.0841,
          "percent_delta": -0.2535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6396,
          "after": 0.6347,
          "delta": -0.0049,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.335,
          "after": 0.1876,
          "delta": -0.1474,
          "percent_delta": -0.44,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.03), rates preserved: AVG=0.165 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.1044,
          "after": 0.0,
          "delta": -0.1044,
          "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.9914,
          "after": 3.0,
          "delta": 0.0086,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2677,
          "after": 0.0,
          "delta": -0.2677,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5611,
          "after": 1.0,
          "delta": 0.4389,
          "percent_delta": 0.7822,
          "direction": "boost",
          "projection_effect": "better",
          "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.0249,
          "after": 0.0,
          "delta": -0.0249,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2577,
          "after": 0.0,
          "delta": -0.2577,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6347,
          "after": 1.0,
          "delta": 0.3653,
          "percent_delta": 0.5755,
          "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.5611,
          "after": 1.0,
          "delta": 0.4389,
          "percent_delta": 0.7822,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2677,
          "after": 0.0,
          "delta": -0.2677,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3202,
          "after": 0.0,
          "delta": -0.3202,
          "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.3202,
          "after": 0.0,
          "delta": -0.3202,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1443,
        "predicted_3B": 0.007,
        "predicted_BB": 0.3764,
        "predicted_H": 0.6767,
        "predicted_HR": 0.0688,
        "predicted_RBI": 0.3399,
        "predicted_SO": 0.7878
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1443,
          "delta": 0.1443,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.007,
          "delta": 0.007,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3764,
          "delta": 0.3764,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6767,
          "delta": -0.3233,
          "percent_delta": -0.3233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0688,
          "delta": 0.0688,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3399,
          "delta": 0.3399,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7878,
          "delta": -0.2122,
          "percent_delta": -0.2122,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3764,
          "delta": 0.3764,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6767,
          "delta": -0.3233,
          "percent_delta": -0.3233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1443,
          "after": 0.0,
          "delta": -0.1443,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0,
          "delta": -0.007,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3764,
          "after": 0.0,
          "delta": -0.3764,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6767,
          "after": 0.0,
          "delta": -0.6767,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0688,
          "after": 0.0,
          "delta": -0.0688,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3399,
          "after": 0.0,
          "delta": -0.3399,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7878,
          "after": 1.0,
          "delta": 0.2122,
          "percent_delta": 0.2694,
          "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.7878,
          "after": 1.0,
          "delta": 0.2122,
          "percent_delta": 0.2694,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6767,
          "after": 0.0,
          "delta": -0.6767,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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.1876,
          "after": 0.215,
          "delta": 0.0274,
          "percent_delta": 0.1461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2543,
          "after": 0.305,
          "delta": 0.0507,
          "percent_delta": 0.1994,
          "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.2477,
          "after": 0.331,
          "delta": 0.0833,
          "percent_delta": 0.3363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1876,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2543,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2477,
        "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.1876,
          "delta": -0.0274,
          "percent_delta": -0.1276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.2543,
          "delta": -0.0507,
          "percent_delta": -0.1662,
          "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.2477,
          "delta": -0.0833,
          "percent_delta": -0.2517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.331,
          "after": 0.2477,
          "delta": -0.0833,
          "percent_delta": -0.2517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.124,
        "after": 0.0,
        "delta": -0.124,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.031,
        "after": 4.0,
        "delta": 0.969,
        "percent_delta": 0.3197,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.389,
        "after": 0.1876,
        "delta": -0.2014,
        "percent_delta": -0.5177,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.278,
        "after": 0.0,
        "delta": -0.278,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.38,
        "after": 1.0,
        "delta": 0.62,
        "percent_delta": 1.6316,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.01,
        "after": 1.0,
        "delta": 0.99,
        "percent_delta": 99.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.389,
        "after": 0.2543,
        "delta": -0.1347,
        "percent_delta": -0.3463,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.32,
        "after": 1.0,
        "delta": 0.68,
        "percent_delta": 2.125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.12,
        "after": 1.0,
        "delta": 0.88,
        "percent_delta": 7.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.33,
        "after": 0.2477,
        "delta": -0.0823,
        "percent_delta": -0.2494,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.66,
        "after": 1.0,
        "delta": 0.34,
        "percent_delta": 0.5152,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.01,
        "after": 1.0,
        "delta": 0.99,
        "percent_delta": 99.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.278,
        "after": 0.0,
        "delta": -0.278,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.124-
predicted_3B0.000-
predicted_AB3.031-
predicted_AVG0.389-
predicted_BB0.278-
predicted_H0.380-
predicted_HR0.010-
predicted_OBP0.389-
predicted_R0.320-
predicted_RBI0.120-
predicted_SLG0.330-
predicted_SO0.660-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.104-0.020
predicted_3B0.0000.000
predicted_AB2.991-0.040
predicted_AVG0.335-0.054
predicted_BB0.266-0.012
predicted_H0.5460.166
predicted_HBP0.030-
predicted_HR0.0250.015
predicted_OBP0.359-0.030
predicted_R0.305-0.015
predicted_RBI0.2460.126
predicted_SLG0.3320.002
predicted_SO0.640-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.1040.000
predicted_3B0.0000.000
predicted_AB2.9910.000
predicted_AVG0.188-0.147
predicted_BB0.2680.002
predicted_H0.5610.015
predicted_HBP0.0300.000
predicted_HR0.0250.000
predicted_OBP0.254-0.105
predicted_R0.3200.015
predicted_RBI0.2580.012
predicted_SLG0.248-0.084
predicted_SO0.635-0.005
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.03), rates preserved: AVG=0.165 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-
6. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1440.144
3B0.0070.007
BB0.3760.376
H0.677-0.323
HR0.0690.069
RBI0.3400.340
SO0.788-0.212
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.144
3B0.000-0.007
AB3.0000.000
BB0.000-0.376
H0.000-0.677
HR0.000-0.069
R0.0000.000
RBI0.000-0.340
SO1.0000.212
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.104
predicted_3B0.000-0.000
predicted_AB3.0000.009
predicted_AVG0.2150.027
predicted_BB0.000-0.268
predicted_H1.0000.439
predicted_HR0.000-0.025
predicted_OBP0.3050.051
predicted_R0.000-0.320
predicted_RBI0.000-0.258
predicted_SLG0.3310.083
predicted_SO1.0000.365
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
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: 97
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0003.0000.0000.0000.0003.0001.0001.0002.0000.25000.28570.25000.25000.00000.25000.08330.1667
last_100.2010-28.0009.0000.0000.0001.0005.0002.0002.0006.0000.32140.35480.42860.32140.03570.17860.07140.2143
season0.6097-294.00073.00012.0000.0003.00028.00031.00027.00064.0000.24830.32110.31970.24830.01020.09520.09180.2177
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0780
predicted_3B0.0010
predicted_AB2.9380
predicted_AVG0.2620
predicted_BB0.2490
predicted_H0.7700
predicted_HBP0.0300
predicted_HR0.0440
predicted_OBP0.3195
predicted_R0.2860
predicted_RBI0.4160
predicted_SLG0.3342
predicted_SO0.6120
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12400.07800.1044model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.03102.93802.9914model_form_blend
predicted_AVG0.38900.26200.3350model_form_blend
predicted_BB0.27800.24900.2657model_form_blend
predicted_H0.38000.77000.5459model_form_blend
predicted_HBP-0.03000.0300form_only
predicted_HR0.01000.04400.0245model_form_blend
predicted_OBP0.38900.31950.3594model_form_blend
predicted_R0.32000.28600.3055model_form_blend
predicted_RBI0.12000.41600.2459model_form_blend
predicted_SLG0.33000.33420.3318model_form_blend
predicted_SO0.66000.61200.6396model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
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_AB1
Hitting_AVG1.0
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder9
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260909_PIT@CHW
game_typeshort
mlbID669707
playerID669707
playerNameJared Triolo
posSS
startedFalse
startingPosition3B
teamPIT
teamID22
game_date2026-09-09
sl_k_percent19.6
sl_bb_percent8.0
sl_woba0.287
sl_xwoba0.289
sl_xba0.244
sl_xslg0.32
sl_sweet_spot_percent32.2
sl_barrel_batted_rate2.6
sl_hard_hit_percent33.9
sl_exit_velocity_avg86.6
sl_launch_angle_avg5.5
sl_whiff_percent21.7
sl_swing_percent45.2
Jared Jones (683003) · PITCHER · Starter · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 17
All-history rows before 20260910: 17

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.6471.0000.3531.000
predicted_ER3.0003.0003.000Pitching_ER2.2940.0000.7063.000
predicted_H2.0002.0002.000Pitching_H4.0593.000-2.059-1.000
predicted_IP4.2004.2004.200Pitching_InningsPitched4.5596.000-0.359-1.800
predicted_SO4.0004.0004.000Pitching_SO5.4129.000-1.412-5.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": "683003",
  "player_name": "Jared Jones",
  "position": "Starter",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.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": 2.0,
        "predicted_ER": 3.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.2,
        "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": 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": 4.6667,
          "after": 4.2,
          "delta": -0.4667,
          "percent_delta": -0.1,
          "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": 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": 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": 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": 4.6667,
        "after": 4.2,
        "delta": -0.4667,
        "percent_delta": -0.1,
        "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": 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_BB2.000-
predicted_ER3.000-
predicted_H2.000-
predicted_HR1.000-
predicted_IP4.667-
predicted_SO4.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: 4.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45522.20014.00023.00012.00030.0003.0005.55881.54410.61771.01470.52941.32350.1323
last_100.351049.20022.00040.00017.00061.0007.0003.98661.14770.44300.80540.34231.22820.1409
season0.201778.20039.00069.00028.00092.00012.0004.46191.23310.49580.87710.35591.16950.1525
Weighted Prediction From Real Data
MetricValue
predicted_BB1.9790
predicted_ER2.5000
predicted_ERA4.7295
predicted_H4.4110
predicted_HR0.6710
predicted_IP4.2000
predicted_SO5.6450
predicted_WHIP1.3435
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.97901.9884model_form_blend
predicted_ER3.00002.50002.7230model_form_blend
predicted_ERA-4.72954.7295form_only
predicted_H2.00004.41103.3356model_form_blend
predicted_HR1.00000.67100.8177model_form_blend
predicted_IP4.20004.20004.2000model_form_blend
predicted_SO4.00005.64504.9113model_form_blend
predicted_WHIP-1.34351.3435form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.2
H2
R3
ER3
BB2
SO4
HR1
BF18
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_BB1
Pitching_Balk0
Pitching_Batters Faced21
Pitching_ER0
Pitching_ERA4.46
Pitching_Flyouts1
Pitching_Groundouts4
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches91
Pitching_R0
Pitching_SO9
Pitching_Strikes63
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260904_LAA@PIT
game_typefull
mlbID683003
playerID683003
playerNameJared Jones
posP
startedTrue
startingPositionP
teamPIT
teamID22
game_date2026-09-04
sl_k_percent27.6
sl_bb_percent8.4
sl_woba0.312
sl_xwoba0.295
sl_sweet_spot_percent34.1
sl_barrel_batted_rate8.1
sl_hard_hit_percent39.3
sl_whiff_percent32.0
sl_swing_percent48.1
sl_avg_best_speed79.246628173
sl_avg_hyper_speed94.32907087
Gregory Soto (642397) · PITCHER · Middle Reliever (High Leverage) · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 62
All-history rows before 20260910: 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.3870.0000.6131.000
predicted_ER0.0000.0000.000Pitching_ER0.3390.000-0.3390.000
predicted_H0.0000.0000.000Pitching_H0.6771.000-0.677-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9061.0000.0940.000
predicted_SO3.0003.0003.000Pitching_SO1.1452.0001.8551.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.1000.0002.0000.0003.0000.0000.00000.46150.00000.46150.00000.69230.0000
last_100.35109.2000.0006.0002.00010.0000.0000.00000.82760.00000.62070.20691.03450.0000
season0.206161.10018.00039.00023.00071.0005.0002.64131.01090.29350.63590.37501.15760.0815
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2120
predicted_ER0.1870
predicted_ERA1.6786
predicted_H0.6730
predicted_HR0.0540
predicted_IP1.0000
predicted_SO0.9150
predicted_WHIP0.8851
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.21200.5836model_form_blend
predicted_ER0.00000.18700.0988model_form_blend
predicted_ERA-1.67861.6786form_only
predicted_H0.00000.67300.3556model_form_blend
predicted_HR0.00000.05400.0285model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO3.00000.91501.8982model_form_blend
predicted_WHIP-0.88510.8851form_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 used61
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
SO3
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA3.08
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP1
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches17
Pitching_R0
Pitching_SO2
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260909_PIT@CHW
game_typefull
mlbID642397
playerID642397
playerNameGregory Soto
posP
startedFalse
startingPositionP
teamPIT
teamID22
game_date2026-09-09
sl_k_percent28.0
sl_bb_percent9.4
sl_woba0.268
sl_xwoba0.264
sl_sweet_spot_percent30.7
sl_barrel_batted_rate4.6
sl_hard_hit_percent34.0
sl_whiff_percent28.3
sl_swing_percent43.8
sl_avg_best_speed74.764408
sl_avg_hyper_speed93.25821255
Luke Weaver (596133) · PITCHER · Setup Man · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 11
All-history rows before 20260910: 11

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3640.0000.6361.000
predicted_ER0.0000.0000.000Pitching_ER0.6361.000-0.636-1.000
predicted_H0.0000.0000.000Pitching_H1.1823.000-1.182-3.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8551.0000.1450.000
predicted_SO2.0002.0002.000Pitching_SO1.0911.0000.9091.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.4554.2003.0006.0001.0004.0001.0005.78571.50000.64291.28570.21430.85710.2143
last_100.35109.1007.00012.0003.00012.0001.0006.75001.60710.75001.28570.32141.28570.1071
season0.205354.10016.00038.00015.00057.0004.0002.65030.97550.29450.69940.27611.04910.0736
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2980
predicted_ER0.5770
predicted_ERA5.1925
predicted_H1.1070
predicted_HR0.1480
predicted_IP1.0000
predicted_SO1.0120
predicted_WHIP1.4050
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.29800.6366model_form_blend
predicted_ER0.00000.57700.2987model_form_blend
predicted_ERA-5.19255.1925form_only
predicted_H0.00001.10700.5731model_form_blend
predicted_HR0.00000.14800.0766model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.01201.4885model_form_blend
predicted_WHIP-1.40501.4050form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB1
SO2
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER1
Pitching_ERA2.65
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H3
Pitching_HBP1
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches17
Pitching_R1
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder7
allPositionsPlayedP
gameID20260909_PIT@CHW
game_typefull
mlbID596133
playerID596133
playerNameLuke Weaver
posP
startedFalse
startingPositionP
teamPIT
teamID22
game_date2026-09-09
sl_k_percent26.4
sl_bb_percent6.9
sl_woba0.251
sl_xwoba0.28
sl_sweet_spot_percent31.9
sl_barrel_batted_rate7.8
sl_hard_hit_percent36.2
sl_whiff_percent30.5
sl_swing_percent53.0
sl_avg_best_speed78.586558841
sl_avg_hyper_speed93.526460072
Mason Montgomery (682254) · PITCHER · Closer · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 62
All-history rows before 20260910: 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.3710.000-0.3710.000
predicted_ER0.0000.0000.000Pitching_ER0.3060.000-0.3060.000
predicted_H0.0000.0000.000Pitching_H0.6450.000-0.6450.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.8581.0000.2420.100
predicted_SO1.0001.0001.000Pitching_SO1.5162.000-0.516-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": "682254",
  "player_name": "Mason Montgomery",
  "position": "Closer",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 61
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0003.0001.0005.0000.0000.00000.80000.00000.60000.20001.00000.0000
last_100.351010.1000.0004.0002.00012.0000.0000.00000.58060.00000.38710.19351.16130.0000
season0.206160.20017.00038.00023.00094.0004.0002.52201.00550.28020.62640.37911.54940.0659
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2740
predicted_ER0.1860
predicted_ERA1.6708
predicted_H0.6590
predicted_HR0.0520
predicted_IP1.0000
predicted_SO1.1010
predicted_WHIP0.9326
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.27400.1445model_form_blend
predicted_ER0.00000.18600.0981model_form_blend
predicted_ERA-1.67081.6708form_only
predicted_H0.00000.65900.3476model_form_blend
predicted_HR0.00000.05200.0274model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.10101.0533model_form_blend
predicted_WHIP-0.93260.9326form_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 used61
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.82
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches17
Pitching_R0
Pitching_SO2
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder8
allPositionsPlayedP
gameID20260909_PIT@CHW
game_typefull
mlbID682254
playerID682254
playerNameMason Montgomery
posP
startedFalse
startingPositionP
teamPIT
teamID22
game_date2026-09-09
sl_k_percent38.2
sl_bb_percent9.3
sl_woba0.245
sl_xwoba0.249
sl_sweet_spot_percent25.8
sl_barrel_batted_rate7.0
sl_hard_hit_percent41.4
sl_whiff_percent32.2
sl_swing_percent49.7
sl_avg_best_speed75.46713127
sl_avg_hyper_speed94.673809683
Yohan Ramírez (670990) · PITCHER · Middle Reliever (High Leverage) · Team PIT
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 60
All-history rows before 20260910: 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.7170.000-0.7170.000
predicted_ER0.0000.0000.000Pitching_ER0.4500.000-0.4500.000
predicted_H2.0002.0002.000Pitching_H0.9170.0001.0832.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.1830.200-0.1830.800
predicted_SO1.0001.0001.000Pitching_SO1.5170.000-0.5171.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": "670990",
  "player_name": "Yohan Ramírez",
  "position": "Middle Reliever (High Leverage)",
  "team": "PIT",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.1002.0004.0001.0005.0000.0003.37500.93750.37500.75000.18750.93750.0000
last_100.35109.2004.0007.0002.00012.0000.0003.72410.93100.41380.72410.20691.24140.0000
season0.206078.00027.00055.00043.00091.0004.0003.11541.25640.34620.70510.55131.16670.0513
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3070
predicted_ER0.4330
predicted_ERA3.7060
predicted_H0.8300
predicted_HR0.0450
predicted_IP1.0000
predicted_SO1.1070
predicted_WHIP1.0823
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.30700.1683model_form_blend
predicted_ER0.00000.43300.2373model_form_blend
predicted_ERA-3.70603.7060form_only
predicted_H2.00000.83001.3587model_form_blend
predicted_HR0.00000.04500.0247model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.10701.0587model_form_blend
predicted_WHIP-1.08231.0823form_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 used60
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced1
Pitching_ER0
Pitching_ERA3.12
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.2
Pitching_Pitches4
Pitching_R0
Pitching_SO0
Pitching_Strikes3
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260909_PIT@CHW
game_typefull
mlbID670990
playerID670990
playerNameYohan Ramírez
posP
startedFalse
startingPositionP
teamPIT
teamID22
game_date2026-09-09
sl_k_percent27.1
sl_bb_percent12.8
sl_woba0.282
sl_xwoba0.289
sl_sweet_spot_percent32.6
sl_barrel_batted_rate4.7
sl_hard_hit_percent31.1
sl_whiff_percent27.3
sl_swing_percent44.6
sl_avg_best_speed71.935952979
sl_avg_hyper_speed92.724473777

Home Team: CHW

Home Pitcher Deep Analysis

FieldValue
PitcherHagen Smith
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3468
ESPN Rank187
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP4.2000
Pre ER1
Pre H4
Pre BB2
Pre SO4
Season ERA0
Season WHIP0.8750
Role Avg IP3
Recent Avg IP3
Last Start IP3
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "opponent": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "edges": {
    "quality_edge": -0.1543,
    "offense_edge": 0.0504,
    "opponent_offense_edge": 0.0767,
    "defense_strength": 0.0127,
    "opponent_defense_weakness": 0.0243,
    "recent_win_pct_edge": -0.5
  },
  "player_factors": {
    "ip": 0.9911,
    "run_prevention": 1.0187,
    "strikeout": 0.9892
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "696146",
    "profile": {
      "available": true,
      "pitcher_id": "696146",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 21.0,
        "k_percent": 37.1,
        "bb_percent": 16.1,
        "woba": 0.209,
        "xwoba": 0.264,
        "sweet_spot_percent": 34.5,
        "barrel_batted_rate": 3.4,
        "hard_hit_percent": 34.5,
        "avg_best_speed": 78.8272,
        "avg_hyper_speed": 94.145,
        "whiff_percent": 35.3,
        "swing_percent": 43.0
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.1271,
        "command_and_miss": 1.1407,
        "regression_edge": -1.5714,
        "xwoba_edge": 1.3429,
        "barrel_edge": 0.8222,
        "hard_hit_edge": 0.4857,
        "whiff_edge": 1.4714,
        "bb_edge": -1.725,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "696146",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.3468,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9705,
      "strikeout_factor": 1.0653,
      "walk_factor": 1.0621,
      "homer_factor": 0.9435,
      "woba_minus_xwoba": -0.055,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "696146",
        "espn_id": 5023126,
        "player_name": "Hagen Smith",
        "team": "CHW",
        "role": "pitcher",
        "espn_rank": 187,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 187,
          "gp_value": 10.0,
          "gp_rank": 528,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 0.5625,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 243,
          "l_value": 1.0,
          "l_rank": 427,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 1.0,
          "hld_rank": 271,
          "ip_value": 16.0,
          "ip_rank": 556,
          "h_value": 5.0,
          "h_rank": 720,
          "er_value": 1.0,
          "er_rank": 781,
          "hr_value": 1.0,
          "hr_rank": 613,
          "bb_value": 10.0,
          "bb_rank": 483,
          "k_value": 23.0,
          "k_rank": 460,
          "k_per_9_value": 12.9375,
          "k_per_9_rank": 22,
          "whip_value": 0.9375,
          "whip_rank": null,
          "war_value": 0.97,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9867,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9867,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0279,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9746,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0294,
        "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": 16.0,
    "ER": 0,
    "H": 4,
    "BB": 10,
    "SO": 23,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.875,
    "K9": 12.9375,
    "HR9": 0.0,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "696146",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.6164383561643836,
    "last_10": 0.3835616438356164
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.229,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3924,
    "prior_weight": 0.6076
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "696146",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 9,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 10.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.8,
        "BB": 0.8,
        "SO": 2.6,
        "HR": 0.0,
        "BF": 7.4,
        "Pitches": 32.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.3,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 9,
      "totals": {
        "IP": 16.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 4.0,
        "BB": 10.0,
        "SO": 23.0,
        "HR": 0.0,
        "BF": 61.0,
        "Pitches": 266.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4444,
        "BB": 1.1111,
        "SO": 2.5556,
        "HR": 0.0,
        "BF": 6.7778,
        "Pitches": 29.5556
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.875,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.25,
        "BB_per_IP": 0.625,
        "SO_per_IP": 1.4375,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 9,
      "totals": {
        "IP": 16.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 4.0,
        "BB": 10.0,
        "SO": 23.0,
        "HR": 0.0,
        "BF": 61.0,
        "Pitches": 266.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4444,
        "BB": 1.1111,
        "SO": 2.5556,
        "HR": 0.0,
        "BF": 6.7778,
        "Pitches": 29.5556
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.875,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.25,
        "BB_per_IP": 0.625,
        "SO_per_IP": 1.4375,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.2,
    "predicted_ER": 1.091,
    "predicted_H": 2.591,
    "predicted_BB": 1.487,
    "predicted_SO": 3.934,
    "predicted_HR": 0.319,
    "predicted_ERA": 2.7504,
    "predicted_WHIP": 1.1421
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.6067,
  "form_weight": 0.3933,
  "form_reliability": 0.3924,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 3.229,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.3924,
    "prior_weight": 0.6076
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 3.2,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.091,
      "final": 1.0358,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 2.591,
      "final": 3.4459,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.487,
      "final": 1.7982,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 3.934,
      "final": 3.974,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.319,
      "final": 0.7322,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7504,
      "final": 2.7504,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1421,
      "final": 1.1421,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherGrant Taylor
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6002
ESPN Rank42
Movement AvailableTrue
Primary Pitch-
Movement Score0.1719
Avg Velo92.9447
Avg Spin2431.2963
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER2
Pre H1
Pre BB0
Pre SO1
Season ERA2.3964
Season WHIP1.0296
Role Avg IP1.3870
Recent Avg IP1.6000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "opponent": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "edges": {
    "quality_edge": -0.1543,
    "offense_edge": 0.0504,
    "opponent_offense_edge": 0.0767,
    "defense_strength": 0.0127,
    "opponent_defense_weakness": 0.0243,
    "recent_win_pct_edge": -0.5
  },
  "player_factors": {
    "ip": 0.9911,
    "run_prevention": 1.0187,
    "strikeout": 0.9892
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "691799",
    "profile": {
      "available": true,
      "pitcher_id": "691799",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 218.0,
        "k_percent": 32.4,
        "bb_percent": 8.7,
        "woba": 0.254,
        "xwoba": 0.259,
        "sweet_spot_percent": 28.0,
        "barrel_batted_rate": 7.5,
        "hard_hit_percent": 41.1,
        "avg_best_speed": 79.9772,
        "avg_hyper_speed": 94.1327,
        "whiff_percent": 28.6,
        "swing_percent": 46.4
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8245,
        "command_and_miss": 0.8736,
        "regression_edge": -0.1429,
        "xwoba_edge": 1.4857,
        "barrel_edge": -0.0889,
        "hard_hit_edge": -0.4571,
        "whiff_edge": 0.5143,
        "bb_edge": 0.125,
        "pitch_design_score": 0.1719
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "691799",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 20,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 20,
          "pitch_usage": 0.0,
          "release_speed": 92.94466504167202,
          "release_spin_rate": 2431.296292552188,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 20,
            "pitch_usage": 0.0,
            "release_speed": 92.94466504167202,
            "release_spin_rate": 2431.296292552188,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 92.9447,
          "release_spin_rate": 2431.2963,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1719,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2278,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.6002,
      "sample_weight": 0.872,
      "run_prevention_factor": 0.949,
      "strikeout_factor": 1.0698,
      "walk_factor": 0.9913,
      "homer_factor": 0.9833,
      "woba_minus_xwoba": -0.005,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "691799",
        "espn_id": 4927630,
        "player_name": "Grant Taylor",
        "team": "CHW",
        "role": "pitcher",
        "espn_rank": 42,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 42,
          "gp_value": 55.0,
          "gp_rank": 77,
          "gs_value": 4.0,
          "gs_rank": 235,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.16,
          "era_rank": null,
          "w_value": 7.0,
          "w_rank": 85,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 8.0,
          "sv_rank": 31,
          "hld_value": 10.0,
          "hld_rank": 85,
          "ip_value": 75.0,
          "ip_rank": 171,
          "h_value": 52.0,
          "h_rank": 236,
          "er_value": 18.0,
          "er_rank": 352,
          "hr_value": 6.0,
          "hr_rank": 271,
          "bb_value": 26.0,
          "bb_rank": 206,
          "k_value": 97.0,
          "k_rank": 110,
          "k_per_9_value": 11.64,
          "k_per_9_rank": 17,
          "whip_value": 1.04,
          "whip_rank": null,
          "war_value": 2.72,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9555,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9555,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9924,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9854,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0609,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 15.0,
    "ER": 2,
    "H": 5,
    "BB": 6,
    "SO": 16,
    "HR": 1,
    "ERA": 1.2,
    "WHIP": 0.7333333333333333,
    "K9": 9.6,
    "HR9": 0.6,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-02T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "691799",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 20,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 20,
    "pitch_usage": 0.0,
    "release_speed": 92.94466504167202,
    "release_spin_rate": 2431.296292552188,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 20,
      "pitch_usage": 0.0,
      "release_speed": 92.94466504167202,
      "release_spin_rate": 2431.296292552188,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 92.9447,
    "release_spin_rate": 2431.2963,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1719,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2278,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.369,
    "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": "691799",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 41,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 8.0,
        "ER": 0.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.2,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 5.4,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.625,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.125,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 15.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 6.0,
        "SO": 16.0,
        "HR": 1.0,
        "BF": 54.0,
        "Pitches": 209.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.5,
        "BB": 0.6,
        "SO": 1.6,
        "HR": 0.1,
        "BF": 5.4,
        "Pitches": 20.9
      },
      "rates": {
        "ERA": 1.2,
        "WHIP": 0.7333,
        "ER_per_IP": 0.13333,
        "H_per_IP": 0.33333,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.06667,
        "HR_per_IP": 0.06667
      }
    },
    "season": {
      "games": 41,
      "totals": {
        "IP": 56.1,
        "ER": 15.0,
        "R": 21.0,
        "H": 40.0,
        "BB": 18.0,
        "SO": 76.0,
        "HR": 4.0,
        "BF": 225.0,
        "Pitches": 905.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3659,
        "R": 0.5122,
        "H": 0.9756,
        "BB": 0.439,
        "SO": 1.8537,
        "HR": 0.0976,
        "BF": 5.4878,
        "Pitches": 22.0732
      },
      "rates": {
        "ERA": 2.3964,
        "WHIP": 1.0296,
        "ER_per_IP": 0.26627,
        "H_per_IP": 0.71006,
        "BB_per_IP": 0.31953,
        "SO_per_IP": 1.34911,
        "HR_per_IP": 0.07101
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.321,
    "predicted_H": 0.91,
    "predicted_BB": 0.423,
    "predicted_SO": 1.56,
    "predicted_HR": 0.102,
    "predicted_ERA": 2.0071,
    "predicted_WHIP": 0.9273
  }
}
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.369,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6946,
    "prior_weight": 0.3054
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.321,
      "final": 1.1253,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.91,
      "final": 0.4741,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.423,
      "final": 0.2204,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.56,
      "final": 1.2917,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.102,
      "final": 0.0531,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0071,
      "final": 2.0071,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9273,
      "final": 0.9273,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherSean Newcomb
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0928
ESPN Rank55
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0148
Avg Velo89.6108
Avg Spin2444.9811
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER1
Pre H1
Pre BB0
Pre SO0
Season ERA2.4429
Season WHIP1.0714
Role Avg IP1.4810
Recent Avg IP1.4000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "opponent": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "edges": {
    "quality_edge": -0.1543,
    "offense_edge": 0.0504,
    "opponent_offense_edge": 0.0767,
    "defense_strength": 0.0127,
    "opponent_defense_weakness": 0.0243,
    "recent_win_pct_edge": -0.5
  },
  "player_factors": {
    "ip": 0.9911,
    "run_prevention": 1.0187,
    "strikeout": 0.9892
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656794",
    "profile": {
      "available": true,
      "pitcher_id": "656794",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 264.0,
        "k_percent": 21.8,
        "bb_percent": 8.6,
        "woba": 0.27,
        "xwoba": 0.305,
        "sweet_spot_percent": 32.3,
        "barrel_batted_rate": 5.2,
        "hard_hit_percent": 36.7,
        "avg_best_speed": 77.1285,
        "avg_hyper_speed": 93.7581,
        "whiff_percent": 23.0,
        "swing_percent": 45.7
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.385,
        "command_and_miss": -0.0829,
        "regression_edge": -1.0,
        "xwoba_edge": 0.1714,
        "barrel_edge": 0.4222,
        "hard_hit_edge": 0.1714,
        "whiff_edge": -0.2857,
        "bb_edge": 0.15,
        "pitch_design_score": -0.0148
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656794",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 21,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 21,
          "pitch_usage": 0.0,
          "release_speed": 89.61075057207849,
          "release_spin_rate": 2444.981106388793,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 21,
            "pitch_usage": 0.0,
            "release_speed": 89.61075057207849,
            "release_spin_rate": 2444.981106388793,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.6108,
          "release_spin_rate": 2444.9811,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0148,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.1057,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.0928,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9921,
      "strikeout_factor": 0.9874,
      "walk_factor": 0.988,
      "homer_factor": 0.9542,
      "woba_minus_xwoba": -0.035,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "656794",
        "espn_id": 33856,
        "player_name": "Sean Newcomb",
        "team": "CHW",
        "role": "pitcher",
        "espn_rank": 55,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 55,
          "gp_value": 53.0,
          "gp_rank": 87,
          "gs_value": 4.0,
          "gs_rank": 235,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.7108,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 316,
          "l_value": 4.0,
          "l_rank": 186,
          "sv_value": 4.0,
          "sv_rank": 54,
          "hld_value": 11.0,
          "hld_rank": 76,
          "ip_value": 83.0,
          "ip_rank": 156,
          "h_value": 65.0,
          "h_rank": 180,
          "er_value": 25.0,
          "er_rank": 242,
          "hr_value": 2.0,
          "hr_rank": 525,
          "bb_value": 29.0,
          "bb_rank": 174,
          "k_value": 74.0,
          "k_rank": 167,
          "k_per_9_value": 8.0240965,
          "k_per_9_rank": 28,
          "whip_value": 1.1325,
          "whip_rank": null,
          "war_value": 2.42,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9921,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9921,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.988,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9542,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9874,
        "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": 14.0,
    "ER": 4,
    "H": 9,
    "BB": 7,
    "SO": 9,
    "HR": 1,
    "ERA": 2.5714285714285716,
    "WHIP": 1.1428571428571428,
    "K9": 5.785714285714286,
    "HR9": 0.6428571428571429,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-19T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656794",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 21,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 21,
    "pitch_usage": 0.0,
    "release_speed": 89.61075057207849,
    "release_spin_rate": 2444.981106388793,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 21,
      "pitch_usage": 0.0,
      "release_speed": 89.61075057207849,
      "release_spin_rate": 2444.981106388793,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.6108,
    "release_spin_rate": 2444.9811,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0148,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.1057,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.128,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7386,
    "prior_weight": 0.2614
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656794",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 46,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 8.0,
        "ER": 0.0,
        "R": 1.0,
        "H": 1.0,
        "BB": 5.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 29.0,
        "Pitches": 131.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.2,
        "BB": 1.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 5.8,
        "Pitches": 26.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.75,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.125,
        "BB_per_IP": 0.625,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 14.0,
        "ER": 4.0,
        "R": 6.0,
        "H": 9.0,
        "BB": 7.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 56.0,
        "Pitches": 226.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.4,
        "R": 0.6,
        "H": 0.9,
        "BB": 0.7,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 5.6,
        "Pitches": 22.6
      },
      "rates": {
        "ERA": 2.5714,
        "WHIP": 1.1429,
        "ER_per_IP": 0.28571,
        "H_per_IP": 0.64286,
        "BB_per_IP": 0.5,
        "SO_per_IP": 0.64286,
        "HR_per_IP": 0.07143
      }
    },
    "season": {
      "games": 46,
      "totals": {
        "IP": 70.0,
        "ER": 19.0,
        "R": 22.0,
        "H": 48.0,
        "BB": 27.0,
        "SO": 64.0,
        "HR": 2.0,
        "BF": 281.0,
        "Pitches": 1089.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.413,
        "R": 0.4783,
        "H": 1.0435,
        "BB": 0.587,
        "SO": 1.3913,
        "HR": 0.0435,
        "BF": 6.1087,
        "Pitches": 23.6739
      },
      "rates": {
        "ERA": 2.4429,
        "WHIP": 1.0714,
        "ER_per_IP": 0.27143,
        "H_per_IP": 0.68571,
        "BB_per_IP": 0.38571,
        "SO_per_IP": 0.91429,
        "HR_per_IP": 0.02857
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.367,
    "predicted_H": 0.841,
    "predicted_BB": 0.733,
    "predicted_SO": 1.189,
    "predicted_HR": 0.091,
    "predicted_ERA": 2.2089,
    "predicted_WHIP": 1.0545
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4604,
  "form_weight": 0.5396,
  "form_reliability": 0.7386,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.128,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7386,
    "prior_weight": 0.2614
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.367,
      "final": 0.6585,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.841,
      "final": 0.9142,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.733,
      "final": 0.3955,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.189,
      "final": 0.6415,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.091,
      "final": 0.5095,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.2089,
      "final": 2.2089,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0545,
      "final": 1.0545,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBryan Hudson
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5178
ESPN Rank81
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO2
Season ERA2.5787
Season WHIP1.1629
Role Avg IP0.9690
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "opponent": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "edges": {
    "quality_edge": -0.1543,
    "offense_edge": 0.0504,
    "opponent_offense_edge": 0.0767,
    "defense_strength": 0.0127,
    "opponent_defense_weakness": 0.0243,
    "recent_win_pct_edge": -0.5
  },
  "player_factors": {
    "ip": 0.9911,
    "run_prevention": 1.0187,
    "strikeout": 0.9892
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663542",
    "profile": {
      "available": true,
      "pitcher_id": "663542",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 218.0,
        "k_percent": 22.5,
        "bb_percent": 6.7,
        "woba": 0.285,
        "xwoba": 0.263,
        "sweet_spot_percent": 28.2,
        "barrel_batted_rate": 3.4,
        "hard_hit_percent": 36.8,
        "avg_best_speed": 76.9829,
        "avg_hyper_speed": 93.2142,
        "whiff_percent": 23.9,
        "swing_percent": 47.9
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9006,
        "command_and_miss": 0.1021,
        "regression_edge": 0.6286,
        "xwoba_edge": 1.3714,
        "barrel_edge": 0.8222,
        "hard_hit_edge": 0.1571,
        "whiff_edge": -0.1571,
        "bb_edge": 0.625,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "663542",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.5178,
      "sample_weight": 0.872,
      "run_prevention_factor": 0.956,
      "strikeout_factor": 0.997,
      "walk_factor": 0.9564,
      "homer_factor": 0.9013,
      "woba_minus_xwoba": 0.022,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "663542",
        "espn_id": 4991171,
        "player_name": "Bryan Hudson",
        "team": "CHW",
        "role": "pitcher",
        "espn_rank": 81,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 81,
          "gp_value": 62.0,
          "gp_rank": 32,
          "gs_value": 8.0,
          "gs_rank": 190,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.9508,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 190,
          "l_value": 4.0,
          "l_rank": 186,
          "sv_value": 7.0,
          "sv_rank": 35,
          "hld_value": 9.0,
          "hld_rank": 101,
          "ip_value": 61.0,
          "ip_rank": 232,
          "h_value": 56.0,
          "h_rank": 206,
          "er_value": 20.0,
          "er_rank": 321,
          "hr_value": 4.0,
          "hr_rank": 375,
          "bb_value": 17.0,
          "bb_rank": 347,
          "k_value": 57.0,
          "k_rank": 243,
          "k_per_9_value": 8.409836,
          "k_per_9_rank": 28,
          "whip_value": 1.1967,
          "whip_rank": null,
          "war_value": 1.84,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9616,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9616,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.962,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9139,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9974,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.2,
    "ER": 2,
    "H": 7,
    "BB": 0,
    "SO": 8,
    "HR": 2,
    "ERA": 1.8620689655172415,
    "WHIP": 0.7241379310344828,
    "K9": 7.448275862068966,
    "HR9": 1.8620689655172415,
    "games_pitched": 9,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "663542",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 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": "663542",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 4.0,
        "BB": 0.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 67.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.8,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 13.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.7059,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.70588,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.52941,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 8.0,
        "BB": 0.0,
        "SO": 9.0,
        "HR": 2.0,
        "BF": 40.0,
        "Pitches": 135.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.0,
        "SO": 0.9,
        "HR": 0.2,
        "BF": 4.0,
        "Pitches": 13.5
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 0.75,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.84375,
        "HR_per_IP": 0.1875
      }
    },
    "season": {
      "games": 60,
      "totals": {
        "IP": 59.1,
        "ER": 17.0,
        "R": 19.0,
        "H": 52.0,
        "BB": 17.0,
        "SO": 55.0,
        "HR": 4.0,
        "BF": 245.0,
        "Pitches": 927.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2833,
        "R": 0.3167,
        "H": 0.8667,
        "BB": 0.2833,
        "SO": 0.9167,
        "HR": 0.0667,
        "BF": 4.0833,
        "Pitches": 15.45
      },
      "rates": {
        "ERA": 2.5787,
        "WHIP": 1.1629,
        "ER_per_IP": 0.28652,
        "H_per_IP": 0.8764,
        "BB_per_IP": 0.28652,
        "SO_per_IP": 0.92697,
        "HR_per_IP": 0.06742
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.235,
    "predicted_H": 0.82,
    "predicted_BB": 0.15,
    "predicted_SO": 0.784,
    "predicted_HR": 0.099,
    "predicted_ERA": 2.114,
    "predicted_WHIP": 0.9694
  }
}
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.235,
      "final": 0.1235,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.82,
      "final": 0.4309,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.15,
      "final": 0.0788,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.784,
      "final": 1.361,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.099,
      "final": 0.052,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.114,
      "final": 2.114,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9694,
      "final": 0.9694,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJordan Hicks
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4065
ESPN Rank267
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo94.9729
Avg Spin2066.0943
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H2
Pre BB0
Pre SO0
Season ERA3.8250
Season WHIP1.5000
Role Avg IP0.9510
Recent Avg IP1.2000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 145,
    "wins": 75,
    "losses": 70,
    "win_pct": 0.5172,
    "runs_scored": 685.0,
    "runs_allowed": 644.0,
    "run_differential": 41.0,
    "run_differential_per_game": 0.2828,
    "avg_runs_scored": 4.7241,
    "avg_runs_allowed": 4.4414,
    "offense_index": 1.0504,
    "defense_index": 1.0127,
    "current_streak": "L2",
    "recent": {
      "games": 10,
      "wins": 3,
      "losses": 7,
      "win_pct": 0.3,
      "avg_runs_scored": 3.4,
      "avg_runs_allowed": 4.1,
      "run_differential": -7.0
    },
    "available": true,
    "quality_score": -0.0208
  },
  "opponent": {
    "team": "PIT",
    "games": 146,
    "wins": 73,
    "losses": 73,
    "win_pct": 0.5,
    "runs_scored": 707.0,
    "runs_allowed": 673.0,
    "run_differential": 34.0,
    "run_differential_per_game": 0.2329,
    "avg_runs_scored": 4.8425,
    "avg_runs_allowed": 4.6096,
    "offense_index": 1.0767,
    "defense_index": 0.9757,
    "current_streak": "W3",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 4.9,
      "avg_runs_allowed": 3.6,
      "run_differential": 13.0
    },
    "available": true,
    "quality_score": 0.1335
  },
  "edges": {
    "quality_edge": -0.1543,
    "offense_edge": 0.0504,
    "opponent_offense_edge": 0.0767,
    "defense_strength": 0.0127,
    "opponent_defense_weakness": 0.0243,
    "recent_win_pct_edge": -0.5
  },
  "player_factors": {
    "ip": 0.9911,
    "run_prevention": 1.0187,
    "strikeout": 0.9892
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663855",
    "profile": {
      "available": true,
      "pitcher_id": "663855",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 160.0,
        "k_percent": 28.2,
        "bb_percent": 14.9,
        "woba": 0.319,
        "xwoba": 0.268,
        "sweet_spot_percent": 27.3,
        "barrel_batted_rate": 1.8,
        "hard_hit_percent": 35.5,
        "avg_best_speed": 78.9129,
        "avg_hyper_speed": 93.7744,
        "whiff_percent": 26.8,
        "swing_percent": 44.5
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7394,
        "command_and_miss": 0.2036,
        "regression_edge": 1.4571,
        "xwoba_edge": 1.2286,
        "barrel_edge": 1.1778,
        "hard_hit_edge": 0.3429,
        "whiff_edge": 0.2571,
        "bb_edge": -1.425,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663855",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 20,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 20,
          "pitch_usage": 0.0,
          "release_speed": 94.97291791079823,
          "release_spin_rate": 2066.0942966264947,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 20,
            "pitch_usage": 0.0,
            "release_speed": 94.97291791079823,
            "release_spin_rate": 2066.0942966264947,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9729,
          "release_spin_rate": 2066.0943,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.4065,
      "sample_weight": 0.64,
      "run_prevention_factor": 0.9655,
      "strikeout_factor": 1.0293,
      "walk_factor": 1.073,
      "homer_factor": 0.9073,
      "woba_minus_xwoba": 0.051,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "663855",
        "espn_id": 37909,
        "player_name": "Jordan Hicks",
        "team": "CHW",
        "role": "pitcher",
        "espn_rank": 267,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 267,
          "gp_value": 46.0,
          "gp_rank": 130,
          "gs_value": 2.0,
          "gs_rank": 272,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 4.3953,
          "era_rank": null,
          "w_value": 2.0,
          "w_rank": 316,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 1.0,
          "sv_rank": 139,
          "hld_value": 8.0,
          "hld_rank": 116,
          "ip_value": 43.0,
          "ip_rank": 347,
          "h_value": 39.0,
          "h_rank": 335,
          "er_value": 21.0,
          "er_rank": 307,
          "hr_value": 4.0,
          "hr_rank": 375,
          "bb_value": 29.0,
          "bb_rank": 174,
          "k_value": 55.0,
          "k_rank": 263,
          "k_per_9_value": 11.511628,
          "k_per_9_rank": 20,
          "whip_value": 1.5813,
          "whip_rank": null,
          "war_value": 0.46,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9779,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9779,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0467,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9407,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0188,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 6,
    "H": 13,
    "BB": 4,
    "SO": 14,
    "HR": 2,
    "ERA": 5.4,
    "WHIP": 1.7,
    "K9": 12.6,
    "HR9": 1.8,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663855",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 20,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 20,
    "pitch_usage": 0.0,
    "release_speed": 94.97291791079823,
    "release_spin_rate": 2066.0942966264947,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 20,
      "pitch_usage": 0.0,
      "release_speed": 94.97291791079823,
      "release_spin_rate": 2066.0942966264947,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9729,
    "release_spin_rate": 2066.0943,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.28,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 2.0,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.073,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6175,
    "prior_weight": 0.3825
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663855",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 42,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 27.0,
        "Pitches": 103.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.2,
        "BB": 0.6,
        "SO": 1.8,
        "HR": 0.2,
        "BF": 5.4,
        "Pitches": 20.6
      },
      "rates": {
        "ERA": 6.0,
        "WHIP": 1.5,
        "ER_per_IP": 0.66667,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.16667
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 13.0,
        "BB": 4.0,
        "SO": 14.0,
        "HR": 2.0,
        "BF": 47.0,
        "Pitches": 183.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.3,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.7,
        "Pitches": 18.3
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.7,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.3,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.2
      }
    },
    "season": {
      "games": 42,
      "totals": {
        "IP": 40.0,
        "ER": 17.0,
        "R": 17.0,
        "H": 35.0,
        "BB": 25.0,
        "SO": 49.0,
        "HR": 3.0,
        "BF": 178.0,
        "Pitches": 695.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4048,
        "R": 0.4048,
        "H": 0.8333,
        "BB": 0.5952,
        "SO": 1.1667,
        "HR": 0.0714,
        "BF": 4.2381,
        "Pitches": 16.5476
      },
      "rates": {
        "ERA": 3.825,
        "WHIP": 1.5,
        "ER_per_IP": 0.425,
        "H_per_IP": 0.875,
        "BB_per_IP": 0.625,
        "SO_per_IP": 1.225,
        "HR_per_IP": 0.075
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.54,
    "predicted_H": 1.003,
    "predicted_BB": 0.429,
    "predicted_SO": 1.187,
    "predicted_HR": 0.15,
    "predicted_ERA": 5.0381,
    "predicted_WHIP": 1.4838
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5116,
  "form_weight": 0.4884,
  "form_reliability": 0.6175,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.073,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6175,
    "prior_weight": 0.3825
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.0,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.54,
      "final": 0.2637,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.003,
      "final": 1.5131,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.429,
      "final": 0.2095,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.187,
      "final": 0.5797,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.15,
      "final": 0.0733,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.0381,
      "final": 5.0381,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4838,
      "final": 1.4838,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Sam Antonacci (803011) · BATTER · LF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 445
All-history rows before 20260910: 445
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2716
Diff (system - data): -0.0046
System opponent_avg: 0.2220

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1850.0001.000Hitting_2B0.1820.000-0.1820.000
predicted_3B0.0240.0000.000Hitting_3B0.0220.000-0.0220.000
predicted_AB3.4763.0004.000Hitting_AB3.6495.000-0.649-2.000
predicted_AVG0.2670.0000.250Hitting_AVG0.2720.200-0.272-0.200
predicted_BB0.3391.0001.000Hitting_BB0.3600.0000.6401.000
predicted_CS-0.0000.000BaseRunning_CS0.0650.000-0.0650.000
predicted_H0.9270.0001.000Hitting_H0.9911.000-0.991-1.000
predicted_HR0.0650.0000.000Hitting_HR0.0790.000-0.0790.000
predicted_OBP0.3320.2500.400Hitting_OBP0.3740.200-0.1240.050
predicted_R0.5810.0001.000Hitting_R0.6580.000-0.6580.000
predicted_RBI0.3550.0000.000Hitting_RBI0.3931.000-0.393-1.000
predicted_SLG0.3900.0000.500Hitting_SLG0.3980.200-0.398-0.200
predicted_SO0.6373.0001.000Hitting_SO0.6631.0002.3372.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.6370 -> 3.0000 (boost 2.3630, worse)
Biggest Deboostpredicted_H: 0.9270 -> 0.0000 (deboost -0.9270, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_AB: 3.4760 -> 3.5289 (boost 0.0529, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_OBP: 0.3466 -> 0.3337 (deboost -0.0129, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_AB: 3.5289 -> 4.0000 (boost 0.4711, better)predicted_RBI: 0.3706 -> 0.0000 (deboost -0.3706, worse)AB rounded to 4 (raw=3.53), rates preserved: AVG=0.260 HR/AB=0.016
6consistency_constraints11010predicted_R: 0.5366 -> 1.0000 (boost 0.4634, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3992 (boost 0.3992, better)predicted_SO: 1.0000 -> 0.7646 (deboost -0.2354, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64233predicted_2B: 0.1820 -> 1.0000 (boost 0.8180, better)predicted_RBI: 0.3992 -> 0.0000 (deboost -0.3992, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context50505-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference52314predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_AVG: 0.2350 -> 0.2668 (boost 0.0318, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "803011",
  "player_name": "Sam Antonacci",
  "position": "LF",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.185,
        "predicted_3B": 0.024,
        "predicted_AB": 3.476,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.339,
        "predicted_H": 0.927,
        "predicted_HR": 0.065,
        "predicted_OBP": 0.332,
        "predicted_R": 0.581,
        "predicted_RBI": 0.355,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.637
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2344,
        "predicted_3B": 0.0201,
        "predicted_AB": 3.5289,
        "predicted_AVG": 0.2707,
        "predicted_BB": 0.355,
        "predicted_H": 0.9552,
        "predicted_HBP": 0.138,
        "predicted_HR": 0.0563,
        "predicted_OBP": 0.3466,
        "predicted_R": 0.5511,
        "predicted_RBI": 0.3806,
        "predicted_SLG": 0.3963,
        "predicted_SO": 0.6366
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.185,
          "after": 0.2344,
          "delta": 0.0494,
          "percent_delta": 0.267,
          "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.476,
          "after": 3.5289,
          "delta": 0.0529,
          "percent_delta": 0.0152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2707,
          "delta": 0.0037,
          "percent_delta": 0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.339,
          "after": 0.355,
          "delta": 0.016,
          "percent_delta": 0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.927,
          "after": 0.9552,
          "delta": 0.0282,
          "percent_delta": 0.0304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.065,
          "after": 0.0563,
          "delta": -0.0087,
          "percent_delta": -0.1338,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.3466,
          "delta": 0.0146,
          "percent_delta": 0.044,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.581,
          "after": 0.5511,
          "delta": -0.0299,
          "percent_delta": -0.0515,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.355,
          "after": 0.3806,
          "delta": 0.0256,
          "percent_delta": 0.0721,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.3963,
          "delta": 0.0063,
          "percent_delta": 0.0162,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.637,
          "after": 0.6366,
          "delta": -0.0004,
          "percent_delta": -0.0006,
          "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.476,
          "after": 3.5289,
          "delta": 0.0529,
          "percent_delta": 0.0152,
          "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": 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.2344,
        "predicted_3B": 0.0201,
        "predicted_AB": 3.5289,
        "predicted_AVG": 0.2668,
        "predicted_BB": 0.3541,
        "predicted_H": 0.9416,
        "predicted_HBP": 0.138,
        "predicted_HR": 0.0563,
        "predicted_OBP": 0.3337,
        "predicted_R": 0.5366,
        "predicted_RBI": 0.3706,
        "predicted_SLG": 0.3926,
        "predicted_SO": 0.6383
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2344,
          "after": 0.2344,
          "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.5289,
          "after": 3.5289,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2707,
          "after": 0.2668,
          "delta": -0.0039,
          "percent_delta": -0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.355,
          "after": 0.3541,
          "delta": -0.0009,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9552,
          "after": 0.9416,
          "delta": -0.0136,
          "percent_delta": -0.0142,
          "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.0563,
          "after": 0.0563,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3466,
          "after": 0.3337,
          "delta": -0.0129,
          "percent_delta": -0.0372,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5511,
          "after": 0.5366,
          "delta": -0.0145,
          "percent_delta": -0.0263,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3806,
          "after": 0.3706,
          "delta": -0.01,
          "percent_delta": -0.0263,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3963,
          "after": 0.3926,
          "delta": -0.0037,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6366,
          "after": 0.6383,
          "delta": 0.0017,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3466,
          "after": 0.3337,
          "delta": -0.0129,
          "percent_delta": -0.0372,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.53), rates preserved: AVG=0.260 HR/AB=0.016",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2344,
          "after": 0.0,
          "delta": -0.2344,
          "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.5289,
          "after": 4.0,
          "delta": 0.4711,
          "percent_delta": 0.1335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3541,
          "after": 0.0,
          "delta": -0.3541,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9416,
          "after": 1.0,
          "delta": 0.0584,
          "percent_delta": 0.062,
          "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.0563,
          "after": 0.0,
          "delta": -0.0563,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3706,
          "after": 0.0,
          "delta": -0.3706,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6383,
          "after": 1.0,
          "delta": 0.3617,
          "percent_delta": 0.5667,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.5289,
          "after": 4.0,
          "delta": 0.4711,
          "percent_delta": 0.1335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3706,
          "after": 0.0,
          "delta": -0.3706,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5366,
          "after": 1.0,
          "delta": 0.4634,
          "percent_delta": 0.8636,
          "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.5366,
          "after": 1.0,
          "delta": 0.4634,
          "percent_delta": 0.8636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.182,
        "predicted_3B": 0.0124,
        "predicted_BB": 0.379,
        "predicted_H": 0.8834,
        "predicted_HR": 0.0914,
        "predicted_RBI": 0.3992,
        "predicted_SO": 0.7646
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.182,
          "delta": 0.182,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0124,
          "delta": 0.0124,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.379,
          "delta": 0.379,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8834,
          "delta": -0.1166,
          "percent_delta": -0.1166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0914,
          "delta": 0.0914,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3992,
          "delta": 0.3992,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7646,
          "delta": -0.2354,
          "percent_delta": -0.2354,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3992,
          "delta": 0.3992,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7646,
          "delta": -0.2354,
          "percent_delta": -0.2354,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.182,
          "after": 1.0,
          "delta": 0.818,
          "percent_delta": 4.4945,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0124,
          "after": 0.0,
          "delta": -0.0124,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.379,
          "after": 1.0,
          "delta": 0.621,
          "percent_delta": 1.6385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8834,
          "after": 1.0,
          "delta": 0.1166,
          "percent_delta": 0.132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0914,
          "after": 0.0,
          "delta": -0.0914,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3992,
          "after": 0.0,
          "delta": -0.3992,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7646,
          "after": 1.0,
          "delta": 0.2354,
          "percent_delta": 0.3079,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.182,
          "after": 1.0,
          "delta": 0.818,
          "percent_delta": 4.4945,
          "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": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.363,
        "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.2668,
          "after": 0.235,
          "delta": -0.0318,
          "percent_delta": -0.1192,
          "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.3337,
          "after": 0.311,
          "delta": -0.0227,
          "percent_delta": -0.068,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3926,
          "after": 0.363,
          "delta": -0.0296,
          "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": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2668,
        "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.3337,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3926,
        "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.235,
          "after": 0.2668,
          "delta": 0.0318,
          "percent_delta": 0.1355,
          "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.3337,
          "delta": 0.0227,
          "percent_delta": 0.073,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.363,
          "after": 0.3926,
          "delta": 0.0296,
          "percent_delta": 0.0814,
          "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_AVG",
          "before": 0.235,
          "after": 0.2668,
          "delta": 0.0318,
          "percent_delta": 0.1355,
          "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.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.476,
        "after": 3.0,
        "delta": -0.476,
        "percent_delta": -0.1369,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.2668,
        "delta": -0.0002,
        "percent_delta": -0.0007,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.339,
        "after": 1.0,
        "delta": 0.661,
        "percent_delta": 1.9499,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.927,
        "after": 0.0,
        "delta": -0.927,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.065,
        "after": 0.0,
        "delta": -0.065,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.332,
        "after": 0.3337,
        "delta": 0.0017,
        "percent_delta": 0.0051,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.581,
        "after": 0.0,
        "delta": -0.581,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.355,
        "after": 0.0,
        "delta": -0.355,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.39,
        "after": 0.3926,
        "delta": 0.0026,
        "percent_delta": 0.0067,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.637,
        "after": 3.0,
        "delta": 2.363,
        "percent_delta": 3.7096,
        "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.637,
        "after": 3.0,
        "delta": 2.363,
        "percent_delta": 3.7096,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.927,
        "after": 0.0,
        "delta": -0.927,
        "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.024-
predicted_AB3.476-
predicted_AVG0.267-
predicted_BB0.339-
predicted_H0.927-
predicted_HR0.065-
predicted_OBP0.332-
predicted_R0.581-
predicted_RBI0.355-
predicted_SLG0.390-
predicted_SO0.637-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2340.049
predicted_3B0.020-0.004
predicted_AB3.5290.053
predicted_AVG0.2710.004
predicted_BB0.3550.016
predicted_H0.9550.028
predicted_HBP0.138-
predicted_HR0.056-0.009
predicted_OBP0.3470.015
predicted_R0.551-0.030
predicted_RBI0.3810.026
predicted_SLG0.3960.006
predicted_SO0.637-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.2340.000
predicted_3B0.0200.000
predicted_AB3.5290.000
predicted_AVG0.267-0.004
predicted_BB0.354-0.001
predicted_H0.942-0.014
predicted_HBP0.1380.000
predicted_HR0.0560.000
predicted_OBP0.334-0.013
predicted_R0.537-0.015
predicted_RBI0.371-0.010
predicted_SLG0.393-0.004
predicted_SO0.6380.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1820.182
3B0.0120.012
BB0.3790.379
H0.883-0.117
HR0.0910.091
RBI0.3990.399
SO0.765-0.235
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.818
3B0.000-0.012
AB4.0000.000
BB1.0000.621
H1.0000.117
HR0.000-0.091
R1.0000.000
RBI0.000-0.399
SO1.0000.235
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.234
predicted_3B0.000-0.020
predicted_AB4.0000.471
predicted_AVG0.235-0.032
predicted_BB0.000-0.354
predicted_H1.0000.058
predicted_HR0.000-0.056
predicted_OBP0.311-0.023
predicted_R1.0000.463
predicted_RBI0.000-0.371
predicted_SLG0.363-0.030
predicted_SO1.0000.362
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO3.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.0006.0003.0000.0000.0003.0002.0002.0003.0000.31580.38100.47370.31580.00000.15790.10530.1579
last_100.2010-37.00010.0004.0000.0000.0004.0004.0005.0006.0000.27030.37210.37840.27030.00000.10810.13510.1622
season0.60124-431.000115.00023.0003.0008.00044.00072.00042.00079.0000.26680.36470.38980.26680.01860.10210.09740.1833
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2990
predicted_3B0.0150
predicted_AB3.5980
predicted_AVG0.2756
predicted_BB0.3760
predicted_H0.9920
predicted_HBP0.1380
predicted_HR0.0450
predicted_OBP0.3658
predicted_R0.5120
predicted_RBI0.4140
predicted_SLG0.4045
predicted_SO0.6360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18500.29900.2344model_form_blend
predicted_3B0.02400.01500.0201model_form_blend
predicted_AB3.47603.59803.5289model_form_blend
predicted_AVG0.26700.27560.2707model_form_blend
predicted_BB0.33900.37600.3550model_form_blend
predicted_H0.92700.99200.9552model_form_blend
predicted_HBP-0.13800.1380form_only
predicted_HR0.06500.04500.0563model_form_blend
predicted_OBP0.33200.36580.3466model_form_blend
predicted_R0.58100.51200.5511model_form_blend
predicted_RBI0.35500.41400.3806model_form_blend
predicted_SLG0.39000.40450.3963model_form_blend
predicted_SO0.63700.63600.6366model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20260909_PIT@CHW
game_typefull
mlbID803011
playerID803011
playerNameSam Antonacci
posSS
startedTrue
startingPosition2B
teamCHW
teamID6
game_date2026-09-09
sl_k_percent15.7
sl_bb_percent8.5
sl_woba0.342
sl_xwoba0.34
sl_xba0.27
sl_xslg0.385
sl_sweet_spot_percent36.6
sl_barrel_batted_rate5.1
sl_hard_hit_percent32.2
sl_exit_velocity_avg87.3
sl_launch_angle_avg9.7
sl_whiff_percent15.3
sl_swing_percent42.1
Munetaka Murakami (808959) · BATTER · 1B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 413
All-history rows before 20260910: 413
System season_avg: 0.2100
Data season_avg (2026 season-to-date): 0.2279
Diff (system - data): -0.0179
System opponent_avg: 0.1430
System season_avg diverges from 2026 season-to-date by -0.0179. 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.1270.0000.000Hitting_2B0.1500.000-0.1500.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6004.0004.000Hitting_AB3.6973.0000.3031.000
predicted_AVG0.2100.2500.250Hitting_AVG0.2280.3330.022-0.083
predicted_BB0.7450.0001.000Hitting_BB0.7990.000-0.7990.000
predicted_CS-0.0000.000BaseRunning_CS0.0310.000-0.0310.000
predicted_H0.7551.0001.000Hitting_H0.8431.0000.1570.000
predicted_HR0.2821.0001.000Hitting_HR0.3321.0000.6680.000
predicted_OBP0.3450.2500.400Hitting_OBP0.3680.500-0.118-0.250
predicted_R0.6731.0001.000Hitting_R0.7851.0000.2150.000
predicted_RBI0.5733.0001.000Hitting_RBI0.6611.0002.3392.000
predicted_SLG0.4801.0001.000Hitting_SLG0.5381.3330.462-0.333
predicted_SO1.5362.0001.000Hitting_SO1.4892.0000.5110.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.5730 -> 3.0000 (boost 2.4270, better)
Biggest Deboostpredicted_BB: 0.7450 -> 0.0000 (deboost -0.7450, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend72516predicted_SO: 1.5360 -> 1.6308 (boost 0.0948, worse)predicted_BB: 0.7450 -> 0.6727 (deboost -0.0723, worse)Final model input calibrated 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.3257 -> 0.3192 (deboost -0.0065, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling85344predicted_RBI: 0.5671 -> 1.0000 (boost 0.4329, better)predicted_HR: 0.2809 -> 0.0000 (deboost -0.2809, worse)AB rounded to 4 (raw=3.65), rates preserved: AVG=0.189 HR/AB=0.077
6consistency_constraints11010predicted_R: 0.6022 -> 1.0000 (boost 0.3978, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_HR: 0.0000 -> 0.2299 (boost 0.2299, better)predicted_RBI: 1.0000 -> 0.5195 (deboost -0.4805, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64251predicted_HR: 0.2299 -> 1.0000 (boost 0.7701, better)predicted_SO: 1.5752 -> 1.0000 (deboost -0.5752, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context53223predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference32121predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final31212predicted_SLG: 0.4370 -> 0.4548 (boost 0.0178, better)predicted_OBP: 0.3350 -> 0.3192 (deboost -0.0158, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "808959",
  "player_name": "Munetaka Murakami",
  "position": "1B",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.127,
        "predicted_3B": 0.0,
        "predicted_AB": 3.6,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.745,
        "predicted_H": 0.755,
        "predicted_HR": 0.282,
        "predicted_OBP": 0.345,
        "predicted_R": 0.673,
        "predicted_RBI": 0.573,
        "predicted_SLG": 0.48,
        "predicted_SO": 1.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.1088,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6541,
        "predicted_AVG": 0.1974,
        "predicted_BB": 0.6727,
        "predicted_H": 0.7199,
        "predicted_HBP": 0.071,
        "predicted_HR": 0.2807,
        "predicted_OBP": 0.3257,
        "predicted_R": 0.6185,
        "predicted_RBI": 0.5825,
        "predicted_SLG": 0.458,
        "predicted_SO": 1.6308
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.127,
          "after": 0.1088,
          "delta": -0.0182,
          "percent_delta": -0.1433,
          "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.6,
          "after": 3.6541,
          "delta": 0.0541,
          "percent_delta": 0.015,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.1974,
          "delta": -0.0126,
          "percent_delta": -0.06,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.745,
          "after": 0.6727,
          "delta": -0.0723,
          "percent_delta": -0.097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.755,
          "after": 0.7199,
          "delta": -0.0351,
          "percent_delta": -0.0465,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.282,
          "after": 0.2807,
          "delta": -0.0013,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.3257,
          "delta": -0.0193,
          "percent_delta": -0.0559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.673,
          "after": 0.6185,
          "delta": -0.0545,
          "percent_delta": -0.081,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.573,
          "after": 0.5825,
          "delta": 0.0095,
          "percent_delta": 0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.48,
          "after": 0.458,
          "delta": -0.022,
          "percent_delta": -0.0458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.536,
          "after": 1.6308,
          "delta": 0.0948,
          "percent_delta": 0.0617,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.536,
          "after": 1.6308,
          "delta": 0.0948,
          "percent_delta": 0.0617,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.745,
          "after": 0.6727,
          "delta": -0.0723,
          "percent_delta": -0.097,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1088,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6541,
        "predicted_AVG": 0.1942,
        "predicted_BB": 0.671,
        "predicted_H": 0.7097,
        "predicted_HBP": 0.071,
        "predicted_HR": 0.2809,
        "predicted_OBP": 0.3192,
        "predicted_R": 0.6022,
        "predicted_RBI": 0.5671,
        "predicted_SLG": 0.4548,
        "predicted_SO": 1.635
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1088,
          "after": 0.1088,
          "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.6541,
          "after": 3.6541,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1974,
          "after": 0.1942,
          "delta": -0.0032,
          "percent_delta": -0.0162,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6727,
          "after": 0.671,
          "delta": -0.0017,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7199,
          "after": 0.7097,
          "delta": -0.0102,
          "percent_delta": -0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.071,
          "after": 0.071,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2807,
          "after": 0.2809,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3257,
          "after": 0.3192,
          "delta": -0.0065,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6185,
          "after": 0.6022,
          "delta": -0.0163,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5825,
          "after": 0.5671,
          "delta": -0.0154,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.458,
          "after": 0.4548,
          "delta": -0.0032,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.6308,
          "after": 1.635,
          "delta": 0.0042,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3257,
          "after": 0.3192,
          "delta": -0.0065,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.65), rates preserved: AVG=0.189 HR/AB=0.077",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1088,
          "after": 0.0,
          "delta": -0.1088,
          "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.6541,
          "after": 4.0,
          "delta": 0.3459,
          "percent_delta": 0.0947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.671,
          "after": 1.0,
          "delta": 0.329,
          "percent_delta": 0.4903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7097,
          "after": 1.0,
          "delta": 0.2903,
          "percent_delta": 0.409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.071,
          "after": 0.0,
          "delta": -0.071,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2809,
          "after": 0.0,
          "delta": -0.2809,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5671,
          "after": 1.0,
          "delta": 0.4329,
          "percent_delta": 0.7634,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.635,
          "after": 2.0,
          "delta": 0.365,
          "percent_delta": 0.2232,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 5,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5671,
          "after": 1.0,
          "delta": 0.4329,
          "percent_delta": 0.7634,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2809,
          "after": 0.0,
          "delta": -0.2809,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6022,
          "after": 1.0,
          "delta": 0.3978,
          "percent_delta": 0.6606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.6022,
          "after": 1.0,
          "delta": 0.3978,
          "percent_delta": 0.6606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1598,
        "predicted_3B": 0.0067,
        "predicted_BB": 0.6883,
        "predicted_H": 0.7841,
        "predicted_HR": 0.2299,
        "predicted_RBI": 0.5195,
        "predicted_SO": 1.5752
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1598,
          "delta": 0.1598,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0067,
          "delta": 0.0067,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6883,
          "delta": -0.3117,
          "percent_delta": -0.3117,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7841,
          "delta": -0.2159,
          "percent_delta": -0.2159,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2299,
          "delta": 0.2299,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5195,
          "delta": -0.4805,
          "percent_delta": -0.4805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.5752,
          "delta": -0.4248,
          "percent_delta": -0.2124,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2299,
          "delta": 0.2299,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5195,
          "delta": -0.4805,
          "percent_delta": -0.4805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1598,
          "after": 0.0,
          "delta": -0.1598,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6883,
          "after": 1.0,
          "delta": 0.3117,
          "percent_delta": 0.4529,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7841,
          "after": 1.0,
          "delta": 0.2159,
          "percent_delta": 0.2753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2299,
          "after": 1.0,
          "delta": 0.7701,
          "percent_delta": 3.3497,
          "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.5195,
          "after": 1.0,
          "delta": 0.4805,
          "percent_delta": 0.9249,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5752,
          "after": 1.0,
          "delta": -0.5752,
          "percent_delta": -0.3652,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2299,
          "after": 1.0,
          "delta": 0.7701,
          "percent_delta": 3.3497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.5752,
          "after": 1.0,
          "delta": -0.5752,
          "percent_delta": -0.3652,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.208,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.335,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.437,
        "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.1942,
          "after": 0.208,
          "delta": 0.0138,
          "percent_delta": 0.0711,
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3192,
          "after": 0.335,
          "delta": 0.0158,
          "percent_delta": 0.0495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4548,
          "after": 0.437,
          "delta": -0.0178,
          "percent_delta": -0.0391,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "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_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 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": 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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1942,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3192,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4548,
        "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.208,
          "after": 0.1942,
          "delta": -0.0138,
          "percent_delta": -0.0663,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "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.335,
          "after": 0.3192,
          "delta": -0.0158,
          "percent_delta": -0.0471,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.437,
          "after": 0.4548,
          "delta": 0.0178,
          "percent_delta": 0.0408,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.437,
          "after": 0.4548,
          "delta": 0.0178,
          "percent_delta": 0.0408,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.335,
          "after": 0.3192,
          "delta": -0.0158,
          "percent_delta": -0.0471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.127,
        "after": 0.0,
        "delta": -0.127,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.6,
        "after": 4.0,
        "delta": 0.4,
        "percent_delta": 0.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.21,
        "after": 0.1942,
        "delta": -0.0158,
        "percent_delta": -0.0752,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.745,
        "after": 0.0,
        "delta": -0.745,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.755,
        "after": 1.0,
        "delta": 0.245,
        "percent_delta": 0.3245,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.282,
        "after": 1.0,
        "delta": 0.718,
        "percent_delta": 2.5461,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.345,
        "after": 0.3192,
        "delta": -0.0258,
        "percent_delta": -0.0748,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.673,
        "after": 1.0,
        "delta": 0.327,
        "percent_delta": 0.4859,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.573,
        "after": 3.0,
        "delta": 2.427,
        "percent_delta": 4.2356,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.48,
        "after": 0.4548,
        "delta": -0.0252,
        "percent_delta": -0.0525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.536,
        "after": 2.0,
        "delta": 0.464,
        "percent_delta": 0.3021,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.573,
        "after": 3.0,
        "delta": 2.427,
        "percent_delta": 4.2356,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.745,
        "after": 0.0,
        "delta": -0.745,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.127-
predicted_3B0.000-
predicted_AB3.600-
predicted_AVG0.210-
predicted_BB0.745-
predicted_H0.755-
predicted_HR0.282-
predicted_OBP0.345-
predicted_R0.673-
predicted_RBI0.573-
predicted_SLG0.480-
predicted_SO1.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.109-0.018
predicted_3B0.0000.000
predicted_AB3.6540.054
predicted_AVG0.197-0.013
predicted_BB0.673-0.072
predicted_H0.720-0.035
predicted_HBP0.071-
predicted_HR0.281-0.001
predicted_OBP0.326-0.019
predicted_R0.619-0.054
predicted_RBI0.5830.010
predicted_SLG0.458-0.022
predicted_SO1.6310.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.1090.000
predicted_3B0.0000.000
predicted_AB3.6540.000
predicted_AVG0.194-0.003
predicted_BB0.671-0.002
predicted_H0.710-0.010
predicted_HBP0.0710.000
predicted_HR0.2810.000
predicted_OBP0.319-0.007
predicted_R0.602-0.016
predicted_RBI0.567-0.015
predicted_SLG0.455-0.003
predicted_SO1.6350.004
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.65), rates preserved: AVG=0.189 HR/AB=0.077

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1600.160
3B0.0070.007
BB0.688-0.312
H0.784-0.216
HR0.2300.230
RBI0.519-0.481
SO1.575-0.425
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.160
3B0.000-0.007
AB4.0000.000
BB1.0000.312
H1.0000.216
HR1.0000.770
R1.0000.000
RBI1.0000.481
SO1.000-0.575
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.109
predicted_3B0.000-0.000
predicted_AB4.0000.346
predicted_AVG0.2080.014
predicted_BB1.0000.329
predicted_H1.0000.290
predicted_HR0.000-0.281
predicted_OBP0.3350.016
predicted_R1.0000.398
predicted_RBI1.0000.433
predicted_SLG0.437-0.018
predicted_SO2.0000.365
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.000-
R1.0000.000
RBI3.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: 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.0003.0000.0000.0002.0004.0002.0001.00012.0000.15000.22730.45000.15000.10000.20000.05000.6000
last_100.2010-38.0004.0000.0000.0002.0005.0003.0005.00021.0000.10530.22730.26320.10530.05260.13160.13160.5526
season0.60110-396.00083.00014.0000.00031.00063.00074.00082.000169.0000.20960.34850.47980.20960.07830.15910.20710.4268
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0850
predicted_3B0.0010
predicted_AB3.7250
predicted_AVG0.1810
predicted_BB0.5780
predicted_H0.6740
predicted_HBP0.0710
predicted_HR0.2790
predicted_OBP0.3003
predicted_R0.5470
predicted_RBI0.5950
predicted_SLG0.4292
predicted_SO1.7550
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12700.08500.1088model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.60003.72503.6541model_form_blend
predicted_AVG0.21000.18100.1974model_form_blend
predicted_BB0.74500.57800.6727model_form_blend
predicted_H0.75500.67400.7199model_form_blend
predicted_HBP-0.07100.0710form_only
predicted_HR0.28200.27900.2807model_form_blend
predicted_OBP0.34500.30030.3257model_form_blend
predicted_R0.67300.54700.6185model_form_blend
predicted_RBI0.57300.59500.5825model_form_blend
predicted_SLG0.48000.42920.4580model_form_blend
predicted_SO1.53601.75501.6308model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI3
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_HBP1
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
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
allPositionsPlayed1B
gameID20260909_PIT@CHW
game_typefull
mlbID808959
playerID808959
playerNameMunetaka Murakami
posIF
startedTrue
startingPosition1B
teamCHW
teamID6
game_date2026-09-09
sl_k_percent34.9
sl_bb_percent17.2
sl_woba0.354
sl_xwoba0.344
sl_xba0.202
sl_xslg0.456
sl_sweet_spot_percent29.1
sl_barrel_batted_rate18.9
sl_hard_hit_percent57.3
sl_exit_velocity_avg93.9
sl_launch_angle_avg16.3
sl_whiff_percent42.3
sl_swing_percent40.7
Braden Montgomery (695731) · BATTER · RF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 263
All-history rows before 20260910: 263
System season_avg: 0.2230
Data season_avg (2026 season-to-date): 0.2348
Diff (system - data): -0.0118
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.1710.0000.000Hitting_2B0.1751.000-0.175-1.000
predicted_3B0.0390.0000.000Hitting_3B0.0530.000-0.0530.000
predicted_AB3.6054.0004.000Hitting_AB3.6922.0000.3082.000
predicted_AVG0.2230.5000.250Hitting_AVG0.2350.5000.2650.000
predicted_BB0.4740.0001.000Hitting_BB0.4832.000-0.483-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0490.000-0.0490.000
predicted_H0.8032.0001.000Hitting_H0.8671.0001.1331.000
predicted_HR0.0790.0000.000Hitting_HR0.0760.000-0.0760.000
predicted_OBP0.3130.5000.400Hitting_OBP0.3290.7500.171-0.250
predicted_R0.5261.0000.000Hitting_R0.5671.0000.4330.000
predicted_RBI0.4870.0000.000Hitting_RBI0.5440.000-0.5440.000
predicted_SLG0.3580.5000.250Hitting_SLG0.3731.0000.127-0.500
predicted_SO0.8161.0001.000Hitting_SO0.8941.0000.1060.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics4
Deboosted Metrics5
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_H: 0.8030 -> 2.0000 (boost 1.1970, better)
Biggest Deboostpredicted_RBI: 0.4870 -> 0.0000 (deboost -0.4870, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30312-predicted_AB: 3.6050 -> 3.5418 (deboost -0.0632, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_BB: 0.5062 -> 1.0000 (boost 0.4938, better)predicted_RBI: 0.4526 -> 0.0000 (deboost -0.4526, worse)AB rounded to 4 (raw=3.60), rates preserved: AVG=0.205 HR/AB=0.026
6consistency_constraints11010predicted_R: 0.5014 -> 1.0000 (boost 0.4986, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_RBI: 0.0000 -> 0.4538 (boost 0.4538, better)predicted_BB: 1.0000 -> 0.4518 (deboost -0.5482, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation73425predicted_BB: 0.4518 -> 1.0000 (boost 0.5482, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context22020predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final10101-predicted_AVG: 0.2210 -> 0.2135 (deboost -0.0075, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695731",
  "player_name": "Braden Montgomery",
  "position": "RF",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.171,
        "predicted_3B": 0.039,
        "predicted_AB": 3.605,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.474,
        "predicted_H": 0.803,
        "predicted_HR": 0.079,
        "predicted_OBP": 0.313,
        "predicted_R": 0.526,
        "predicted_RBI": 0.487,
        "predicted_SLG": 0.358,
        "predicted_SO": 0.816
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1685,
        "predicted_3B": 0.0318,
        "predicted_AB": 3.5418,
        "predicted_AVG": 0.2165,
        "predicted_BB": 0.5075,
        "predicted_H": 0.7669,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.0934,
        "predicted_OBP": 0.3159,
        "predicted_R": 0.515,
        "predicted_RBI": 0.4649,
        "predicted_SLG": 0.3616,
        "predicted_SO": 0.7659
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.171,
          "after": 0.1685,
          "delta": -0.0025,
          "percent_delta": -0.0146,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.039,
          "after": 0.0318,
          "delta": -0.0072,
          "percent_delta": -0.1846,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.605,
          "after": 3.5418,
          "delta": -0.0632,
          "percent_delta": -0.0175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2165,
          "delta": -0.0065,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.474,
          "after": 0.5075,
          "delta": 0.0335,
          "percent_delta": 0.0707,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.803,
          "after": 0.7669,
          "delta": -0.0361,
          "percent_delta": -0.045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.079,
          "after": 0.0934,
          "delta": 0.0144,
          "percent_delta": 0.1823,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.3159,
          "delta": 0.0029,
          "percent_delta": 0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.526,
          "after": 0.515,
          "delta": -0.011,
          "percent_delta": -0.0209,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.487,
          "after": 0.4649,
          "delta": -0.0221,
          "percent_delta": -0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.358,
          "after": 0.3616,
          "delta": 0.0036,
          "percent_delta": 0.0101,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.816,
          "after": 0.7659,
          "delta": -0.0501,
          "percent_delta": -0.0614,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.605,
          "after": 3.5418,
          "delta": -0.0632,
          "percent_delta": -0.0175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1685,
        "predicted_3B": 0.0318,
        "predicted_AB": 3.5418,
        "predicted_AVG": 0.2135,
        "predicted_BB": 0.5062,
        "predicted_H": 0.756,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.0935,
        "predicted_OBP": 0.3118,
        "predicted_R": 0.5014,
        "predicted_RBI": 0.4526,
        "predicted_SLG": 0.3582,
        "predicted_SO": 0.7679
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1685,
          "after": 0.1685,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0318,
          "after": 0.0318,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5418,
          "after": 3.5418,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2165,
          "after": 0.2135,
          "delta": -0.003,
          "percent_delta": -0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5075,
          "after": 0.5062,
          "delta": -0.0013,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7669,
          "after": 0.756,
          "delta": -0.0109,
          "percent_delta": -0.0142,
          "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.0934,
          "after": 0.0935,
          "delta": 0.0001,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3159,
          "after": 0.3118,
          "delta": -0.0041,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.515,
          "after": 0.5014,
          "delta": -0.0136,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4649,
          "after": 0.4526,
          "delta": -0.0123,
          "percent_delta": -0.0265,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3616,
          "after": 0.3582,
          "delta": -0.0034,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7659,
          "after": 0.7679,
          "delta": 0.002,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.60), rates preserved: AVG=0.205 HR/AB=0.026",
      "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.1685,
          "after": 0.0,
          "delta": -0.1685,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0318,
          "after": 0.0,
          "delta": -0.0318,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5418,
          "after": 4.0,
          "delta": 0.4582,
          "percent_delta": 0.1294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5062,
          "after": 1.0,
          "delta": 0.4938,
          "percent_delta": 0.9755,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.756,
          "after": 1.0,
          "delta": 0.244,
          "percent_delta": 0.3228,
          "direction": "boost",
          "projection_effect": "better",
          "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.0935,
          "after": 0.0,
          "delta": -0.0935,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4526,
          "after": 0.0,
          "delta": -0.4526,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7679,
          "after": 1.0,
          "delta": 0.2321,
          "percent_delta": 0.3023,
          "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.5062,
          "after": 1.0,
          "delta": 0.4938,
          "percent_delta": 0.9755,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4526,
          "after": 0.0,
          "delta": -0.4526,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5014,
          "after": 1.0,
          "delta": 0.4986,
          "percent_delta": 0.9944,
          "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.5014,
          "after": 1.0,
          "delta": 0.4986,
          "percent_delta": 0.9944,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1658,
        "predicted_3B": 0.0134,
        "predicted_BB": 0.4518,
        "predicted_H": 0.7835,
        "predicted_HR": 0.0999,
        "predicted_RBI": 0.4538,
        "predicted_SO": 0.8823
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1658,
          "delta": 0.1658,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0134,
          "delta": 0.0134,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4518,
          "delta": -0.5482,
          "percent_delta": -0.5482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7835,
          "delta": -0.2165,
          "percent_delta": -0.2165,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0999,
          "delta": 0.0999,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4538,
          "delta": 0.4538,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8823,
          "delta": -0.1177,
          "percent_delta": -0.1177,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4538,
          "delta": 0.4538,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4518,
          "delta": -0.5482,
          "percent_delta": -0.5482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1658,
          "after": 0.0,
          "delta": -0.1658,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0134,
          "after": 0.0,
          "delta": -0.0134,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4518,
          "after": 1.0,
          "delta": 0.5482,
          "percent_delta": 1.2134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7835,
          "after": 1.0,
          "delta": 0.2165,
          "percent_delta": 0.2763,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0999,
          "after": 0.0,
          "delta": -0.0999,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4538,
          "after": 0.0,
          "delta": -0.4538,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8823,
          "after": 1.0,
          "delta": 0.1177,
          "percent_delta": 0.1334,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4518,
          "after": 1.0,
          "delta": 0.5482,
          "percent_delta": 1.2134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.221,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.36,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2135,
          "after": 0.221,
          "delta": 0.0075,
          "percent_delta": 0.0351,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3118,
          "after": 0.314,
          "delta": 0.0022,
          "percent_delta": 0.0071,
          "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_SLG",
          "before": 0.3582,
          "after": 0.36,
          "delta": 0.0018,
          "percent_delta": 0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 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": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2135,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3118,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3582,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.2135,
          "delta": -0.0075,
          "percent_delta": -0.0341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.3118,
          "delta": -0.0022,
          "percent_delta": -0.007,
          "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.36,
          "after": 0.3582,
          "delta": -0.0018,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.221,
          "after": 0.2135,
          "delta": -0.0075,
          "percent_delta": -0.0341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.171,
        "after": 0.0,
        "delta": -0.171,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.039,
        "after": 0.0,
        "delta": -0.039,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.605,
        "after": 4.0,
        "delta": 0.395,
        "percent_delta": 0.1096,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.2135,
        "delta": -0.0095,
        "percent_delta": -0.0426,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.474,
        "after": 0.0,
        "delta": -0.474,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.803,
        "after": 2.0,
        "delta": 1.197,
        "percent_delta": 1.4907,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.079,
        "after": 0.0,
        "delta": -0.079,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.313,
        "after": 0.3118,
        "delta": -0.0012,
        "percent_delta": -0.0038,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.526,
        "after": 1.0,
        "delta": 0.474,
        "percent_delta": 0.9011,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.487,
        "after": 0.0,
        "delta": -0.487,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.358,
        "after": 0.3582,
        "delta": 0.0002,
        "percent_delta": 0.0006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.816,
        "after": 1.0,
        "delta": 0.184,
        "percent_delta": 0.2255,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 4,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.803,
        "after": 2.0,
        "delta": 1.197,
        "percent_delta": 1.4907,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.487,
        "after": 0.0,
        "delta": -0.487,
        "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.039-
predicted_AB3.605-
predicted_AVG0.223-
predicted_BB0.474-
predicted_H0.803-
predicted_HR0.079-
predicted_OBP0.313-
predicted_R0.526-
predicted_RBI0.487-
predicted_SLG0.358-
predicted_SO0.816-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.169-0.003
predicted_3B0.032-0.007
predicted_AB3.542-0.063
predicted_AVG0.216-0.007
predicted_BB0.5070.033
predicted_H0.767-0.036
predicted_HBP0.023-
predicted_HR0.0930.014
predicted_OBP0.3160.003
predicted_R0.515-0.011
predicted_RBI0.465-0.022
predicted_SLG0.3620.004
predicted_SO0.766-0.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.1690.000
predicted_3B0.0320.000
predicted_AB3.5420.000
predicted_AVG0.213-0.003
predicted_BB0.506-0.001
predicted_H0.756-0.011
predicted_HBP0.0230.000
predicted_HR0.0930.000
predicted_OBP0.312-0.004
predicted_R0.501-0.014
predicted_RBI0.453-0.012
predicted_SLG0.358-0.003
predicted_SO0.7680.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1660.166
3B0.0130.013
BB0.452-0.548
H0.783-0.217
HR0.1000.100
RBI0.4540.454
SO0.882-0.118
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.166
3B0.000-0.013
AB4.0000.000
BB1.0000.548
H1.0000.217
HR0.000-0.100
R0.000-1.000
RBI0.000-0.454
SO1.0000.118
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.169
predicted_3B0.000-0.032
predicted_AB4.0000.458
predicted_AVG0.2210.008
predicted_BB1.0000.494
predicted_H1.0000.244
predicted_HR0.000-0.093
predicted_OBP0.3140.002
predicted_R1.0000.499
predicted_RBI0.000-0.453
predicted_SLG0.3600.002
predicted_SO1.0000.232
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 76
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0003.0001.0000.0001.0002.0003.0004.0003.0000.20000.36840.46670.20000.06670.13330.26670.2000
last_100.2010-33.0005.0001.0000.0001.0003.0003.0006.0004.0000.15150.28210.27270.15150.03030.09090.18180.1212
season0.6076-274.00061.00013.0003.0006.00037.00040.00036.00062.0000.22260.31850.35770.22260.02190.13500.13140.2263
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1650
predicted_3B0.0220
predicted_AB3.4560
predicted_AVG0.2077
predicted_BB0.5530
predicted_H0.7180
predicted_HBP0.0230
predicted_HR0.1130
predicted_OBP0.3198
predicted_R0.5000
predicted_RBI0.4350
predicted_SLG0.3664
predicted_SO0.6980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17100.16500.1685model_form_blend
predicted_3B0.03900.02200.0318model_form_blend
predicted_AB3.60503.45603.5418model_form_blend
predicted_AVG0.22300.20770.2165model_form_blend
predicted_BB0.47400.55300.5075model_form_blend
predicted_H0.80300.71800.7669model_form_blend
predicted_HBP-0.02300.0230form_only
predicted_HR0.07900.11300.0934model_form_blend
predicted_OBP0.31300.31980.3159model_form_blend
predicted_R0.52600.50000.5150model_form_blend
predicted_RBI0.48700.43500.4649model_form_blend
predicted_SLG0.35800.36640.3616model_form_blend
predicted_SO0.81600.69800.7659model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_2B1
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB2
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
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
allPositionsPlayedRF
gameID20260909_PIT@CHW
game_typefull
mlbID695731
playerID695731
playerNameBraden Montgomery
posOF
startedTrue
startingPositionRF
teamCHW
teamID6
game_date2026-09-09
sl_k_percent19.7
sl_bb_percent11.0
sl_woba0.3
sl_xwoba0.328
sl_xba0.254
sl_xslg0.392
sl_sweet_spot_percent27.8
sl_barrel_batted_rate4.2
sl_hard_hit_percent40.6
sl_exit_velocity_avg88.7
sl_launch_angle_avg5.0
sl_whiff_percent29.0
sl_swing_percent50.2
Colson Montgomery (695657) · BATTER · SS · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 519
All-history rows before 20260910: 519
System season_avg: 0.2080
Data season_avg (2026 season-to-date): 0.2182
Diff (system - data): -0.0102
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.1610.0000.000Hitting_2B0.1810.000-0.1810.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2404.0004.000Hitting_AB3.8774.0000.1230.000
predicted_AVG0.1820.0000.250Hitting_AVG0.2180.000-0.2180.000
predicted_BB0.3500.0000.000Hitting_BB0.3490.000-0.3490.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H0.7700.0001.000Hitting_H0.8460.000-0.8460.000
predicted_HR0.2600.0000.000Hitting_HR0.2250.000-0.2250.000
predicted_OBP0.2500.0000.250Hitting_OBP0.2950.000-0.2950.000
predicted_R0.4890.0000.000Hitting_R0.5130.000-0.5130.000
predicted_RBI0.7200.0001.000Hitting_RBI0.6360.000-0.6360.000
predicted_SLG0.4190.0000.250Hitting_SLG0.4390.000-0.4390.000
predicted_SO1.4671.0001.000Hitting_SO1.4373.000-0.437-2.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: 0.7700 -> 0.0000 (deboost -0.7700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21102predicted_SO: 1.4670 -> 1.5559 (boost 0.0889, worse)predicted_AB: 4.2400 -> 4.0601 (deboost -0.1799, worse)Final model input calibrated 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.4224 -> 0.4106 (deboost -0.0118, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_SO: 1.5599 -> 2.0000 (boost 0.4401, worse)predicted_BB: 0.3395 -> 0.0000 (deboost -0.3395, worse)AB rounded to 4 (raw=4.24), rates preserved: AVG=0.167 HR/AB=0.062
6consistency_constraints11010predicted_R: 0.5020 -> 1.0000 (boost 0.4980, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3672 (boost 0.3672, better)predicted_SO: 2.0000 -> 1.5372 (deboost -0.4628, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation72534predicted_RBI: 0.5481 -> 1.0000 (boost 0.4519, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context55041predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference40413-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_OBP: 0.2900 -> 0.2419 (deboost -0.0481, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "695657",
  "player_name": "Colson Montgomery",
  "position": "SS",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.161,
        "predicted_3B": 0.0,
        "predicted_AB": 4.24,
        "predicted_AVG": 0.182,
        "predicted_BB": 0.35,
        "predicted_H": 0.77,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.25,
        "predicted_R": 0.489,
        "predicted_RBI": 0.72,
        "predicted_SLG": 0.419,
        "predicted_SO": 1.467
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1519,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0601,
        "predicted_AVG": 0.1812,
        "predicted_BB": 0.3404,
        "predicted_H": 0.7352,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.263,
        "predicted_OBP": 0.2524,
        "predicted_R": 0.5156,
        "predicted_RBI": 0.6908,
        "predicted_SLG": 0.4224,
        "predicted_SO": 1.5559
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.161,
          "after": 0.1519,
          "delta": -0.0091,
          "percent_delta": -0.0565,
          "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.24,
          "after": 4.0601,
          "delta": -0.1799,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.182,
          "after": 0.1812,
          "delta": -0.0008,
          "percent_delta": -0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.35,
          "after": 0.3404,
          "delta": -0.0096,
          "percent_delta": -0.0274,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.77,
          "after": 0.7352,
          "delta": -0.0348,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.263,
          "delta": 0.003,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.25,
          "after": 0.2524,
          "delta": 0.0024,
          "percent_delta": 0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.489,
          "after": 0.5156,
          "delta": 0.0266,
          "percent_delta": 0.0544,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.72,
          "after": 0.6908,
          "delta": -0.0292,
          "percent_delta": -0.0406,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.4224,
          "delta": 0.0034,
          "percent_delta": 0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.467,
          "after": 1.5559,
          "delta": 0.0889,
          "percent_delta": 0.0606,
          "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.467,
          "after": 1.5559,
          "delta": 0.0889,
          "percent_delta": 0.0606,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.24,
          "after": 4.0601,
          "delta": -0.1799,
          "percent_delta": -0.0424,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 137
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1519,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0601,
        "predicted_AVG": 0.1785,
        "predicted_BB": 0.3395,
        "predicted_H": 0.7248,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2632,
        "predicted_OBP": 0.2419,
        "predicted_R": 0.502,
        "predicted_RBI": 0.6726,
        "predicted_SLG": 0.4106,
        "predicted_SO": 1.5599
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1519,
          "after": 0.1519,
          "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.0601,
          "after": 4.0601,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1812,
          "after": 0.1785,
          "delta": -0.0027,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3404,
          "after": 0.3395,
          "delta": -0.0009,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7352,
          "after": 0.7248,
          "delta": -0.0104,
          "percent_delta": -0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.067,
          "after": 0.067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.263,
          "after": 0.2632,
          "delta": 0.0002,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2524,
          "after": 0.2419,
          "delta": -0.0105,
          "percent_delta": -0.0416,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5156,
          "after": 0.502,
          "delta": -0.0136,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6908,
          "after": 0.6726,
          "delta": -0.0182,
          "percent_delta": -0.0263,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4224,
          "after": 0.4106,
          "delta": -0.0118,
          "percent_delta": -0.0279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5559,
          "after": 1.5599,
          "delta": 0.004,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4224,
          "after": 0.4106,
          "delta": -0.0118,
          "percent_delta": -0.0279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.24), rates preserved: AVG=0.167 HR/AB=0.062",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1519,
          "after": 0.0,
          "delta": -0.1519,
          "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.0601,
          "after": 4.0,
          "delta": -0.0601,
          "percent_delta": -0.0148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3395,
          "after": 0.0,
          "delta": -0.3395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7248,
          "after": 1.0,
          "delta": 0.2752,
          "percent_delta": 0.3797,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.067,
          "after": 0.0,
          "delta": -0.067,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2632,
          "after": 0.0,
          "delta": -0.2632,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6726,
          "after": 1.0,
          "delta": 0.3274,
          "percent_delta": 0.4868,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5599,
          "after": 2.0,
          "delta": 0.4401,
          "percent_delta": 0.2821,
          "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.5599,
          "after": 2.0,
          "delta": 0.4401,
          "percent_delta": 0.2821,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3395,
          "after": 0.0,
          "delta": -0.3395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.502,
          "after": 1.0,
          "delta": 0.498,
          "percent_delta": 0.992,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.502,
          "after": 1.0,
          "delta": 0.498,
          "percent_delta": 0.992,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1675,
        "predicted_3B": 0.0061,
        "predicted_BB": 0.3672,
        "predicted_H": 0.7868,
        "predicted_HR": 0.1991,
        "predicted_RBI": 0.5481,
        "predicted_SO": 1.5372
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1675,
          "delta": 0.1675,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0061,
          "delta": 0.0061,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3672,
          "delta": 0.3672,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7868,
          "delta": -0.2132,
          "percent_delta": -0.2132,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1991,
          "delta": 0.1991,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5481,
          "delta": -0.4519,
          "percent_delta": -0.4519,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.5372,
          "delta": -0.4628,
          "percent_delta": -0.2314,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3672,
          "delta": 0.3672,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.5372,
          "delta": -0.4628,
          "percent_delta": -0.2314,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1675,
          "after": 0.0,
          "delta": -0.1675,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3672,
          "after": 0.0,
          "delta": -0.3672,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7868,
          "after": 1.0,
          "delta": 0.2132,
          "percent_delta": 0.271,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1991,
          "after": 0.0,
          "delta": -0.1991,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5481,
          "after": 1.0,
          "delta": 0.4519,
          "percent_delta": 0.8245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5372,
          "after": 1.0,
          "delta": -0.5372,
          "percent_delta": -0.3495,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5481,
          "after": 1.0,
          "delta": 0.4519,
          "percent_delta": 0.8245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.424,
        "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.1785,
          "after": 0.213,
          "delta": 0.0345,
          "percent_delta": 0.1933,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2419,
          "after": 0.29,
          "delta": 0.0481,
          "percent_delta": 0.1988,
          "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_SLG",
          "before": 0.4106,
          "after": 0.424,
          "delta": 0.0134,
          "percent_delta": 0.0326,
          "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": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1785,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2419,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4106,
        "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.213,
          "after": 0.1785,
          "delta": -0.0345,
          "percent_delta": -0.1619,
          "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.29,
          "after": 0.2419,
          "delta": -0.0481,
          "percent_delta": -0.1659,
          "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.4106,
          "delta": -0.0134,
          "percent_delta": -0.0316,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.2419,
          "delta": -0.0481,
          "percent_delta": -0.1659,
          "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.161,
        "after": 0.0,
        "delta": -0.161,
        "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.24,
        "after": 4.0,
        "delta": -0.24,
        "percent_delta": -0.0566,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.182,
        "after": 0.1785,
        "delta": -0.0035,
        "percent_delta": -0.0192,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.35,
        "after": 0.0,
        "delta": -0.35,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.77,
        "after": 0.0,
        "delta": -0.77,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.25,
        "after": 0.2419,
        "delta": -0.0081,
        "percent_delta": -0.0324,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.489,
        "after": 0.0,
        "delta": -0.489,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.419,
        "after": 0.4106,
        "delta": -0.0084,
        "percent_delta": -0.02,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.467,
        "after": 1.0,
        "delta": -0.467,
        "percent_delta": -0.3183,
        "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": 0.77,
        "after": 0.0,
        "delta": -0.77,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.161-
predicted_3B0.000-
predicted_AB4.240-
predicted_AVG0.182-
predicted_BB0.350-
predicted_H0.770-
predicted_HR0.260-
predicted_OBP0.250-
predicted_R0.489-
predicted_RBI0.720-
predicted_SLG0.419-
predicted_SO1.467-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.152-0.009
predicted_3B0.0000.000
predicted_AB4.060-0.180
predicted_AVG0.181-0.001
predicted_BB0.340-0.010
predicted_H0.735-0.035
predicted_HBP0.067-
predicted_HR0.2630.003
predicted_OBP0.2520.002
predicted_R0.5160.027
predicted_RBI0.691-0.029
predicted_SLG0.4220.003
predicted_SO1.5560.089
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1520.000
predicted_3B0.0000.000
predicted_AB4.0600.000
predicted_AVG0.178-0.003
predicted_BB0.340-0.001
predicted_H0.725-0.010
predicted_HBP0.0670.000
predicted_HR0.2630.000
predicted_OBP0.242-0.011
predicted_R0.502-0.014
predicted_RBI0.673-0.018
predicted_SLG0.411-0.012
predicted_SO1.5600.004
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1680.168
3B0.0060.006
BB0.3670.367
H0.787-0.213
HR0.1990.199
RBI0.548-0.452
SO1.537-0.463
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.168
3B0.000-0.006
AB4.0000.000
BB0.000-0.367
H1.0000.213
HR0.000-0.199
R0.000-1.000
RBI1.0000.452
SO1.000-0.537
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.152
predicted_3B0.000-0.000
predicted_AB4.000-0.060
predicted_AVG0.2130.035
predicted_BB0.000-0.340
predicted_H1.0000.275
predicted_HR0.000-0.263
predicted_OBP0.2900.048
predicted_R1.0000.498
predicted_RBI1.0000.327
predicted_SLG0.4240.013
predicted_SO2.0000.440
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 137
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-20.0002.0000.0000.0002.0004.0003.0001.00012.0000.10000.14290.40000.10000.10000.20000.05000.6000
last_100.2010-38.0006.0002.0000.0003.0007.0007.0004.00018.0000.15790.25580.44740.15790.07900.18420.10530.4737
season0.60137-518.000108.00022.0000.00031.00083.00067.00048.000201.0000.20850.28840.43050.20850.05990.16020.09270.3880
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1400
predicted_3B0.0010
predicted_AB3.8270
predicted_AVG0.1802
predicted_BB0.3280
predicted_H0.6900
predicted_HBP0.0670
predicted_HR0.2670
predicted_OBP0.2554
predicted_R0.5500
predicted_RBI0.6530
predicted_SLG0.4268
predicted_SO1.6710
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16100.14000.1519model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.24003.82704.0601model_form_blend
predicted_AVG0.18200.18020.1812model_form_blend
predicted_BB0.35000.32800.3404model_form_blend
predicted_H0.77000.69000.7352model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.26000.26700.2630model_form_blend
predicted_OBP0.25000.25540.2524model_form_blend
predicted_R0.48900.55000.5156model_form_blend
predicted_RBI0.72000.65300.6908model_form_blend
predicted_SLG0.41900.42680.4224model_form_blend
predicted_SO1.46701.67101.5559model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_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
gameID20260909_PIT@CHW
game_typefull
mlbID695657
playerID695657
playerNameColson Montgomery
posSS
startedTrue
startingPosition3B
teamCHW
teamID6
game_date2026-09-09
sl_k_percent34.4
sl_bb_percent8.3
sl_woba0.314
sl_xwoba0.305
sl_xba0.209
sl_xslg0.413
sl_sweet_spot_percent34.0
sl_barrel_batted_rate12.7
sl_hard_hit_percent42.0
sl_exit_velocity_avg88.7
sl_launch_angle_avg23.6
sl_whiff_percent36.8
sl_swing_percent51.9
Chase Meidroth (805367) · BATTER · 2B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 528
All-history rows before 20260910: 528
System season_avg: 0.2680
Data season_avg (2026 season-to-date): 0.2761
Diff (system - data): -0.0081
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.1960.0000.000Hitting_2B0.2060.000-0.2060.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8603.0004.000Hitting_AB3.7944.000-0.794-1.000
predicted_AVG0.2300.3330.250Hitting_AVG0.2760.2500.0570.083
predicted_BB0.3911.0000.000Hitting_BB0.4340.0000.5661.000
predicted_CS-0.0000.000BaseRunning_CS0.0110.000-0.0110.000
predicted_H0.8901.0001.000Hitting_H1.0471.000-0.0470.000
predicted_HR0.0600.0000.000Hitting_HR0.1100.000-0.1100.000
predicted_OBP0.3140.5000.250Hitting_OBP0.3530.2500.1470.250
predicted_R0.5651.0001.000Hitting_R0.6360.0000.3641.000
predicted_RBI0.2800.0000.000Hitting_RBI0.4390.000-0.4390.000
predicted_SB-0.0000.000BaseRunning_SB0.0230.000-0.0230.000
predicted_SLG0.3350.3330.250Hitting_SLG0.4170.250-0.0840.083
predicted_SO0.9351.0001.000Hitting_SO0.9701.0000.0300.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.3910 -> 1.0000 (boost 0.6090, better)
Biggest Deboostpredicted_AB: 3.8600 -> 3.0000 (deboost -0.8600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_AB: 3.8600 -> 3.7324 (deboost -0.1276, worse)Final model input calibrated 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.3160 -> 0.2995 (deboost -0.0165, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_AB: 3.7324 -> 4.0000 (boost 0.2676, better)predicted_BB: 0.3900 -> 0.0000 (deboost -0.3900, worse)AB rounded to 4 (raw=3.86), rates preserved: AVG=0.213 HR/AB=0.015
6consistency_constraints11010predicted_R: 0.5128 -> 1.0000 (boost 0.4872, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.3753 (boost 0.3753, better)predicted_H: 1.0000 -> 0.8446 (deboost -0.1554, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation51414predicted_H: 0.8446 -> 1.0000 (boost 0.1554, better)predicted_RBI: 0.3753 -> 0.0000 (deboost -0.3753, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context33030predicted_SLG: 0.3181 -> 0.3690 (boost 0.0509, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3690 -> 0.3181 (deboost -0.0509, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "805367",
  "player_name": "Chase Meidroth",
  "position": "2B",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.196,
        "predicted_3B": 0.0,
        "predicted_AB": 3.86,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.391,
        "predicted_H": 0.89,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.314,
        "predicted_R": 0.565,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.335,
        "predicted_SO": 0.935
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1694,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7324,
        "predicted_AVG": 0.2293,
        "predicted_BB": 0.391,
        "predicted_H": 0.8569,
        "predicted_HBP": 0.084,
        "predicted_HR": 0.0574,
        "predicted_OBP": 0.316,
        "predicted_R": 0.5267,
        "predicted_RBI": 0.2643,
        "predicted_SLG": 0.3249,
        "predicted_SO": 0.9289
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.196,
          "after": 0.1694,
          "delta": -0.0266,
          "percent_delta": -0.1357,
          "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.86,
          "after": 3.7324,
          "delta": -0.1276,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2293,
          "delta": -0.0007,
          "percent_delta": -0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.391,
          "after": 0.391,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.89,
          "after": 0.8569,
          "delta": -0.0331,
          "percent_delta": -0.0372,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0574,
          "delta": -0.0026,
          "percent_delta": -0.0433,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.314,
          "after": 0.316,
          "delta": 0.002,
          "percent_delta": 0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.565,
          "after": 0.5267,
          "delta": -0.0383,
          "percent_delta": -0.0678,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2643,
          "delta": -0.0157,
          "percent_delta": -0.0561,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.335,
          "after": 0.3249,
          "delta": -0.0101,
          "percent_delta": -0.0301,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.935,
          "after": 0.9289,
          "delta": -0.0061,
          "percent_delta": -0.0065,
          "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.86,
          "after": 3.7324,
          "delta": -0.1276,
          "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": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1694,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7324,
        "predicted_AVG": 0.2263,
        "predicted_BB": 0.39,
        "predicted_H": 0.8447,
        "predicted_HBP": 0.084,
        "predicted_HR": 0.0574,
        "predicted_OBP": 0.2995,
        "predicted_R": 0.5128,
        "predicted_RBI": 0.2573,
        "predicted_SLG": 0.3181,
        "predicted_SO": 0.9313
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1694,
          "after": 0.1694,
          "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.7324,
          "after": 3.7324,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2293,
          "after": 0.2263,
          "delta": -0.003,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.391,
          "after": 0.39,
          "delta": -0.001,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8569,
          "after": 0.8447,
          "delta": -0.0122,
          "percent_delta": -0.0142,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.084,
          "after": 0.084,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0574,
          "after": 0.0574,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.316,
          "after": 0.2995,
          "delta": -0.0165,
          "percent_delta": -0.0522,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5267,
          "after": 0.5128,
          "delta": -0.0139,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2643,
          "after": 0.2573,
          "delta": -0.007,
          "percent_delta": -0.0265,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3249,
          "after": 0.3181,
          "delta": -0.0068,
          "percent_delta": -0.0209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9289,
          "after": 0.9313,
          "delta": 0.0024,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.316,
          "after": 0.2995,
          "delta": -0.0165,
          "percent_delta": -0.0522,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.86), rates preserved: AVG=0.213 HR/AB=0.015",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1694,
          "after": 0.0,
          "delta": -0.1694,
          "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.7324,
          "after": 4.0,
          "delta": 0.2676,
          "percent_delta": 0.0717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.39,
          "after": 0.0,
          "delta": -0.39,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8447,
          "after": 1.0,
          "delta": 0.1553,
          "percent_delta": 0.1839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.084,
          "after": 0.0,
          "delta": -0.084,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0574,
          "after": 0.0,
          "delta": -0.0574,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2573,
          "after": 0.0,
          "delta": -0.2573,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9313,
          "after": 1.0,
          "delta": 0.0687,
          "percent_delta": 0.0738,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.7324,
          "after": 4.0,
          "delta": 0.2676,
          "percent_delta": 0.0717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.39,
          "after": 0.0,
          "delta": -0.39,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5128,
          "after": 1.0,
          "delta": 0.4872,
          "percent_delta": 0.9501,
          "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.5128,
          "after": 1.0,
          "delta": 0.4872,
          "percent_delta": 0.9501,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1654,
        "predicted_3B": 0.0061,
        "predicted_BB": 0.362,
        "predicted_H": 0.8446,
        "predicted_HR": 0.0939,
        "predicted_RBI": 0.3753,
        "predicted_SO": 1.0031
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1654,
          "delta": 0.1654,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0061,
          "delta": 0.0061,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.362,
          "delta": 0.362,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8446,
          "delta": -0.1554,
          "percent_delta": -0.1554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0939,
          "delta": 0.0939,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3753,
          "delta": 0.3753,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0031,
          "delta": 0.0031,
          "percent_delta": 0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3753,
          "delta": 0.3753,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8446,
          "delta": -0.1554,
          "percent_delta": -0.1554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1654,
          "after": 0.0,
          "delta": -0.1654,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.362,
          "after": 0.0,
          "delta": -0.362,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8446,
          "after": 1.0,
          "delta": 0.1554,
          "percent_delta": 0.184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0939,
          "after": 0.0,
          "delta": -0.0939,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3753,
          "after": 0.0,
          "delta": -0.3753,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0031,
          "after": 1.0,
          "delta": -0.0031,
          "percent_delta": -0.0031,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8446,
          "after": 1.0,
          "delta": 0.1554,
          "percent_delta": 0.184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3753,
          "after": 0.0,
          "delta": -0.3753,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2263,
          "after": 0.239,
          "delta": 0.0127,
          "percent_delta": 0.0561,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2995,
          "after": 0.315,
          "delta": 0.0155,
          "percent_delta": 0.0518,
          "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.3181,
          "after": 0.369,
          "delta": 0.0509,
          "percent_delta": 0.16,
          "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.3181,
          "after": 0.369,
          "delta": 0.0509,
          "percent_delta": 0.16,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 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": 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_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2263,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2995,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3181,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2263,
          "delta": -0.0127,
          "percent_delta": -0.053,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.2995,
          "delta": -0.0155,
          "percent_delta": -0.0492,
          "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.369,
          "after": 0.3181,
          "delta": -0.0509,
          "percent_delta": -0.1379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.369,
          "after": 0.3181,
          "delta": -0.0509,
          "percent_delta": -0.1379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.196,
        "after": 0.0,
        "delta": -0.196,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.86,
        "after": 3.0,
        "delta": -0.86,
        "percent_delta": -0.2228,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.23,
        "after": 0.2263,
        "delta": -0.0037,
        "percent_delta": -0.0161,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.391,
        "after": 1.0,
        "delta": 0.609,
        "percent_delta": 1.5575,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.89,
        "after": 1.0,
        "delta": 0.11,
        "percent_delta": 0.1236,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.314,
        "after": 0.2995,
        "delta": -0.0145,
        "percent_delta": -0.0462,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.565,
        "after": 1.0,
        "delta": 0.435,
        "percent_delta": 0.7699,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.28,
        "after": 0.0,
        "delta": -0.28,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.335,
        "after": 0.3181,
        "delta": -0.0169,
        "percent_delta": -0.0504,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.935,
        "after": 1.0,
        "delta": 0.065,
        "percent_delta": 0.0695,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.391,
        "after": 1.0,
        "delta": 0.609,
        "percent_delta": 1.5575,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.86,
        "after": 3.0,
        "delta": -0.86,
        "percent_delta": -0.2228,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.196-
predicted_3B0.000-
predicted_AB3.860-
predicted_AVG0.230-
predicted_BB0.391-
predicted_H0.890-
predicted_HR0.060-
predicted_OBP0.314-
predicted_R0.565-
predicted_RBI0.280-
predicted_SLG0.335-
predicted_SO0.935-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.169-0.027
predicted_3B0.0000.000
predicted_AB3.732-0.128
predicted_AVG0.229-0.001
predicted_BB0.3910.000
predicted_H0.857-0.033
predicted_HBP0.084-
predicted_HR0.057-0.003
predicted_OBP0.3160.002
predicted_R0.527-0.038
predicted_RBI0.264-0.016
predicted_SLG0.325-0.010
predicted_SO0.929-0.006
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1690.000
predicted_3B0.0000.000
predicted_AB3.7320.000
predicted_AVG0.226-0.003
predicted_BB0.390-0.001
predicted_H0.845-0.012
predicted_HBP0.0840.000
predicted_HR0.0570.000
predicted_OBP0.299-0.017
predicted_R0.513-0.014
predicted_RBI0.257-0.007
predicted_SLG0.318-0.007
predicted_SO0.9310.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1650.165
3B0.0060.006
BB0.3620.362
H0.845-0.155
HR0.0940.094
RBI0.3750.375
SO1.0030.003
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.165
3B0.000-0.006
AB4.0000.000
BB0.000-0.362
H1.0000.155
HR0.000-0.094
R1.0000.000
RBI0.000-0.375
SO1.000-0.003
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.169
predicted_3B0.000-0.000
predicted_AB4.0000.268
predicted_AVG0.2390.013
predicted_BB0.000-0.390
predicted_H1.0000.155
predicted_HR0.000-0.057
predicted_OBP0.3150.016
predicted_R1.0000.487
predicted_RBI0.000-0.257
predicted_SLG0.3690.051
predicted_SO1.0000.069
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
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: 138
Reference playing time: 3.860
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.0000.0002.0002.0005.0000.12500.26320.12500.12500.00000.00000.12500.3125
last_100.2010-34.0007.0001.0000.0000.0001.0003.0004.0008.0000.20590.30770.23530.20590.00000.02940.11770.2353
season0.60138-514.000138.00027.0000.00012.00051.00078.00054.000129.0000.26850.34200.39110.26850.02330.09920.10510.2510
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1350
predicted_3B0.0010
predicted_AB3.5670
predicted_AVG0.2283
predicted_BB0.3910
predicted_H0.8140
predicted_HBP0.0840
predicted_HR0.0540
predicted_OBP0.3187
predicted_R0.4770
predicted_RBI0.2440
predicted_SLG0.3117
predicted_SO0.9210
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19600.13500.1694model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.86003.56703.7324model_form_blend
predicted_AVG0.23000.22830.2293model_form_blend
predicted_BB0.39100.39100.3910model_form_blend
predicted_H0.89000.81400.8569model_form_blend
predicted_HBP-0.08400.0840form_only
predicted_HR0.06000.05400.0574model_form_blend
predicted_OBP0.31400.31870.3160model_form_blend
predicted_R0.56500.47700.5267model_form_blend
predicted_RBI0.28000.24400.2643model_form_blend
predicted_SLG0.33500.31170.3249model_form_blend
predicted_SO0.93500.92100.9289model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20260909_PIT@CHW
game_typefull
mlbID805367
playerID805367
playerNameChase Meidroth
pos2B
startedTrue
startingPositionSS
teamCHW
teamID6
game_date2026-09-09
sl_k_percent22.1
sl_bb_percent9.5
sl_woba0.328
sl_xwoba0.292
sl_xba0.234
sl_xslg0.331
sl_sweet_spot_percent33.3
sl_barrel_batted_rate4.1
sl_hard_hit_percent33.9
sl_exit_velocity_avg87.3
sl_launch_angle_avg8.2
sl_whiff_percent19.4
sl_swing_percent41.7
Miguel Vargas (678246) · BATTER · 3B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 567
All-history rows before 20260910: 567
System season_avg: 0.2490
Data season_avg (2026 season-to-date): 0.2469
Diff (system - data): 0.0021
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.2110.0000.000Hitting_2B0.2420.000-0.2420.000
predicted_3B0.0070.0000.000Hitting_3B0.0070.000-0.0070.000
predicted_AB3.7322.0004.000Hitting_AB3.8363.000-1.836-1.000
predicted_AVG0.2050.0000.250Hitting_AVG0.2470.000-0.2470.000
predicted_BB0.6062.0001.000Hitting_BB0.6080.0001.3922.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H0.7000.0001.000Hitting_H0.9470.000-0.9470.000
predicted_HR0.1200.0000.000Hitting_HR0.2350.000-0.2350.000
predicted_OBP0.2960.5000.400Hitting_OBP0.3550.0000.1450.500
predicted_R0.6690.0001.000Hitting_R0.7430.000-0.7430.000
predicted_RBI0.4900.0001.000Hitting_RBI0.6160.000-0.6160.000
predicted_SLG0.4350.0000.250Hitting_SLG0.4970.000-0.4970.000
predicted_SO0.7960.0001.000Hitting_SO0.8062.000-0.806-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_BB: 0.6060 -> 2.0000 (boost 1.3940, better)
Biggest Deboostpredicted_AB: 3.7320 -> 2.0000 (deboost -1.7320, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend74334predicted_H: 0.7000 -> 0.7961 (boost 0.0961, better)predicted_BB: 0.6060 -> 0.5422 (deboost -0.0638, worse)Final model input calibrated 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.4292 -> 0.3757 (deboost -0.0535, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_BB: 0.5408 -> 1.0000 (boost 0.4592, better)predicted_RBI: 0.4877 -> 0.0000 (deboost -0.4877, worse)AB rounded to 4 (raw=3.78), rates preserved: AVG=0.203 HR/AB=0.039
6consistency_constraints11010predicted_R: 0.5987 -> 1.0000 (boost 0.4013, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_RBI: 0.0000 -> 0.5042 (boost 0.5042, better)predicted_BB: 1.0000 -> 0.5300 (deboost -0.4700, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation64233predicted_RBI: 0.5042 -> 1.0000 (boost 0.4958, better)predicted_HR: 0.1773 -> 0.0000 (deboost -0.1773, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context43131predicted_SLG: 0.3757 -> 0.4190 (boost 0.0433, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference51423predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.4190 -> 0.3757 (deboost -0.0433, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "678246",
  "player_name": "Miguel Vargas",
  "position": "3B",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.211,
        "predicted_3B": 0.007,
        "predicted_AB": 3.732,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.606,
        "predicted_H": 0.7,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.296,
        "predicted_R": 0.669,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.435,
        "predicted_SO": 0.796
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1769,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.7783,
        "predicted_AVG": 0.2202,
        "predicted_BB": 0.5422,
        "predicted_H": 0.7961,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1484,
        "predicted_OBP": 0.3075,
        "predicted_R": 0.6149,
        "predicted_RBI": 0.5009,
        "predicted_SLG": 0.4292,
        "predicted_SO": 0.8698
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.1769,
          "delta": -0.0341,
          "percent_delta": -0.1616,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.732,
          "after": 3.7783,
          "delta": 0.0463,
          "percent_delta": 0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2202,
          "delta": 0.0152,
          "percent_delta": 0.0741,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.606,
          "after": 0.5422,
          "delta": -0.0638,
          "percent_delta": -0.1053,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 0.7961,
          "delta": 0.0961,
          "percent_delta": 0.1373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1484,
          "delta": 0.0284,
          "percent_delta": 0.2367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.3075,
          "delta": 0.0115,
          "percent_delta": 0.0389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.669,
          "after": 0.6149,
          "delta": -0.0541,
          "percent_delta": -0.0809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.5009,
          "delta": 0.0109,
          "percent_delta": 0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.435,
          "after": 0.4292,
          "delta": -0.0058,
          "percent_delta": -0.0133,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.796,
          "after": 0.8698,
          "delta": 0.0738,
          "percent_delta": 0.0927,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 0.7961,
          "delta": 0.0961,
          "percent_delta": 0.1373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.606,
          "after": 0.5422,
          "delta": -0.0638,
          "percent_delta": -0.1053,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 142
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1769,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.7783,
        "predicted_AVG": 0.2077,
        "predicted_BB": 0.5408,
        "predicted_H": 0.7848,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1485,
        "predicted_OBP": 0.3069,
        "predicted_R": 0.5987,
        "predicted_RBI": 0.4877,
        "predicted_SLG": 0.3757,
        "predicted_SO": 0.8721
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1769,
          "after": 0.1769,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7783,
          "after": 3.7783,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2202,
          "after": 0.2077,
          "delta": -0.0125,
          "percent_delta": -0.0568,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5422,
          "after": 0.5408,
          "delta": -0.0014,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7961,
          "after": 0.7848,
          "delta": -0.0113,
          "percent_delta": -0.0142,
          "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.1484,
          "after": 0.1485,
          "delta": 0.0001,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3075,
          "after": 0.3069,
          "delta": -0.0006,
          "percent_delta": -0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6149,
          "after": 0.5987,
          "delta": -0.0162,
          "percent_delta": -0.0263,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5009,
          "after": 0.4877,
          "delta": -0.0132,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4292,
          "after": 0.3757,
          "delta": -0.0535,
          "percent_delta": -0.1247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8698,
          "after": 0.8721,
          "delta": 0.0023,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4292,
          "after": 0.3757,
          "delta": -0.0535,
          "percent_delta": -0.1247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.78), rates preserved: AVG=0.203 HR/AB=0.039",
      "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.1769,
          "after": 0.0,
          "delta": -0.1769,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7783,
          "after": 4.0,
          "delta": 0.2217,
          "percent_delta": 0.0587,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5408,
          "after": 1.0,
          "delta": 0.4592,
          "percent_delta": 0.8491,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7848,
          "after": 1.0,
          "delta": 0.2152,
          "percent_delta": 0.2742,
          "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.1485,
          "after": 0.0,
          "delta": -0.1485,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4877,
          "after": 0.0,
          "delta": -0.4877,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8721,
          "after": 1.0,
          "delta": 0.1279,
          "percent_delta": 0.1467,
          "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.5408,
          "after": 1.0,
          "delta": 0.4592,
          "percent_delta": 0.8491,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4877,
          "after": 0.0,
          "delta": -0.4877,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5987,
          "after": 1.0,
          "delta": 0.4013,
          "percent_delta": 0.6703,
          "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.5987,
          "after": 1.0,
          "delta": 0.4013,
          "percent_delta": 0.6703,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1757,
        "predicted_3B": 0.008,
        "predicted_BB": 0.53,
        "predicted_H": 0.8324,
        "predicted_HR": 0.1773,
        "predicted_RBI": 0.5042,
        "predicted_SO": 0.8635
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1757,
          "delta": 0.1757,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.008,
          "delta": 0.008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.53,
          "delta": -0.47,
          "percent_delta": -0.47,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8324,
          "delta": -0.1676,
          "percent_delta": -0.1676,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1773,
          "delta": 0.1773,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5042,
          "delta": 0.5042,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8635,
          "delta": -0.1365,
          "percent_delta": -0.1365,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5042,
          "delta": 0.5042,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.53,
          "delta": -0.47,
          "percent_delta": -0.47,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1757,
          "after": 0.0,
          "delta": -0.1757,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0,
          "delta": -0.008,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.53,
          "after": 1.0,
          "delta": 0.47,
          "percent_delta": 0.8868,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8324,
          "after": 1.0,
          "delta": 0.1676,
          "percent_delta": 0.2013,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1773,
          "after": 0.0,
          "delta": -0.1773,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5042,
          "after": 1.0,
          "delta": 0.4958,
          "percent_delta": 0.9833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8635,
          "after": 1.0,
          "delta": 0.1365,
          "percent_delta": 0.1581,
          "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.5042,
          "after": 1.0,
          "delta": 0.4958,
          "percent_delta": 0.9833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1773,
          "after": 0.0,
          "delta": -0.1773,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.224,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.326,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.419,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2077,
          "after": 0.224,
          "delta": 0.0163,
          "percent_delta": 0.0785,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3069,
          "after": 0.326,
          "delta": 0.0191,
          "percent_delta": 0.0622,
          "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.3757,
          "after": 0.419,
          "delta": 0.0433,
          "percent_delta": 0.1153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3757,
          "after": 0.419,
          "delta": 0.0433,
          "percent_delta": 0.1153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 2.0,
          "delta": -2.0,
          "percent_delta": -0.5,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 2.0,
          "delta": -2.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2077,
        "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": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3757,
        "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": 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.224,
          "after": 0.2077,
          "delta": -0.0163,
          "percent_delta": -0.0727,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.3069,
          "delta": -0.0191,
          "percent_delta": -0.0585,
          "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.419,
          "after": 0.3757,
          "delta": -0.0433,
          "percent_delta": -0.1034,
          "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.419,
          "after": 0.3757,
          "delta": -0.0433,
          "percent_delta": -0.1034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.211,
        "after": 0.0,
        "delta": -0.211,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.732,
        "after": 2.0,
        "delta": -1.732,
        "percent_delta": -0.4641,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.2077,
        "delta": 0.0027,
        "percent_delta": 0.0132,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.606,
        "after": 2.0,
        "delta": 1.394,
        "percent_delta": 2.3003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.296,
        "after": 0.3069,
        "delta": 0.0109,
        "percent_delta": 0.0368,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.669,
        "after": 0.0,
        "delta": -0.669,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.435,
        "after": 0.3757,
        "delta": -0.0593,
        "percent_delta": -0.1363,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.796,
        "after": 0.0,
        "delta": -0.796,
        "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.606,
        "after": 2.0,
        "delta": 1.394,
        "percent_delta": 2.3003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.732,
        "after": 2.0,
        "delta": -1.732,
        "percent_delta": -0.4641,
        "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.211-
predicted_3B0.007-
predicted_AB3.732-
predicted_AVG0.205-
predicted_BB0.606-
predicted_H0.700-
predicted_HR0.120-
predicted_OBP0.296-
predicted_R0.669-
predicted_RBI0.490-
predicted_SLG0.435-
predicted_SO0.796-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.177-0.034
predicted_3B0.006-0.001
predicted_AB3.7780.046
predicted_AVG0.2200.015
predicted_BB0.542-0.064
predicted_H0.7960.096
predicted_HBP0.031-
predicted_HR0.1480.028
predicted_OBP0.3070.012
predicted_R0.615-0.054
predicted_RBI0.5010.011
predicted_SLG0.429-0.006
predicted_SO0.8700.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.1770.000
predicted_3B0.0060.000
predicted_AB3.7780.000
predicted_AVG0.208-0.013
predicted_BB0.541-0.001
predicted_H0.785-0.011
predicted_HBP0.0310.000
predicted_HR0.1480.000
predicted_OBP0.307-0.001
predicted_R0.599-0.016
predicted_RBI0.488-0.013
predicted_SLG0.376-0.054
predicted_SO0.8720.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1760.176
3B0.0080.008
BB0.530-0.470
H0.832-0.168
HR0.1770.177
RBI0.5040.504
SO0.864-0.136
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.176
3B0.000-0.008
AB4.0000.000
BB1.0000.470
H1.0000.168
HR0.000-0.177
R1.0000.000
RBI1.0000.496
SO1.0000.136
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.177
predicted_3B0.000-0.006
predicted_AB4.0000.222
predicted_AVG0.2240.016
predicted_BB1.0000.459
predicted_H1.0000.215
predicted_HR0.000-0.148
predicted_OBP0.3260.019
predicted_R1.0000.401
predicted_RBI0.000-0.488
predicted_SLG0.4190.043
predicted_SO1.0000.128
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 142
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.0001.0003.0002.0001.0007.0000.20000.23810.35000.20000.05000.15000.05000.3500
last_100.2010-40.00010.0000.0000.0001.0003.0003.0003.00011.0000.25000.30230.32500.25000.02500.07500.07500.2750
season0.60142-530.000132.00030.0001.00030.00079.00095.00086.000113.0000.24910.35830.47920.24910.05660.14910.16230.2132
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1330
predicted_3B0.0050
predicted_AB3.8380
predicted_AVG0.2398
predicted_BB0.4600
predicted_H0.9200
predicted_HBP0.0310
predicted_HR0.1850
predicted_OBP0.3223
predicted_R0.5450
predicted_RBI0.5150
predicted_SLG0.4218
predicted_SO0.9650
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21100.13300.1769model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB3.73203.83803.7783model_form_blend
predicted_AVG0.20500.23980.2202model_form_blend
predicted_BB0.60600.46000.5422model_form_blend
predicted_H0.70000.92000.7961model_form_blend
predicted_HBP-0.03100.0310form_only
predicted_HR0.12000.18500.1484model_form_blend
predicted_OBP0.29600.32230.3075model_form_blend
predicted_R0.66900.54500.6149model_form_blend
predicted_RBI0.49000.51500.5009model_form_blend
predicted_SLG0.43500.42180.4292model_form_blend
predicted_SO0.79600.96500.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 date567
Season rows before report date567
Report year2026
Profile rows used142
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB2
H0
2B0
3B0
HR0
R0
RBI0
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_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder2
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-DH
gameID20260909_PIT@CHW
game_typeph
mlbID678246
noteStruck out for Benintendi in the 6th.
playerID678246
playerNameMiguel Vargas
pos3B
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-09-09
sl_k_percent17.7
sl_bb_percent13.9
sl_woba0.365
sl_xwoba0.383
sl_xba0.267
sl_xslg0.507
sl_sweet_spot_percent40.9
sl_barrel_batted_rate13.6
sl_hard_hit_percent45.2
sl_exit_velocity_avg90.5
sl_launch_angle_avg20.1
sl_whiff_percent20.7
sl_swing_percent44.2
Andrew Benintendi (643217) · BATTER · DH · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 391
All-history rows before 20260910: 391
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2600
Diff (system - data): -0.0160
System opponent_avg: 0.5000
System season_avg diverges from 2026 season-to-date by -0.0160. 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.1880.0000.000Hitting_2B0.2151.000-0.215-1.000
predicted_3B0.0160.0000.000Hitting_3B0.0200.000-0.0200.000
predicted_AB3.0394.0003.000Hitting_AB3.4632.0000.5372.000
predicted_AVG0.2720.0000.000Hitting_AVG0.2600.500-0.260-0.500
predicted_BB0.2810.0000.000Hitting_BB0.3400.000-0.3400.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6800.0000.000Hitting_H0.9001.000-0.900-1.000
predicted_HR0.0900.0000.000Hitting_HR0.1360.000-0.1360.000
predicted_OBP0.3220.0000.000Hitting_OBP0.3240.500-0.324-0.500
predicted_R0.4300.0000.000Hitting_R0.5290.000-0.5290.000
predicted_RBI0.3300.0001.000Hitting_RBI0.6320.000-0.6320.000
predicted_SLG0.4370.0000.000Hitting_SLG0.4511.000-0.451-1.000
predicted_SO0.7810.0001.000Hitting_SO0.8621.000-0.862-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 3.0390 -> 4.0000 (boost 0.9610, better)
Biggest Deboostpredicted_SO: 0.7810 -> 0.0000 (deboost -0.7810, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_2B: 0.1880 -> 0.2466 (boost 0.0586, better)predicted_AB: 3.0390 -> 2.9575 (deboost -0.0815, worse)Final model input calibrated 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.4311 -> 0.3977 (deboost -0.0334, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_H: 0.6670 -> 1.0000 (boost 0.3330, better)predicted_RBI: 0.3213 -> 0.0000 (deboost -0.3213, worse)AB rounded to 3 (raw=3.04), rates preserved: AVG=0.214 HR/AB=0.026
6consistency_constraints10101-predicted_R: 0.4421 -> 0.0000 (deboost -0.4421, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.5415 (boost 0.5415, better)predicted_H: 1.0000 -> 0.7792 (deboost -0.2208, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation51414predicted_RBI: 0.5415 -> 1.0000 (boost 0.4585, better)predicted_H: 0.7792 -> 0.0000 (deboost -0.7792, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context32121predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_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
11current_json_final10101-predicted_OBP: 0.3060 -> 0.2966 (deboost -0.0094, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "643217",
  "player_name": "Andrew Benintendi",
  "position": "DH",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.188,
        "predicted_3B": 0.016,
        "predicted_AB": 3.039,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.281,
        "predicted_H": 0.68,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.322,
        "predicted_R": 0.43,
        "predicted_RBI": 0.33,
        "predicted_SLG": 0.437,
        "predicted_SO": 0.781
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2466,
        "predicted_3B": 0.013,
        "predicted_AB": 2.9575,
        "predicted_AVG": 0.2564,
        "predicted_BB": 0.2995,
        "predicted_H": 0.6766,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0788,
        "predicted_OBP": 0.3176,
        "predicted_R": 0.4541,
        "predicted_RBI": 0.33,
        "predicted_SLG": 0.4311,
        "predicted_SO": 0.7345
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.188,
          "after": 0.2466,
          "delta": 0.0586,
          "percent_delta": 0.3117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.039,
          "after": 2.9575,
          "delta": -0.0815,
          "percent_delta": -0.0268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2564,
          "delta": -0.0156,
          "percent_delta": -0.0574,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.281,
          "after": 0.2995,
          "delta": 0.0185,
          "percent_delta": 0.0658,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 0.6766,
          "delta": -0.0034,
          "percent_delta": -0.005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0788,
          "delta": -0.0112,
          "percent_delta": -0.1244,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3176,
          "delta": -0.0044,
          "percent_delta": -0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.43,
          "after": 0.4541,
          "delta": 0.0241,
          "percent_delta": 0.056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.33,
          "after": 0.33,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.437,
          "after": 0.4311,
          "delta": -0.0059,
          "percent_delta": -0.0135,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.781,
          "after": 0.7345,
          "delta": -0.0465,
          "percent_delta": -0.0595,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.188,
          "after": 0.2466,
          "delta": 0.0586,
          "percent_delta": 0.3117,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.039,
          "after": 2.9575,
          "delta": -0.0815,
          "percent_delta": -0.0268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2466,
        "predicted_3B": 0.013,
        "predicted_AB": 2.9575,
        "predicted_AVG": 0.2255,
        "predicted_BB": 0.2987,
        "predicted_H": 0.667,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.0789,
        "predicted_OBP": 0.2966,
        "predicted_R": 0.4421,
        "predicted_RBI": 0.3213,
        "predicted_SLG": 0.3977,
        "predicted_SO": 0.7364
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2466,
          "after": 0.2466,
          "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": 2.9575,
          "after": 2.9575,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2564,
          "after": 0.2255,
          "delta": -0.0309,
          "percent_delta": -0.1205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2995,
          "after": 0.2987,
          "delta": -0.0008,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6766,
          "after": 0.667,
          "delta": -0.0096,
          "percent_delta": -0.0142,
          "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.0788,
          "after": 0.0789,
          "delta": 0.0001,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3176,
          "after": 0.2966,
          "delta": -0.021,
          "percent_delta": -0.0661,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4541,
          "after": 0.4421,
          "delta": -0.012,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.33,
          "after": 0.3213,
          "delta": -0.0087,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4311,
          "after": 0.3977,
          "delta": -0.0334,
          "percent_delta": -0.0775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7345,
          "after": 0.7364,
          "delta": 0.0019,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4311,
          "after": 0.3977,
          "delta": -0.0334,
          "percent_delta": -0.0775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.04), rates preserved: AVG=0.214 HR/AB=0.026",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2466,
          "after": 0.0,
          "delta": -0.2466,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0,
          "delta": -0.013,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9575,
          "after": 3.0,
          "delta": 0.0425,
          "percent_delta": 0.0144,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2987,
          "after": 0.0,
          "delta": -0.2987,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.667,
          "after": 1.0,
          "delta": 0.333,
          "percent_delta": 0.4993,
          "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.0789,
          "after": 0.0,
          "delta": -0.0789,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3213,
          "after": 0.0,
          "delta": -0.3213,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7364,
          "after": 1.0,
          "delta": 0.2636,
          "percent_delta": 0.358,
          "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.667,
          "after": 1.0,
          "delta": 0.333,
          "percent_delta": 0.4993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3213,
          "after": 0.0,
          "delta": -0.3213,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4421,
          "after": 0.0,
          "delta": -0.4421,
          "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.4421,
          "after": 0.0,
          "delta": -0.4421,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1738,
        "predicted_3B": 0.0099,
        "predicted_BB": 0.3395,
        "predicted_H": 0.7792,
        "predicted_HR": 0.1247,
        "predicted_RBI": 0.5415,
        "predicted_SO": 0.967
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1738,
          "delta": 0.1738,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0099,
          "delta": 0.0099,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3395,
          "delta": 0.3395,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7792,
          "delta": -0.2208,
          "percent_delta": -0.2208,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1247,
          "delta": 0.1247,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5415,
          "delta": 0.5415,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.967,
          "delta": -0.033,
          "percent_delta": -0.033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5415,
          "delta": 0.5415,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7792,
          "delta": -0.2208,
          "percent_delta": -0.2208,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1738,
          "after": 0.0,
          "delta": -0.1738,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0099,
          "after": 0.0,
          "delta": -0.0099,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3395,
          "after": 0.0,
          "delta": -0.3395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7792,
          "after": 0.0,
          "delta": -0.7792,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5415,
          "after": 1.0,
          "delta": 0.4585,
          "percent_delta": 0.8467,
          "direction": "boost",
          "projection_effect": "better",
          "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": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5415,
          "after": 1.0,
          "delta": 0.4585,
          "percent_delta": 0.8467,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7792,
          "after": 0.0,
          "delta": -0.7792,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 0.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": 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.2255,
          "after": 0.23,
          "delta": 0.0045,
          "percent_delta": 0.02,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2966,
          "after": 0.306,
          "delta": 0.0094,
          "percent_delta": 0.0317,
          "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.3977,
          "after": 0.398,
          "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": 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_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2255,
        "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.2966,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3977,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2255,
          "delta": -0.0045,
          "percent_delta": -0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.306,
          "after": 0.2966,
          "delta": -0.0094,
          "percent_delta": -0.0308,
          "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.398,
          "after": 0.3977,
          "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": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.2966,
          "delta": -0.0094,
          "percent_delta": -0.0308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.188,
        "after": 0.0,
        "delta": -0.188,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.016,
        "after": 0.0,
        "delta": -0.016,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.039,
        "after": 4.0,
        "delta": 0.961,
        "percent_delta": 0.3162,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.272,
        "after": 0.2255,
        "delta": -0.0465,
        "percent_delta": -0.171,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.281,
        "after": 0.0,
        "delta": -0.281,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.68,
        "after": 0.0,
        "delta": -0.68,
        "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.322,
        "after": 0.2966,
        "delta": -0.0254,
        "percent_delta": -0.0789,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.43,
        "after": 0.0,
        "delta": -0.43,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.33,
        "after": 0.0,
        "delta": -0.33,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.437,
        "after": 0.3977,
        "delta": -0.0393,
        "percent_delta": -0.0899,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.781,
        "after": 0.0,
        "delta": -0.781,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.039,
        "after": 4.0,
        "delta": 0.961,
        "percent_delta": 0.3162,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.781,
        "after": 0.0,
        "delta": -0.781,
        "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.188-
predicted_3B0.016-
predicted_AB3.039-
predicted_AVG0.272-
predicted_BB0.281-
predicted_H0.680-
predicted_HR0.090-
predicted_OBP0.322-
predicted_R0.430-
predicted_RBI0.330-
predicted_SLG0.437-
predicted_SO0.781-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2470.059
predicted_3B0.013-0.003
predicted_AB2.958-0.082
predicted_AVG0.256-0.016
predicted_BB0.2990.018
predicted_H0.677-0.003
predicted_HBP0.006-
predicted_HR0.079-0.011
predicted_OBP0.318-0.004
predicted_R0.4540.024
predicted_RBI0.3300.000
predicted_SLG0.431-0.006
predicted_SO0.735-0.046
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2470.000
predicted_3B0.0130.000
predicted_AB2.9580.000
predicted_AVG0.226-0.031
predicted_BB0.299-0.001
predicted_H0.667-0.010
predicted_HBP0.0060.000
predicted_HR0.0790.000
predicted_OBP0.297-0.021
predicted_R0.442-0.012
predicted_RBI0.321-0.009
predicted_SLG0.398-0.033
predicted_SO0.7360.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1740.174
3B0.0100.010
BB0.3400.340
H0.779-0.221
HR0.1250.125
RBI0.5410.541
SO0.967-0.033
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.174
3B0.000-0.010
AB3.0000.000
BB0.000-0.340
H0.000-0.779
HR0.000-0.125
R0.0000.000
RBI1.0000.459
SO1.0000.033
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.247
predicted_3B0.000-0.013
predicted_AB3.0000.042
predicted_AVG0.2300.005
predicted_BB0.000-0.299
predicted_H1.0000.333
predicted_HR0.000-0.079
predicted_OBP0.3060.009
predicted_R0.000-0.442
predicted_RBI0.000-0.321
predicted_SLG0.3980.000
predicted_SO1.0000.264
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
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: 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.0003.0000.0000.0000.0003.0002.0002.0000.30000.41670.60000.30000.00000.00000.20000.2000
last_100.2010-28.0004.0003.0000.0000.0001.0004.0003.0006.0000.14290.22580.25000.14290.00000.03570.10710.2143
season0.60128-389.00095.00024.0002.00014.00070.00055.00036.000100.0000.24420.30630.42420.24420.03600.17990.09250.2571
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3240
predicted_3B0.0090
predicted_AB2.8500
predicted_AVG0.2359
predicted_BB0.3240
predicted_H0.6720
predicted_HBP0.0060
predicted_HR0.0640
predicted_OBP0.3118
predicted_R0.4860
predicted_RBI0.3300
predicted_SLG0.4234
predicted_SO0.6730
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18800.32400.2466model_form_blend
predicted_3B0.01600.00900.0130model_form_blend
predicted_AB3.03902.85002.9575model_form_blend
predicted_AVG0.27200.23590.2564model_form_blend
predicted_BB0.28100.32400.2995model_form_blend
predicted_H0.68000.67200.6766model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.09000.06400.0788model_form_blend
predicted_OBP0.32200.31180.3176model_form_blend
predicted_R0.43000.48600.4541model_form_blend
predicted_RBI0.33000.33000.3300model_form_blend
predicted_SLG0.43700.42340.4311model_form_blend
predicted_SO0.78100.67300.7345model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date391
Season rows before report date391
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
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_AB2
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260909_PIT@CHW
game_typefull
mlbID643217
playerID643217
playerNameAndrew Benintendi
posDH
startedTrue
startingPositionDH
teamCHW
teamID6
game_date2026-09-09
sl_k_percent23.0
sl_bb_percent8.4
sl_woba0.316
sl_xwoba0.315
sl_xba0.247
sl_xslg0.411
sl_sweet_spot_percent36.4
sl_barrel_batted_rate8.9
sl_hard_hit_percent45.4
sl_exit_velocity_avg89.2
sl_launch_angle_avg17.2
sl_whiff_percent27.9
sl_swing_percent51.8
Jake Rogers (668670) · BATTER · C · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 17
All-history rows before 20260910: 17
System season_avg: 0.1740
Data season_avg (2026 season-to-date): 0.1064
Diff (system - data): 0.0676
System opponent_avg: 0.1740
System season_avg diverges from 2026 season-to-date by 0.0676. 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.0910.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0230.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.7503.0003.000Hitting_AB2.7653.0000.2350.000
predicted_AVG0.2050.0000.000Hitting_AVG0.1060.000-0.1060.000
predicted_BB0.3860.0000.000Hitting_BB0.4710.000-0.4710.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.4900.0000.000Hitting_H0.2940.000-0.2940.000
predicted_HR0.0900.0000.000Hitting_HR0.0590.000-0.0590.000
predicted_OBP0.2870.0000.000Hitting_OBP0.2360.000-0.2360.000
predicted_R0.3640.0000.000Hitting_R0.0590.000-0.0590.000
predicted_RBI0.2700.0000.000Hitting_RBI0.1180.000-0.1180.000
predicted_SLG0.3550.0000.000Hitting_SLG0.1700.000-0.1700.000
predicted_SO0.9551.0001.000Hitting_SO1.1182.000-0.118-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_AB: 2.7500 -> 3.0000 (boost 0.2500, better)
Biggest Deboostpredicted_H: 0.4900 -> 0.0000 (deboost -0.4900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AB: 2.7500 -> 2.8696 (boost 0.1196, better)predicted_AVG: 0.2050 -> 0.1967 (deboost -0.0083, worse)Final model input calibrated 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.3507 -> 0.3314 (deboost -0.0193, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62424predicted_H: 0.5109 -> 1.0000 (boost 0.4891, better)predicted_BB: 0.3826 -> 0.0000 (deboost -0.3826, worse)AB rounded to 3 (raw=2.87), rates preserved: AVG=0.174 HR/AB=0.035
6consistency_constraints10101-predicted_R: 0.3641 -> 0.0000 (deboost -0.3641, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_BB: 0.0000 -> 0.3511 (boost 0.3511, better)predicted_H: 1.0000 -> 0.6483 (deboost -0.3517, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation60615-predicted_H: 0.6483 -> 0.0000 (deboost -0.6483, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_AVG: 0.2150 -> 0.1781 (deboost -0.0369, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668670",
  "player_name": "Jake Rogers",
  "position": "C",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.091,
        "predicted_3B": 0.023,
        "predicted_AB": 2.75,
        "predicted_AVG": 0.205,
        "predicted_BB": 0.386,
        "predicted_H": 0.49,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.287,
        "predicted_R": 0.364,
        "predicted_RBI": 0.27,
        "predicted_SLG": 0.355,
        "predicted_SO": 0.955
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.099,
        "predicted_3B": 0.0198,
        "predicted_AB": 2.8696,
        "predicted_AVG": 0.1967,
        "predicted_BB": 0.3836,
        "predicted_H": 0.5183,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1004,
        "predicted_OBP": 0.2829,
        "predicted_R": 0.374,
        "predicted_RBI": 0.2943,
        "predicted_SLG": 0.3507,
        "predicted_SO": 0.9921
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.091,
          "after": 0.099,
          "delta": 0.008,
          "percent_delta": 0.0879,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0198,
          "delta": -0.0032,
          "percent_delta": -0.1391,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.75,
          "after": 2.8696,
          "delta": 0.1196,
          "percent_delta": 0.0435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.1967,
          "delta": -0.0083,
          "percent_delta": -0.0405,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.386,
          "after": 0.3836,
          "delta": -0.0024,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.49,
          "after": 0.5183,
          "delta": 0.0283,
          "percent_delta": 0.0578,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.1004,
          "delta": 0.0104,
          "percent_delta": 0.1156,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2829,
          "delta": -0.0041,
          "percent_delta": -0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.364,
          "after": 0.374,
          "delta": 0.01,
          "percent_delta": 0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.27,
          "after": 0.2943,
          "delta": 0.0243,
          "percent_delta": 0.09,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.355,
          "after": 0.3507,
          "delta": -0.0043,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.955,
          "after": 0.9921,
          "delta": 0.0371,
          "percent_delta": 0.0388,
          "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.75,
          "after": 2.8696,
          "delta": 0.1196,
          "percent_delta": 0.0435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.1967,
          "delta": -0.0083,
          "percent_delta": -0.0405,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 44
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.099,
        "predicted_3B": 0.0198,
        "predicted_AB": 2.8696,
        "predicted_AVG": 0.1781,
        "predicted_BB": 0.3826,
        "predicted_H": 0.5109,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1005,
        "predicted_OBP": 0.2748,
        "predicted_R": 0.3641,
        "predicted_RBI": 0.2865,
        "predicted_SLG": 0.3314,
        "predicted_SO": 0.9947
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.099,
          "after": 0.099,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0198,
          "after": 0.0198,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8696,
          "after": 2.8696,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1967,
          "after": 0.1781,
          "delta": -0.0186,
          "percent_delta": -0.0946,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3836,
          "after": 0.3826,
          "delta": -0.001,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5183,
          "after": 0.5109,
          "delta": -0.0074,
          "percent_delta": -0.0143,
          "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.1004,
          "after": 0.1005,
          "delta": 0.0001,
          "percent_delta": 0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2829,
          "after": 0.2748,
          "delta": -0.0081,
          "percent_delta": -0.0286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.374,
          "after": 0.3641,
          "delta": -0.0099,
          "percent_delta": -0.0265,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2943,
          "after": 0.2865,
          "delta": -0.0078,
          "percent_delta": -0.0265,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3507,
          "after": 0.3314,
          "delta": -0.0193,
          "percent_delta": -0.055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9921,
          "after": 0.9947,
          "delta": 0.0026,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3507,
          "after": 0.3314,
          "delta": -0.0193,
          "percent_delta": -0.055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.87), rates preserved: AVG=0.174 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.099,
          "after": 0.0,
          "delta": -0.099,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0198,
          "after": 0.0,
          "delta": -0.0198,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8696,
          "after": 3.0,
          "delta": 0.1304,
          "percent_delta": 0.0454,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3826,
          "after": 0.0,
          "delta": -0.3826,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5109,
          "after": 1.0,
          "delta": 0.4891,
          "percent_delta": 0.9573,
          "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.1005,
          "after": 0.0,
          "delta": -0.1005,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2865,
          "after": 0.0,
          "delta": -0.2865,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9947,
          "after": 1.0,
          "delta": 0.0053,
          "percent_delta": 0.0053,
          "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.5109,
          "after": 1.0,
          "delta": 0.4891,
          "percent_delta": 0.9573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3826,
          "after": 0.0,
          "delta": -0.3826,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3641,
          "after": 0.0,
          "delta": -0.3641,
          "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.3641,
          "after": 0.0,
          "delta": -0.3641,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.13,
        "predicted_3B": 0.0094,
        "predicted_BB": 0.3511,
        "predicted_H": 0.6483,
        "predicted_HR": 0.1002,
        "predicted_RBI": 0.3445,
        "predicted_SO": 1.0611
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.13,
          "delta": 0.13,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0094,
          "delta": 0.0094,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3511,
          "delta": 0.3511,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6483,
          "delta": -0.3517,
          "percent_delta": -0.3517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1002,
          "delta": 0.1002,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3445,
          "delta": 0.3445,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0611,
          "delta": 0.0611,
          "percent_delta": 0.0611,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3511,
          "delta": 0.3511,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6483,
          "delta": -0.3517,
          "percent_delta": -0.3517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.13,
          "after": 0.0,
          "delta": -0.13,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0094,
          "after": 0.0,
          "delta": -0.0094,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3511,
          "after": 0.0,
          "delta": -0.3511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6483,
          "after": 0.0,
          "delta": -0.6483,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1002,
          "after": 0.0,
          "delta": -0.1002,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3445,
          "after": 0.0,
          "delta": -0.3445,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0611,
          "after": 1.0,
          "delta": -0.0611,
          "percent_delta": -0.0576,
          "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.6483,
          "after": 0.0,
          "delta": -0.6483,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.215,
        "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.364,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.1781,
          "after": 0.215,
          "delta": 0.0369,
          "percent_delta": 0.2072,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2748,
          "after": 0.302,
          "delta": 0.0272,
          "percent_delta": 0.099,
          "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.3314,
          "after": 0.364,
          "delta": 0.0326,
          "percent_delta": 0.0984,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1781,
        "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.2748,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3314,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.1781,
          "delta": -0.0369,
          "percent_delta": -0.1718,
          "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.302,
          "after": 0.2748,
          "delta": -0.0272,
          "percent_delta": -0.0902,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.364,
          "after": 0.3314,
          "delta": -0.0326,
          "percent_delta": -0.0896,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.1781,
          "delta": -0.0369,
          "percent_delta": -0.1718,
          "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.023,
        "after": 0.0,
        "delta": -0.023,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.75,
        "after": 3.0,
        "delta": 0.25,
        "percent_delta": 0.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.205,
        "after": 0.1781,
        "delta": -0.0269,
        "percent_delta": -0.1312,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.386,
        "after": 0.0,
        "delta": -0.386,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.287,
        "after": 0.2748,
        "delta": -0.0122,
        "percent_delta": -0.0425,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.364,
        "after": 0.0,
        "delta": -0.364,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.355,
        "after": 0.3314,
        "delta": -0.0236,
        "percent_delta": -0.0665,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.955,
        "after": 1.0,
        "delta": 0.045,
        "percent_delta": 0.0471,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.75,
        "after": 3.0,
        "delta": 0.25,
        "percent_delta": 0.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "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.023-
predicted_AB2.750-
predicted_AVG0.205-
predicted_BB0.386-
predicted_H0.490-
predicted_HR0.090-
predicted_OBP0.287-
predicted_R0.364-
predicted_RBI0.270-
predicted_SLG0.355-
predicted_SO0.955-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0990.008
predicted_3B0.020-0.003
predicted_AB2.8700.120
predicted_AVG0.197-0.008
predicted_BB0.384-0.002
predicted_H0.5180.028
predicted_HBP0.017-
predicted_HR0.1000.010
predicted_OBP0.283-0.004
predicted_R0.3740.010
predicted_RBI0.2940.024
predicted_SLG0.351-0.004
predicted_SO0.9920.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.0990.000
predicted_3B0.0200.000
predicted_AB2.8700.000
predicted_AVG0.178-0.019
predicted_BB0.383-0.001
predicted_H0.511-0.007
predicted_HBP0.0170.000
predicted_HR0.1010.000
predicted_OBP0.275-0.008
predicted_R0.364-0.010
predicted_RBI0.286-0.008
predicted_SLG0.331-0.019
predicted_SO0.9950.003
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.87), rates preserved: AVG=0.174 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-
6. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1300.130
3B0.0090.009
BB0.3510.351
H0.648-0.352
HR0.1000.100
RBI0.3440.344
SO1.0610.061
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.130
3B0.000-0.009
AB3.0000.000
BB0.000-0.351
H0.000-0.648
HR0.000-0.100
R0.0000.000
RBI0.000-0.344
SO1.000-0.061
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.099
predicted_3B0.000-0.020
predicted_AB3.0000.130
predicted_AVG0.2150.037
predicted_BB0.000-0.383
predicted_H1.0000.489
predicted_HR0.000-0.101
predicted_OBP0.3020.027
predicted_R0.000-0.364
predicted_RBI0.000-0.286
predicted_SLG0.3640.033
predicted_SO1.0000.005
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 44
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.0002.0001.0002.0007.0000.11760.21050.29410.11770.05880.11770.11770.4118
last_100.2010-28.0006.0002.0000.0001.0003.0005.0004.00011.0000.21430.31250.39290.21430.03570.10710.14290.3929
season0.6044-121.00021.0004.0001.0004.00012.00016.00017.00042.0000.17360.27660.32230.17360.03310.09920.14050.3471
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1110
predicted_3B0.0150
predicted_AB3.0500
predicted_AVG0.1841
predicted_BB0.3800
predicted_H0.5610
predicted_HBP0.0170
predicted_HR0.1160
predicted_OBP0.2767
predicted_R0.3890
predicted_RBI0.3310
predicted_SLG0.3442
predicted_SO1.0480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09100.11100.0990model_form_blend
predicted_3B0.02300.01500.0198model_form_blend
predicted_AB2.75003.05002.8696model_form_blend
predicted_AVG0.20500.18410.1967model_form_blend
predicted_BB0.38600.38000.3836model_form_blend
predicted_H0.49000.56100.5183model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.09000.11600.1004model_form_blend
predicted_OBP0.28700.27670.2829model_form_blend
predicted_R0.36400.38900.3740model_form_blend
predicted_RBI0.27000.33100.2943model_form_blend
predicted_SLG0.35500.34420.3507model_form_blend
predicted_SO0.95501.04800.9921model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date17
Season rows before report date17
Report year2026
Profile rows used44
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_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_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
gameID20260823_NYM@CHW
game_typefull
mlbID668670
playerID668670
playerNameJake Rogers
posC
startedTrue
startingPositionC
teamCHW
teamID6
game_date2026-08-23
sl_k_percent29.2
sl_bb_percent12.4
sl_woba0.263
sl_xwoba0.269
sl_xba0.179
sl_xslg0.309
sl_sweet_spot_percent31.2
sl_barrel_batted_rate9.7
sl_hard_hit_percent37.6
sl_exit_velocity_avg88.4
sl_launch_angle_avg21.5
sl_whiff_percent25.9
sl_swing_percent42.9
Tristan Peters (671976) · BATTER · CF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 395
All-history rows before 20260910: 395
System season_avg: 0.2830
Data season_avg (2026 season-to-date): 0.2911
Diff (system - data): -0.0081
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.2260.0000.000Hitting_2B0.2510.000-0.2510.000
predicted_3B0.0300.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB3.3004.0003.000Hitting_AB3.2003.0000.8001.000
predicted_AVG0.2880.0000.333Hitting_AVG0.2910.333-0.291-0.333
predicted_BB0.2410.0000.000Hitting_BB0.2610.000-0.2610.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H0.9500.0001.000Hitting_H0.9321.000-0.932-1.000
predicted_HR0.0700.0000.000Hitting_HR0.0890.000-0.0890.000
predicted_OBP0.3530.0000.333Hitting_OBP0.3500.500-0.350-0.500
predicted_R0.4290.0000.000Hitting_R0.4630.000-0.4630.000
predicted_RBI0.3600.0000.000Hitting_RBI0.4840.000-0.4840.000
predicted_SLG0.4430.0000.333Hitting_SLG0.4700.333-0.470-0.333
predicted_SO0.5862.0001.000Hitting_SO0.5871.0001.4131.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.5860 -> 2.0000 (boost 1.4140, worse)
Biggest Deboostpredicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_SLG: 0.4430 -> 0.4609 (boost 0.0179, better)predicted_AB: 3.3000 -> 3.2439 (deboost -0.0561, worse)Final model input calibrated 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.3574 -> 0.3357 (deboost -0.0217, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82617predicted_SO: 0.5668 -> 1.0000 (boost 0.4332, worse)predicted_RBI: 0.3320 -> 0.0000 (deboost -0.3320, worse)AB rounded to 3 (raw=3.30), rates preserved: AVG=0.280 HR/AB=0.020
6consistency_constraints10101-predicted_R: 0.4298 -> 0.0000 (deboost -0.4298, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4199 (boost 0.4199, better)predicted_SO: 1.0000 -> 0.7284 (deboost -0.2716, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_SO: 0.7284 -> 1.0000 (boost 0.2716, worse)predicted_RBI: 0.4199 -> 0.0000 (deboost -0.4199, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2921 -> 0.2460 (deboost -0.0461, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_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
11current_json_final33030predicted_AVG: 0.2460 -> 0.2921 (boost 0.0461, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671976",
  "player_name": "Tristan Peters",
  "position": "CF",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.226,
        "predicted_3B": 0.03,
        "predicted_AB": 3.3,
        "predicted_AVG": 0.288,
        "predicted_BB": 0.241,
        "predicted_H": 0.95,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.353,
        "predicted_R": 0.429,
        "predicted_RBI": 0.36,
        "predicted_SLG": 0.443,
        "predicted_SO": 0.586
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2583,
        "predicted_3B": 0.0334,
        "predicted_AB": 3.2439,
        "predicted_AVG": 0.2966,
        "predicted_BB": 0.2134,
        "predicted_H": 0.9612,
        "predicted_HBP": 0.1,
        "predicted_HR": 0.0661,
        "predicted_OBP": 0.3574,
        "predicted_R": 0.4415,
        "predicted_RBI": 0.341,
        "predicted_SLG": 0.4609,
        "predicted_SO": 0.5653
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.226,
          "after": 0.2583,
          "delta": 0.0323,
          "percent_delta": 0.1429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.03,
          "after": 0.0334,
          "delta": 0.0034,
          "percent_delta": 0.1133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.3,
          "after": 3.2439,
          "delta": -0.0561,
          "percent_delta": -0.017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.288,
          "after": 0.2966,
          "delta": 0.0086,
          "percent_delta": 0.0299,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.241,
          "after": 0.2134,
          "delta": -0.0276,
          "percent_delta": -0.1145,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 0.9612,
          "delta": 0.0112,
          "percent_delta": 0.0118,
          "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.353,
          "after": 0.3574,
          "delta": 0.0044,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.429,
          "after": 0.4415,
          "delta": 0.0125,
          "percent_delta": 0.0291,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.36,
          "after": 0.341,
          "delta": -0.019,
          "percent_delta": -0.0528,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.443,
          "after": 0.4609,
          "delta": 0.0179,
          "percent_delta": 0.0404,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.586,
          "after": 0.5653,
          "delta": -0.0207,
          "percent_delta": -0.0353,
          "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.443,
          "after": 0.4609,
          "delta": 0.0179,
          "percent_delta": 0.0404,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.3,
          "after": 3.2439,
          "delta": -0.0561,
          "percent_delta": -0.017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 133
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2583,
        "predicted_3B": 0.0334,
        "predicted_AB": 3.2439,
        "predicted_AVG": 0.2921,
        "predicted_BB": 0.2128,
        "predicted_H": 0.9476,
        "predicted_HBP": 0.1,
        "predicted_HR": 0.0662,
        "predicted_OBP": 0.3357,
        "predicted_R": 0.4298,
        "predicted_RBI": 0.332,
        "predicted_SLG": 0.4535,
        "predicted_SO": 0.5668
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2583,
          "after": 0.2583,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0334,
          "after": 0.0334,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2439,
          "after": 3.2439,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2966,
          "after": 0.2921,
          "delta": -0.0045,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2134,
          "after": 0.2128,
          "delta": -0.0006,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9612,
          "after": 0.9476,
          "delta": -0.0136,
          "percent_delta": -0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.1,
          "after": 0.1,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0661,
          "after": 0.0662,
          "delta": 0.0001,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3574,
          "after": 0.3357,
          "delta": -0.0217,
          "percent_delta": -0.0607,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4415,
          "after": 0.4298,
          "delta": -0.0117,
          "percent_delta": -0.0265,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.341,
          "after": 0.332,
          "delta": -0.009,
          "percent_delta": -0.0264,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4609,
          "after": 0.4535,
          "delta": -0.0074,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5653,
          "after": 0.5668,
          "delta": 0.0015,
          "percent_delta": 0.0027,
          "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.3574,
          "after": 0.3357,
          "delta": -0.0217,
          "percent_delta": -0.0607,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.30), rates preserved: AVG=0.280 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2583,
          "after": 0.0,
          "delta": -0.2583,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0334,
          "after": 0.0,
          "delta": -0.0334,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2439,
          "after": 3.0,
          "delta": -0.2439,
          "percent_delta": -0.0752,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2128,
          "after": 0.0,
          "delta": -0.2128,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9476,
          "after": 1.0,
          "delta": 0.0524,
          "percent_delta": 0.0553,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.1,
          "after": 0.0,
          "delta": -0.1,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0662,
          "after": 0.0,
          "delta": -0.0662,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.332,
          "after": 0.0,
          "delta": -0.332,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5668,
          "after": 1.0,
          "delta": 0.4332,
          "percent_delta": 0.7643,
          "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.5668,
          "after": 1.0,
          "delta": 0.4332,
          "percent_delta": 0.7643,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.332,
          "after": 0.0,
          "delta": -0.332,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4298,
          "after": 0.0,
          "delta": -0.4298,
          "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.4298,
          "after": 0.0,
          "delta": -0.4298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1785,
        "predicted_3B": 0.0128,
        "predicted_BB": 0.2914,
        "predicted_H": 0.7892,
        "predicted_HR": 0.1066,
        "predicted_RBI": 0.4199,
        "predicted_SO": 0.7284
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1785,
          "delta": 0.1785,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0128,
          "delta": 0.0128,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2914,
          "delta": 0.2914,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7892,
          "delta": -0.2108,
          "percent_delta": -0.2108,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1066,
          "delta": 0.1066,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4199,
          "delta": 0.4199,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7284,
          "delta": -0.2716,
          "percent_delta": -0.2716,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4199,
          "delta": 0.4199,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7284,
          "delta": -0.2716,
          "percent_delta": -0.2716,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1785,
          "after": 0.0,
          "delta": -0.1785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0128,
          "after": 0.0,
          "delta": -0.0128,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2914,
          "after": 0.0,
          "delta": -0.2914,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7892,
          "after": 1.0,
          "delta": 0.2108,
          "percent_delta": 0.2671,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1066,
          "after": 0.0,
          "delta": -0.1066,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4199,
          "after": 0.0,
          "delta": -0.4199,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7284,
          "after": 1.0,
          "delta": 0.2716,
          "percent_delta": 0.3729,
          "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.7284,
          "after": 1.0,
          "delta": 0.2716,
          "percent_delta": 0.3729,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4199,
          "after": 0.0,
          "delta": -0.4199,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.409,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2921,
          "after": 0.246,
          "delta": -0.0461,
          "percent_delta": -0.1578,
          "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.3357,
          "after": 0.314,
          "delta": -0.0217,
          "percent_delta": -0.0646,
          "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.4535,
          "after": 0.409,
          "delta": -0.0445,
          "percent_delta": -0.0981,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2921,
          "after": 0.246,
          "delta": -0.0461,
          "percent_delta": -0.1578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2921,
        "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.3357,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4535,
        "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.246,
          "after": 0.2921,
          "delta": 0.0461,
          "percent_delta": 0.1874,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.314,
          "after": 0.3357,
          "delta": 0.0217,
          "percent_delta": 0.0691,
          "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.409,
          "after": 0.4535,
          "delta": 0.0445,
          "percent_delta": 0.1088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2921,
          "delta": 0.0461,
          "percent_delta": 0.1874,
          "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.226,
        "after": 0.0,
        "delta": -0.226,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.3,
        "after": 4.0,
        "delta": 0.7,
        "percent_delta": 0.2121,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.288,
        "after": 0.2921,
        "delta": 0.0041,
        "percent_delta": 0.0142,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.241,
        "after": 0.0,
        "delta": -0.241,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.353,
        "after": 0.3357,
        "delta": -0.0173,
        "percent_delta": -0.049,
        "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.36,
        "after": 0.0,
        "delta": -0.36,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.443,
        "after": 0.4535,
        "delta": 0.0105,
        "percent_delta": 0.0237,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.586,
        "after": 2.0,
        "delta": 1.414,
        "percent_delta": 2.413,
        "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.586,
        "after": 2.0,
        "delta": 1.414,
        "percent_delta": 2.413,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.226-
predicted_3B0.030-
predicted_AB3.300-
predicted_AVG0.288-
predicted_BB0.241-
predicted_H0.950-
predicted_HR0.070-
predicted_OBP0.353-
predicted_R0.429-
predicted_RBI0.360-
predicted_SLG0.443-
predicted_SO0.586-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2580.032
predicted_3B0.0330.003
predicted_AB3.244-0.056
predicted_AVG0.2970.009
predicted_BB0.213-0.028
predicted_H0.9610.011
predicted_HBP0.100-
predicted_HR0.066-0.004
predicted_OBP0.3570.004
predicted_R0.4420.013
predicted_RBI0.341-0.019
predicted_SLG0.4610.018
predicted_SO0.565-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.2580.000
predicted_3B0.0330.000
predicted_AB3.2440.000
predicted_AVG0.292-0.004
predicted_BB0.213-0.001
predicted_H0.948-0.014
predicted_HBP0.1000.000
predicted_HR0.0660.000
predicted_OBP0.336-0.022
predicted_R0.430-0.012
predicted_RBI0.332-0.009
predicted_SLG0.454-0.007
predicted_SO0.5670.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1780.178
3B0.0130.013
BB0.2910.291
H0.789-0.211
HR0.1070.107
RBI0.4200.420
SO0.728-0.272
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.178
3B0.000-0.013
AB3.0000.000
BB0.000-0.291
H1.0000.211
HR0.000-0.107
R0.0000.000
RBI0.000-0.420
SO1.0000.272
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.258
predicted_3B0.000-0.033
predicted_AB3.000-0.244
predicted_AVG0.246-0.046
predicted_BB0.000-0.213
predicted_H1.0000.052
predicted_HR0.000-0.066
predicted_OBP0.314-0.022
predicted_R0.000-0.430
predicted_RBI0.000-0.332
predicted_SLG0.409-0.045
predicted_SO1.0000.433
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 133
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.0003.0000.0000.0001.0003.0000.0002.0000.38890.42110.55560.38890.00000.05560.00000.1111
last_100.2010-31.00010.0003.0001.0000.0001.0004.0001.0004.0000.32260.38240.48390.32260.00000.03230.03230.1290
season0.60133-396.000112.00030.0004.00012.00053.00057.00032.00078.0000.28280.34400.46970.28280.03030.13380.08080.1970
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3010
predicted_3B0.0380
predicted_AB3.1700
predicted_AVG0.3079
predicted_BB0.1770
predicted_H0.9760
predicted_HBP0.1000
predicted_HR0.0610
predicted_OBP0.3631
predicted_R0.4580
predicted_RBI0.3160
predicted_SLG0.4844
predicted_SO0.5380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22600.30100.2583model_form_blend
predicted_3B0.03000.03800.0334model_form_blend
predicted_AB3.30003.17003.2439model_form_blend
predicted_AVG0.28800.30790.2966model_form_blend
predicted_BB0.24100.17700.2134model_form_blend
predicted_H0.95000.97600.9612model_form_blend
predicted_HBP-0.10000.1000form_only
predicted_HR0.07000.06100.0661model_form_blend
predicted_OBP0.35300.36310.3574model_form_blend
predicted_R0.42900.45800.4415model_form_blend
predicted_RBI0.36000.31600.3410model_form_blend
predicted_SLG0.44300.48440.4609model_form_blend
predicted_SO0.58600.53800.5653model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP1
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20260909_PIT@CHW
game_typefull
mlbID671976
playerID671976
playerNameTristan Peters
posCF
startedTrue
startingPositionCF
teamCHW
teamID6
game_date2026-09-09
sl_k_percent17.6
sl_bb_percent7.5
sl_woba0.355
sl_xwoba0.319
sl_xba0.257
sl_xslg0.401
sl_sweet_spot_percent34.5
sl_barrel_batted_rate5.9
sl_hard_hit_percent34.0
sl_exit_velocity_avg87.5
sl_launch_angle_avg18.1
sl_whiff_percent23.4
sl_swing_percent54.1
Hagen Smith (696146) · PITCHER · Starter · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 10
All-history rows before 20260910: 10

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.0000.0001.0002.000
predicted_ER1.0001.0001.000Pitching_ER0.1000.0000.9001.000
predicted_H4.0004.0004.000Pitching_H0.5000.0003.5004.000
predicted_IP4.2004.2004.200Pitching_InningsPitched1.4603.0002.7401.200
predicted_SO4.0004.0004.000Pitching_SO2.3004.0001.7000.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": "696146",
  "player_name": "Hagen Smith",
  "position": "Starter",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.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": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 4.2,
        "predicted_R": 1.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": 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": 4.6667,
          "after": 4.2,
          "delta": -0.4667,
          "percent_delta": -0.1,
          "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": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 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": 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": 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_BB2.000-
predicted_ER1.000-
predicted_H4.000-
predicted_HR1.000-
predicted_IP4.667-
predicted_SO4.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.45510.0000.0004.0004.00013.0000.0000.00000.80000.00000.40000.40001.30000.0000
last_100.35916.0000.0004.00010.00023.0000.0000.00000.87500.00000.25000.62501.43750.0000
season0.20916.0000.0004.00010.00023.0000.0000.00000.87500.00000.25000.62501.43750.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB1.4870
predicted_ER1.0910
predicted_ERA2.7504
predicted_H2.5910
predicted_HR0.3190
predicted_IP3.2000
predicted_SO3.9340
predicted_WHIP1.1421
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.48701.7982model_form_blend
predicted_ER1.00001.09101.0358model_form_blend
predicted_ERA-2.75042.7504form_only
predicted_H4.00002.59103.4459model_form_blend
predicted_HR1.00000.31900.7322model_form_blend
predicted_IP4.20003.20004.1000model_form_blend
predicted_SO4.00003.93403.9740model_form_blend
predicted_WHIP-1.14211.1421form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.2
H4
R1
ER1
BB2
SO4
HR1
BF20
Pitches86

Latest Real Data Snapshot (before report date)

Latest 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 Faced9
Pitching_ER0
Pitching_ERA0.56
Pitching_Flyouts2
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches35
Pitching_R0
Pitching_SO4
Pitching_Strikes27
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260906_MIN@CHW
game_typefull
mlbID696146
playerID696146
playerNameHagen Smith
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-09-06
sl_k_percent37.1
sl_bb_percent16.1
sl_woba0.209
sl_xwoba0.264
sl_sweet_spot_percent34.5
sl_barrel_batted_rate3.4
sl_hard_hit_percent34.5
sl_whiff_percent35.3
sl_swing_percent43.0
sl_avg_best_speed78.827155714
sl_avg_hyper_speed94.145035357
Grant Taylor (691799) · PITCHER · Closer · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 41
All-history rows before 20260910: 41

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4390.000-0.4390.000
predicted_ER2.0002.0002.000Pitching_ER0.3660.0001.6342.000
predicted_H1.0000.0001.000Pitching_H0.9762.000-0.976-2.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2661.200-0.166-0.100
predicted_SO1.0001.0001.000Pitching_SO1.8541.000-0.8540.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "691799",
  "player_name": "Grant Taylor",
  "position": "Closer",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 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": 2.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER2.000-
predicted_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: 41
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4558.0000.0004.0001.0009.0000.0000.00000.62500.00000.50000.12501.12500.0000
last_100.351015.0002.0005.0006.00016.0001.0001.20000.73330.13330.33330.40001.06670.0667
season0.204156.10015.00040.00018.00076.0004.0002.39641.02960.26630.71010.31951.34910.0710
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4230
predicted_ER0.3210
predicted_ERA2.0071
predicted_H0.9100
predicted_HR0.1020
predicted_IP1.1000
predicted_SO1.5600
predicted_WHIP0.9273
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.42300.2204model_form_blend
predicted_ER2.00000.32101.1253model_form_blend
predicted_ERA-2.00712.0071form_only
predicted_H0.00000.91000.4741model_form_blend
predicted_HR0.00000.10200.0531model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.56001.2917model_form_blend
predicted_WHIP-0.92730.9273form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R2
ER2
BB0
SO1
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA2.40
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.2
Pitching_Pitches22
Pitching_R0
Pitching_SO1
Pitching_Strikes16
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260802_CHW@TB
game_typefull
mlbID691799
playerID691799
playerNameGrant Taylor
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-08-02
game_pk822943.0
sl_k_percent32.4
sl_bb_percent8.7
sl_woba0.254
sl_xwoba0.259
sl_sweet_spot_percent28.0
sl_barrel_batted_rate7.5
sl_hard_hit_percent41.1
sl_whiff_percent28.6
sl_swing_percent46.4
sv_pitch_count22.0
sv_outs_recorded_est5.0
sv_release_speed88.12727272727273
sv_release_spin_rate2356.681818181818
sv_effective_speed88.98181818181818
sv_launch_speed86.17
sv_launch_angle-1.4
sv_woba_value1.8
sv_woba_denom6.0
sv_delta_run_exp-0.38
sv_delta_home_win_exp-0.037
sl_avg_best_speed79.977227241
sl_avg_hyper_speed94.132710983
Sean Newcomb (656794) · PITCHER · Setup Man · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 47
All-history rows before 20260910: 47

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5742.000-0.574-2.000
predicted_ER1.0001.0001.000Pitching_ER0.4040.0000.5961.000
predicted_H1.0001.0001.000Pitching_H1.0640.000-0.0641.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2812.000-0.181-0.900
predicted_SO0.0000.0000.000Pitching_SO1.3620.000-1.3620.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 46
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4558.0000.0001.0005.0006.0000.0000.00000.75000.00000.12500.62500.75000.0000
last_100.351014.0004.0009.0007.0009.0001.0002.57141.14290.28570.64290.50000.64290.0714
season0.204670.00019.00048.00027.00064.0002.0002.44291.07140.27140.68570.38570.91430.0286
Weighted Prediction From Real Data
MetricValue
predicted_BB0.7330
predicted_ER0.3670
predicted_ERA2.2089
predicted_H0.8410
predicted_HR0.0910
predicted_IP1.1000
predicted_SO1.1890
predicted_WHIP1.0545
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.73300.3955model_form_blend
predicted_ER1.00000.36700.6585model_form_blend
predicted_ERA-2.20892.2089form_only
predicted_H1.00000.84100.9142model_form_blend
predicted_HR1.00000.09100.5095model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO0.00001.18900.6415model_form_blend
predicted_WHIP-1.05451.0545form_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 date47
Season rows before report date47
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.1
H1
R1
ER1
BB0
SO0
HR1
BF5
Pitches20

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER0
Pitching_ERA2.44
Pitching_Flyouts2
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches34
Pitching_R0
Pitching_SO0
Pitching_Strikes20
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260819_CHW@CHC
game_typefull
mlbID656794
playerID656794
playerNameSean Newcomb
posP
startedTrue
startingPositionP
teamCHW
teamID6
game_date2026-08-19
game_pk824640.0
sl_k_percent21.8
sl_bb_percent8.6
sl_woba0.27
sl_xwoba0.305
sl_sweet_spot_percent32.3
sl_barrel_batted_rate5.2
sl_hard_hit_percent36.7
sl_whiff_percent23.0
sl_swing_percent45.7
sv_pitch_count34.0
sv_outs_recorded_est6.0
sv_release_speed92.27058823529411
sv_release_spin_rate2447.823529411765
sv_effective_speed91.21764705882352
sv_launch_speed80.21428571428571
sv_launch_angle35.142857142857146
sv_woba_value1.4
sv_woba_denom7.0
sv_delta_run_exp-0.539
sv_delta_home_win_exp-0.099
sl_avg_best_speed77.128506577
sl_avg_hyper_speed93.75806455
Bryan Hudson (663542) · PITCHER · Middle Reliever (High Leverage) · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 61
All-history rows before 20260910: 61

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2790.000-0.2790.000
predicted_ER0.0000.0000.000Pitching_ER0.3280.000-0.3280.000
predicted_H0.0000.0000.000Pitching_H0.9021.000-0.902-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8661.0000.1340.000
predicted_SO2.0002.0002.000Pitching_SO0.9020.0001.0982.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "663542",
  "player_name": "Bryan Hudson",
  "position": "Middle Reliever (High Leverage)",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 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: 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.2000.0004.0000.0003.0000.0000.00000.70590.00000.70590.00000.52940.0000
last_100.351010.2002.0008.0000.0009.0002.0001.68750.75000.18750.75000.00000.84380.1875
season0.206059.10017.00052.00017.00055.0004.0002.57871.16290.28650.87640.28650.92700.0674
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1500
predicted_ER0.2350
predicted_ERA2.1140
predicted_H0.8200
predicted_HR0.0990
predicted_IP1.0000
predicted_SO0.7840
predicted_WHIP0.9694
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.15000.0788model_form_blend
predicted_ER0.00000.23500.1235model_form_blend
predicted_ERA-2.11402.1140form_only
predicted_H0.00000.82000.4309model_form_blend
predicted_HR0.00000.09900.0520model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.78401.3610model_form_blend
predicted_WHIP-0.96940.9694form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
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 Faced4
Pitching_ER0
Pitching_ERA3.03
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260904_MIN@CHW
game_typefull
mlbID663542
playerID663542
playerNameBryan Hudson
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-09-04
sl_k_percent22.5
sl_bb_percent6.7
sl_woba0.285
sl_xwoba0.263
sl_sweet_spot_percent28.2
sl_barrel_batted_rate3.4
sl_hard_hit_percent36.8
sl_whiff_percent23.9
sl_swing_percent47.9
sl_avg_best_speed76.982902824
sl_avg_hyper_speed93.214193846
Jordan Hicks (663855) · PITCHER · Middle Reliever (High Leverage) · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 43
All-history rows before 20260910: 43

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5810.000-0.5810.000
predicted_ER0.0000.0000.000Pitching_ER0.3953.000-0.395-3.000
predicted_H2.0002.0002.000Pitching_H0.8374.0001.163-2.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.7841.000-0.584-0.800
predicted_SO0.0000.0000.000Pitching_SO1.1402.000-1.140-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 0.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": "663855",
  "player_name": "Jordan Hicks",
  "position": "Middle Reliever (High Leverage)",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 2.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": 2.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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.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_H2.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: 42
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.0004.0006.0003.0009.0001.0006.00001.50000.66671.00000.50001.50000.1667
last_100.351010.0006.00013.0004.00014.0002.0005.40001.70000.60001.30000.40001.40000.2000
season0.204240.00017.00035.00025.00049.0003.0003.82501.50000.42500.87500.62501.22500.0750
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4290
predicted_ER0.5400
predicted_ERA5.0381
predicted_H1.0030
predicted_HR0.1500
predicted_IP1.0000
predicted_SO1.1870
predicted_WHIP1.4838
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.42900.2095model_form_blend
predicted_ER0.00000.54000.2637model_form_blend
predicted_ERA-5.03815.0381form_only
predicted_H2.00001.00301.5131model_form_blend
predicted_HR0.00000.15000.0733model_form_blend
predicted_IP0.20001.00000.2000model_form_blend
predicted_SO0.00001.18700.5797model_form_blend
predicted_WHIP-1.48381.4838form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H2
R0
ER0
BB0
SO0
HR0
BF4
Pitches14

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER3
Pitching_ERA3.83
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches24
Pitching_R3
Pitching_SO2
Pitching_Strikes19
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260825_TEX@CHW
game_typefull
mlbID663855
playerID663855
playerNameJordan Hicks
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-08-25
sl_k_percent28.2
sl_bb_percent14.9
sl_woba0.319
sl_xwoba0.268
sl_sweet_spot_percent27.3
sl_barrel_batted_rate1.8
sl_hard_hit_percent35.5
sl_whiff_percent26.8
sl_swing_percent44.5
sl_avg_best_speed78.912907593
sl_avg_hyper_speed93.774369065

20260910_TB@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": 6, "home_runs": 5, "confidence": 0.5058023975, "home_win_probability": 0.4941976025, "away_win_probability": 0.5058023975, "predicted_score_text": "TB 6 - 5 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": "TB", "original_runs": 5, "run_delta": 0.2326, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": -0.07698226141619705, "contact": -0.018499109148689893, "power": -0.2570354559553909, "discipline": 0.23121067791925737, "xwoba": 0.304375, "recent_xwoba": 0.304375, "barrel": 5.290625, "ab_hard_contact": -0.2933043572030537, "ab_bat_speed": 70.6030430685325, "ab_strikeout_rate": 0.1791623733845977, "available_players": 9, "top_players": [{"player_id": "691406", "player_name": "Junior Caminero", "position": "3B", "weight": 4.0, "quality": 1.0517434662009866, "contact": 1.1525193661434467, "power": 1.3602179288740148, "discipline": 0.5047408748445616, "xwoba": 0.365, "recent_xwoba": 0.365, "barrel": 13.0, "ab_hard_contact": 0.5315966727183893, "ab_bat_speed": 78.63730939580134, "ab_strikeout_rate": 0.19477726574500767, "available": 1.0}, {"player_id": "802415", "player_name": "Chandler Simpson", "position": "LF", "weight": 4.0, "quality": -0.9335960773953023, "contact": -0.691241083007281, "power": -1.541287322335157, "discipline": 0.4346515160636528, "xwoba": 0.262, "recent_xwoba": 0.262, "barrel": 0.0, "ab_hard_contact": -1.562889303846, "ab_bat_speed": 61.57109367913832, "ab_strikeout_rate": 0.081795195954488, "available": 1.0}, {"player_id": "650490", "player_name": "Yandy Díaz", "position": "DH", "weight": 4.0, "quality": 0.8561629750234949, "contact": 1.2471924964548713, "power": 0.6650436803924057, "discipline": 0.6018514739229026, "xwoba": 0.356, "recent_xwoba": 0.356, "barrel": 7.5, "ab_hard_contact": 0.7705878935624079, "ab_bat_speed": 72.87990694444444, "ab_strikeout_rate": 0.14166666666666666, "available": 1.0}, {"player_id": "676356", "player_name": "Jonny DeLuca", "position": "RF", "weight": 4.0, "quality": -0.7597884049199508, "contact": -0.790872584662387, "power": -0.8239174554008767, "discipline": -0.4751424898597934, "xwoba": 0.265, "recent_xwoba": 0.265, "barrel": 3.3, "ab_hard_contact": 0.08279374912533205, "ab_bat_speed": 71.49018276324614, "ab_strikeout_rate": 0.21208920187793429, "available": 1.0}, {"player_id": "656775", "player_name": "Cedric Mullins", "position": "CF", "weight": 3.0, "quality": -0.7044052732407395, "contact": -0.9331868664266902, "power": -0.7507542714209161, "discipline": 0.2226033054247343, "xwoba": 0.267, "recent_xwoba": 0.267, "barrel": 4.3, "ab_hard_contact": -0.9392759046088004, "ab_bat_speed": 67.27801797161172, "ab_strikeout_rate": 0.2110576923076923, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "527048", "player_name": "Martín Pérez", "quality": -0.358463728952401, "contact": -0.031100714133072464, "command": -0.5908860028860029, "movement": -1.2600267888250734, "xwoba": 0.334, "whiff": 21.9, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}, "home": {"team": "ATL", "original_runs": 4, "run_delta": 0.5776, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": 0.3740736952287549, "contact": 0.3122816592328712, "power": 0.49436389200178255, "discipline": -0.031030750254022698, "xwoba": 0.3270625, "recent_xwoba": 0.3270625, "barrel": 9.578124999999998, "ab_hard_contact": 0.5258552209880365, "ab_bat_speed": 72.13238215504268, "ab_strikeout_rate": 0.24886638659189136, "available_players": 9, "top_players": [{"player_id": "621566", "player_name": "Matt Olson", "position": "1B", "weight": 4.0, "quality": 0.9914342590506432, "contact": 0.81882628505918, "power": 1.594691442738378, "discipline": -0.0253961451247164, "xwoba": 0.353, "recent_xwoba": 0.353, "barrel": 14.9, "ab_hard_contact": 1.534019330958046, "ab_bat_speed": 73.48883533333334, "ab_strikeout_rate": 0.24862857142857142, "available": 1.0}, {"player_id": "686948", "player_name": "Drake Baldwin", "position": "C", "weight": 4.0, "quality": 1.0046380106662904, "contact": 1.0941665952162374, "power": 1.2630405443165735, "discipline": 0.09366446513880661, "xwoba": 0.363, "recent_xwoba": 0.363, "barrel": 12.6, "ab_hard_contact": 1.1773823149029108, "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": 4.0, "quality": 0.783035529949537, "contact": 0.7381497187287362, "power": 1.0688731794195048, "discipline": 0.18826014972198932, "xwoba": 0.36400000000000005, "recent_xwoba": 0.364, "barrel": 12.4, "ab_hard_contact": 0.6178445407710478, "ab_bat_speed": 73.89358447488584, "ab_strikeout_rate": 0.23675799086757993, "available": 1.0}, {"player_id": "673490", "player_name": "Ha-Seong Kim", "position": "SS", "weight": 3.0, "quality": -0.4862526756022578, "contact": -1.9040452410451278, "power": -1.5845391431127545, "discipline": 0.02059750566893445, "xwoba": 0.212, "recent_xwoba": 0.212, "barrel": 2.9, "ab_hard_contact": -0.9208781003503277, "ab_bat_speed": 70.12817708333334, "ab_strikeout_rate": 0.25277777777777777, "available": 1.0}, {"player_id": "671739", "player_name": "Michael Harris II", "position": "CF", "weight": 4.0, "quality": 0.6719270687703781, "contact": 0.8783840044485501, "power": 0.9345878612020099, "discipline": -0.5554193089665242, "xwoba": 0.34, "recent_xwoba": 0.34, "barrel": 10.5, "ab_hard_contact": 0.769471509754485, "ab_bat_speed": 73.5432571125908, "ab_strikeout_rate": 0.1992231638418079, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "607259", "player_name": "Nick Martinez", "quality": -0.20602291139600254, "contact": 0.23036940107288048, "command": -0.6871717171717172, "movement": -0.9040355133566291, "xwoba": 0.316, "whiff": 17.7, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}}, "fundamental_edge_target_review": {"applied": true, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 5, "home_runs": 5, "winner_side": "tie"}, "adjusted_score": {"away_runs": 6, "home_runs": 5, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": 0.0579, "recent_form_edge_home_minus_away": -0.766, "pitcher_matchup_edge_home_minus_away": -0.0252, "composite_home_edge": -0.2151, "existing_home_win_probability": 0.492, "refreshed_home_win_probability": 0.3941, "winner_support_before_review": 0.0}, "reasons": ["resolved tied target with refreshed season/recent/pitcher support"]}, "uncapped_home_win_probability": 0.491969, "uncapped_away_win_probability": 0.508031, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.508031, "discount_factor": 0.7225, "published_confidence": 0.505802, "guardrail_confidence_cap": 0.58, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.394081, "incoming_favoured_side": "away", "score_winner_side": "away", "published_home_win_probability": 0.494198, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 6, "home_runs": 5, "predicted_score_text": "TB 6 - 5 ATL", "confidence": 0.5058023975, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 6, "home_runs": 5, "score_text": "TB 6 - 5 ATL", "winner": "TB"}, "final_simulation_score": {"away_runs": 6, "home_runs": 5, "score_text": "TB 6 - 5 ATL", "winner": "TB"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": true, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.0252, "recent_form_edge_home_minus_away": -0.766, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 6, "home_runs": 5, "winner": "TB", "model_winner": "TB", "simulation_winner": "TB", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 2, "published_winner": "TB", "published_winner_draw_share": 0.5, "draw_majority_team": null, "published_winner_is_draw_majority": false, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": true, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 6, "home_runs": 5}, "simulation_score": {"away_runs": 6, "home_runs": 5}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": -0.0579, "winner": "TB", "score_reviewed": {"away_runs": 6, "home_runs": 5, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "TB", "display_confidence": 0.5058, "internal_signal_score": 0.5535, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5058, "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": 1, "winner_quality_edge": -0.0579, "winner_recent_form_edge": 0.416, "winner_pitcher_matchup_edge": 0.0252, "winner_simulation_draw_rate": 0.5, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.5, "low_total_draw_rate_6_or_less": 0.0, "total_runs_spread": {"min": 10, "median": 11, "max": 11, "range": 1}}, "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 predictionTB 6 - 5 ATLTB0.506enhanced_prediction.pre_simulation_targetTrue
Simulation drawTB 6 - 5 ATLTB-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.5420; weight=0.5000; final=0.5261
P1H2H margin as base featureavailablehome net=-11; abs=11; home delta=-0.0825; away delta=0.0825
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=1.7500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=0.3130; recent edge=-0.4160; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.2000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5058
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.2174.677-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction540.5058Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4embedded_savant_run_environment55-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review65-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target65-Capped at max 12 realistic runs
7simulation_result65-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.751513732804185,
  "base_low_score_probability": 0.4302528334786399,
  "low_score_signal_threshold": 0.5102528334786399,
  "low_score_signal_strength": 0.3212608993255451,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.1566800000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.04,
    "combined": 1.7466793344000004
  },
  "prediction": "low_scoring",
  "expected_total_runs": 11,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.2,
  "low_score_model_expected_total_runs": 6.2,
  "final_simulation_total_runs": 11,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 417,
  "near_bucket_sample_size": 417,
  "medium_bucket_sample_size": 573,
  "wide_bucket_sample_size": 653,
  "global_sample_size": 882,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.542,
  "bayesian_hit_rate": 0.5402,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5,
  "raw_pick_probability_unclamped": 0.4553,
  "score_probability_conflict": true,
  "margin_implied_home_probability": 0.4917,
  "margin_implied_pick_probability": 0.5083,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5037,
  "score_implied_floor_pick_probability": 0.508,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.544655,
  "uncapped_away_win_probability": 0.455345,
  "calibrated_pick_probability": 0.508,
  "predicted_side": "away",
  "reliability": 0.958621,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.973103
}
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": 417,
  "empirical_hit_rate": 0.542,
  "empirical_weight": 0.5,
  "blended_confidence": 0.52605,
  "published_confidence": 0.505802,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 2,
  "sample_weight": 0.03,
  "home_net_margin": -11.0,
  "absolute_net_margin": 11.0,
  "home_average_margin": -5.5,
  "home_run_delta": -0.0825,
  "away_run_delta": 0.0825,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -5.0
    },
    {
      "game_id": null,
      "home_margin": -6.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": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5821917808219178,
    "runs_scored": 668,
    "runs_allowed": 560,
    "run_differential": 108,
    "run_differential_per_game": 0.7397260273972602,
    "available": true
  },
  "away": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661,
    "runs_allowed": 603,
    "run_differential": 58,
    "run_differential_per_game": 0.4,
    "available": true
  },
  "run_differential_edge_per_game": 0.3397,
  "win_pct_edge": -0.0178,
  "quality_edge": 0.0579,
  "season_quality_edge": 0.313,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": 0.313,
    "recent_quality_edge": -0.416,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": 0.0579
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.024360820932009447
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.023144198584839803
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.022789331985863748
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.022597901459634487
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.02232794698631229
    }
  ],
  "home_distribution": {
    "0": 0.0497635854452591,
    "1": 0.08208954949539926,
    "2": 0.11751138575978672,
    "3": 0.1459781615787147,
    "4": 0.1573662873322632,
    "5": 0.14721476650589832,
    "6": 0.11951073485848493,
    "7": 0.08419345386321357,
    "8": 0.05147135504639245,
    "9": 0.027306670147420175,
    "10": 0.01257151892616798,
    "11": 0.005022531040999569
  },
  "away_distribution": {
    "0": 0.04762668073788504,
    "1": 0.07869953036841125,
    "2": 0.11324031450621314,
    "3": 0.1418851989509612,
    "4": 0.15480330218742472,
    "5": 0.1470721523471742,
    "6": 0.12167119578203887,
    "7": 0.08765005741444432,
    "8": 0.054982405189111655,
    "9": 0.030033252238976575,
    "10": 0.01428525817401203,
    "11": 0.005916718730990085,
    "12": 0.002133933372357095
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.75,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.58,
  "winner_flipped": false,
  "reasons": [
    "local prediction memory shows 2 straight prior same-side picks"
  ],
  "signals": {
    "predicted_team": "TB",
    "opponent_team": "ATL",
    "h2h_net_margin": 11,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": false,
    "recent_h2h": [
      {
        "date": "2026-09-09",
        "predicted_team_runs": 7,
        "opponent_runs": 2,
        "margin_for_predicted_team": 5,
        "winner": "TB"
      },
      {
        "date": "2026-09-08",
        "predicted_team_runs": 7,
        "opponent_runs": 1,
        "margin_for_predicted_team": 6,
        "winner": "TB"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 2,
      "consecutive_same_pick_count": 2,
      "same_pick_actual_loss_count": 0,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260909",
          "away": "TB",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "TB",
          "actual_winner": "TB",
          "actual_margin": 5,
          "raw_pick_probability": 0.5771740000000001,
          "artifact": "20260909_TB@ATL.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260908",
          "away": "TB",
          "home": "ATL",
          "game_number": 1,
          "predicted_team": "TB",
          "actual_winner": "TB",
          "actual_margin": 6,
          "raw_pick_probability": 0.5215080000000001,
          "artifact": "20260908_TB@ATL.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "TB",
    "guardrail_opponent_team": "ATL",
    "output_pre_simulation_winner": "TB",
    "output_opponent_team": "ATL",
    "simulation_score_winner": "TB",
    "final_score_winner": "TB",
    "pre_simulation_winner": "TB",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": false,
  "flip_authority": "caps_confidence_and_shifts_runs_only",
  "final_prediction_sync": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "TB 6 - 5 ATL",
      "winner": "TB"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "TB 6 - 5 ATL",
      "winner": "TB"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": true,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0252,
      "recent_form_edge_home_minus_away": -0.766,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 5,
      "winner": "TB",
      "model_winner": "TB",
      "simulation_winner": "TB",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "TB",
        "published_winner_draw_share": 0.5,
        "draw_majority_team": null,
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": true,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": -0.0579,
      "winner": "TB",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "ATL",
      "games": 146,
      "wins": 85,
      "losses": 61,
      "win_pct": 0.5821917808219178,
      "runs_scored": 668,
      "runs_allowed": 560,
      "run_differential": 108,
      "run_differential_per_game": 0.7397260273972602,
      "available": true
    },
    "away": {
      "team": "TB",
      "games": 145,
      "wins": 87,
      "losses": 58,
      "win_pct": 0.6,
      "runs_scored": 661,
      "runs_allowed": 603,
      "run_differential": 58,
      "run_differential_per_game": 0.4,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.1,
  "final_margin": -0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.0579,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.52605,
  "final_confidence": 0.508,
  "calibrated_pick_probability": 0.508,
  "shrinkage_weight": 0.973103,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 417,
  "calibration_empirical_hit_rate": 0.542,
  "calibration_bayesian_hit_rate": 0.5402,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.0579,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 5,
      "home_runs": 4
    },
    "margin": -1,
    "probability_before": 0.491969,
    "margin_implied_home_probability": 0.418049,
    "shrinkage_weight": 0.973103,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.491969,
    "aligned_pick_probability": 0.508031
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 27,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 6,
    "home_runs": 5,
    "score_text": "TB 6 - 5 ATL",
    "winner": "TB"
  },
  "final_simulation_score": {
    "away_runs": 6,
    "home_runs": 5,
    "score_text": "TB 6 - 5 ATL",
    "winner": "TB"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": true,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.0252,
    "recent_form_edge_home_minus_away": -0.766,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 6,
    "home_runs": 5,
    "winner": "TB",
    "model_winner": "TB",
    "simulation_winner": "TB",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 2,
      "published_winner": "TB",
      "published_winner_draw_share": 0.5,
      "draw_majority_team": null,
      "published_winner_is_draw_majority": false,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": true,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 6,
      "home_runs": 5
    },
    "simulation_score": {
      "away_runs": 6,
      "home_runs": 5
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": -0.0579,
    "winner": "TB",
    "score_reviewed": {
      "away_runs": 6,
      "home_runs": 5,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 6,
  "home_runs": 5,
  "confidence": 0.5058023975,
  "home_win_probability": 0.4941976025,
  "away_win_probability": 0.5058023975,
  "predicted_score_text": "TB 6 - 5 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": "TB",
      "original_runs": 5,
      "run_delta": 0.2326,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": -0.07698226141619705,
        "contact": -0.018499109148689893,
        "power": -0.2570354559553909,
        "discipline": 0.23121067791925737,
        "xwoba": 0.304375,
        "recent_xwoba": 0.304375,
        "barrel": 5.290625,
        "ab_hard_contact": -0.2933043572030537,
        "ab_bat_speed": 70.6030430685325,
        "ab_strikeout_rate": 0.1791623733845977,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "691406",
            "player_name": "Junior Caminero",
            "position": "3B",
            "weight": 4.0,
            "quality": 1.0517434662009866,
            "contact": 1.1525193661434467,
            "power": 1.3602179288740148,
            "discipline": 0.5047408748445616,
            "xwoba": 0.365,
            "recent_xwoba": 0.365,
            "barrel": 13.0,
            "ab_hard_contact": 0.5315966727183893,
            "ab_bat_speed": 78.63730939580134,
            "ab_strikeout_rate": 0.19477726574500767,
            "available": 1.0
          },
          {
            "player_id": "802415",
            "player_name": "Chandler Simpson",
            "position": "LF",
            "weight": 4.0,
            "quality": -0.9335960773953023,
            "contact": -0.691241083007281,
            "power": -1.541287322335157,
            "discipline": 0.4346515160636528,
            "xwoba": 0.262,
            "recent_xwoba": 0.262,
            "barrel": 0.0,
            "ab_hard_contact": -1.562889303846,
            "ab_bat_speed": 61.57109367913832,
            "ab_strikeout_rate": 0.081795195954488,
            "available": 1.0
          },
          {
            "player_id": "650490",
            "player_name": "Yandy Díaz",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.8561629750234949,
            "contact": 1.2471924964548713,
            "power": 0.6650436803924057,
            "discipline": 0.6018514739229026,
            "xwoba": 0.356,
            "recent_xwoba": 0.356,
            "barrel": 7.5,
            "ab_hard_contact": 0.7705878935624079,
            "ab_bat_speed": 72.87990694444444,
            "ab_strikeout_rate": 0.14166666666666666,
            "available": 1.0
          },
          {
            "player_id": "676356",
            "player_name": "Jonny DeLuca",
            "position": "RF",
            "weight": 4.0,
            "quality": -0.7597884049199508,
            "contact": -0.790872584662387,
            "power": -0.8239174554008767,
            "discipline": -0.4751424898597934,
            "xwoba": 0.265,
            "recent_xwoba": 0.265,
            "barrel": 3.3,
            "ab_hard_contact": 0.08279374912533205,
            "ab_bat_speed": 71.49018276324614,
            "ab_strikeout_rate": 0.21208920187793429,
            "available": 1.0
          },
          {
            "player_id": "656775",
            "player_name": "Cedric Mullins",
            "position": "CF",
            "weight": 3.0,
            "quality": -0.7044052732407395,
            "contact": -0.9331868664266902,
            "power": -0.7507542714209161,
            "discipline": 0.2226033054247343,
            "xwoba": 0.267,
            "recent_xwoba": 0.267,
            "barrel": 4.3,
            "ab_hard_contact": -0.9392759046088004,
            "ab_bat_speed": 67.27801797161172,
            "ab_strikeout_rate": 0.2110576923076923,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "527048",
        "player_name": "Martín Pérez",
        "quality": -0.358463728952401,
        "contact": -0.031100714133072464,
        "command": -0.5908860028860029,
        "movement": -1.2600267888250734,
        "xwoba": 0.334,
        "whiff": 21.9,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    },
    "home": {
      "team": "ATL",
      "original_runs": 4,
      "run_delta": 0.5776,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": 0.3740736952287549,
        "contact": 0.3122816592328712,
        "power": 0.49436389200178255,
        "discipline": -0.031030750254022698,
        "xwoba": 0.3270625,
        "recent_xwoba": 0.3270625,
        "barrel": 9.578124999999998,
        "ab_hard_contact": 0.5258552209880365,
        "ab_bat_speed": 72.13238215504268,
        "ab_strikeout_rate": 0.24886638659189136,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "621566",
            "player_name": "Matt Olson",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.9914342590506432,
            "contact": 0.81882628505918,
            "power": 1.594691442738378,
            "discipline": -0.0253961451247164,
            "xwoba": 0.353,
            "recent_xwoba": 0.353,
            "barrel": 14.9,
            "ab_hard_contact": 1.534019330958046,
            "ab_bat_speed": 73.48883533333334,
            "ab_strikeout_rate": 0.24862857142857142,
            "available": 1.0
          },
          {
            "player_id": "686948",
            "player_name": "Drake Baldwin",
            "position": "C",
            "weight": 4.0,
            "quality": 1.0046380106662904,
            "contact": 1.0941665952162374,
            "power": 1.2630405443165735,
            "discipline": 0.09366446513880661,
            "xwoba": 0.363,
            "recent_xwoba": 0.363,
            "barrel": 12.6,
            "ab_hard_contact": 1.1773823149029108,
            "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": 4.0,
            "quality": 0.783035529949537,
            "contact": 0.7381497187287362,
            "power": 1.0688731794195048,
            "discipline": 0.18826014972198932,
            "xwoba": 0.36400000000000005,
            "recent_xwoba": 0.364,
            "barrel": 12.4,
            "ab_hard_contact": 0.6178445407710478,
            "ab_bat_speed": 73.89358447488584,
            "ab_strikeout_rate": 0.23675799086757993,
            "available": 1.0
          },
          {
            "player_id": "673490",
            "player_name": "Ha-Seong Kim",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.4862526756022578,
            "contact": -1.9040452410451278,
            "power": -1.5845391431127545,
            "discipline": 0.02059750566893445,
            "xwoba": 0.212,
            "recent_xwoba": 0.212,
            "barrel": 2.9,
            "ab_hard_contact": -0.9208781003503277,
            "ab_bat_speed": 70.12817708333334,
            "ab_strikeout_rate": 0.25277777777777777,
            "available": 1.0
          },
          {
            "player_id": "671739",
            "player_name": "Michael Harris II",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.6719270687703781,
            "contact": 0.8783840044485501,
            "power": 0.9345878612020099,
            "discipline": -0.5554193089665242,
            "xwoba": 0.34,
            "recent_xwoba": 0.34,
            "barrel": 10.5,
            "ab_hard_contact": 0.769471509754485,
            "ab_bat_speed": 73.5432571125908,
            "ab_strikeout_rate": 0.1992231638418079,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "607259",
        "player_name": "Nick Martinez",
        "quality": -0.20602291139600254,
        "contact": 0.23036940107288048,
        "command": -0.6871717171717172,
        "movement": -0.9040355133566291,
        "xwoba": 0.316,
        "whiff": 17.7,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": true,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 5,
      "home_runs": 5,
      "winner_side": "tie"
    },
    "adjusted_score": {
      "away_runs": 6,
      "home_runs": 5,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": 0.0579,
      "recent_form_edge_home_minus_away": -0.766,
      "pitcher_matchup_edge_home_minus_away": -0.0252,
      "composite_home_edge": -0.2151,
      "existing_home_win_probability": 0.492,
      "refreshed_home_win_probability": 0.3941,
      "winner_support_before_review": 0.0
    },
    "reasons": [
      "resolved tied target with refreshed season/recent/pitcher support"
    ]
  },
  "uncapped_home_win_probability": 0.491969,
  "uncapped_away_win_probability": 0.508031,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.508031,
    "discount_factor": 0.7225,
    "published_confidence": 0.505802,
    "guardrail_confidence_cap": 0.58,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.394081,
    "incoming_favoured_side": "away",
    "score_winner_side": "away",
    "published_home_win_probability": 0.494198,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 6,
    "home_runs": 5,
    "predicted_score_text": "TB 6 - 5 ATL",
    "confidence": 0.5058023975,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "TB 6 - 5 ATL",
      "winner": "TB"
    },
    "final_simulation_score": {
      "away_runs": 6,
      "home_runs": 5,
      "score_text": "TB 6 - 5 ATL",
      "winner": "TB"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": true,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0252,
      "recent_form_edge_home_minus_away": -0.766,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 6,
      "home_runs": 5,
      "winner": "TB",
      "model_winner": "TB",
      "simulation_winner": "TB",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "TB",
        "published_winner_draw_share": 0.5,
        "draw_majority_team": null,
        "published_winner_is_draw_majority": false,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": true,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 6,
        "home_runs": 5
      },
      "simulation_score": {
        "away_runs": 6,
        "home_runs": 5
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": -0.0579,
      "winner": "TB",
      "score_reviewed": {
        "away_runs": 6,
        "home_runs": 5,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "TB",
    "display_confidence": 0.5058,
    "internal_signal_score": 0.5535,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5058,
    "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": 1,
      "winner_quality_edge": -0.0579,
      "winner_recent_form_edge": 0.416,
      "winner_pitcher_matchup_edge": 0.0252,
      "winner_simulation_draw_rate": 0.5,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.5,
      "low_total_draw_rate_6_or_less": 0.0,
      "total_runs_spread": {
        "min": 10,
        "median": 11,
        "max": 11,
        "range": 1
      }
    },
    "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 TBTrue0.99560.9956190
Home ATLTrue1.04051.0405190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
1BRyan Vilade2171.04010.5342neutral0.33500.26000.44907.5040.4089.9017.6022.70228.90-0.2857
LFChandler Simpson1150.9224-1.0343negative_batter_regression0.26200.25800.2950012.9083.701.3010.608.304.30-1.2571
2BNick Madrigal2580.9831-0.2249neutral0.29800.23200.2860024.4088.709.808.705.8013.50-0.6571
DHYandy Díaz541.07190.9585neutral0.35600.28900.45407.5048.7091.106.1014.5014.208.40-0.3143
3BJunior Caminero101.09151.2204neutral0.36500.27400.49701350.5092.909.1024.3018.4011.60-0.5143
RFJonny DeLuca1800.9408-0.7887negative_batter_regression0.26500.23400.33403.3029.7085.6014.402519.904.40-1.2000
SSJorge Mateo3231.01300.1740positive_batter_regression0.29700.24200.39608.3039.2088.201332.2029.205.900.9143
CNick Fortes2730.9520-0.6398neutral0.27400.24400.32702.1034.5085.107.8017.4012.903.10-0.6857
CFCedric Mullins2200.9452-0.7310neutral0.26700.19100.31504.3032.2087.9026.2022.2018.909-0.5143

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
1BMatt Olson421.09071.2099neutral0.35300.24600.506014.9050.5092.6018.2025.5025.609.60-0.0286
2BMauricio Dubón1040.9997-0.0046neutral0.30400.26800.37603.8029.7086.501615.60125.60-0.0857
CDrake Baldwin571.10021.3358neutral0.36300.27500.488012.6050.8091.501125.1021.709.300.3714
RFRonald Acuña Jr.1571.09121.2154neutral0.36400.25800.482012.4045.9090.5015.7030.1022.8011.900.5143
DHBrewer Hicklen3451.02680.3571negative_batter_regression0.36800.26000.39008.305093.307.9044.2035.7021.40-2
CFMichael Harris II261.06620.8831neutral0.34000.28600.476010.5048.2090.409.5024.8019.903.60-0.1714
LFLane Thomas2921.01470.1958neutral0.31100.23800.36506.4040.9089.3017.4022.9024.9011.80-0.0571
3BAustin Riley2301.02290.3051neutral0.29900.21400.396012.3045.2091.5019.4032.3031.707.400.1714
SSHa-Seong Kim6230.9517-0.6439positive_batter_regression0.21200.15400.20702.9024.308617.6020.802791.4571
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0405,
    "raw_average_factor": 1.0405,
    "team_espn_average_rank": 208.44,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "1B",
        "player_id": "621566",
        "player_name": "Matt Olson",
        "offense_factor": 1.0907,
        "quality_score": 1.2099,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "621566",
          "espn_id": 32767,
          "player_name": "Matt Olson",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 42,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 42,
            "gp_value": 146.0,
            "gp_rank": 3,
            "ab_value": 564.0,
            "ab_rank": 9,
            "r_value": 94.0,
            "r_rank": 6,
            "h_value": 140.0,
            "h_rank": 35,
            "avg_value": 0.2482269,
            "avg_rank": 83.0,
            "2b_value": 33.0,
            "2b_rank": 5,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 37.0,
            "hr_rank": 5,
            "rbi_value": 81.0,
            "rbi_rank": 26,
            "tb_value": 284.0,
            "tb_rank": 623,
            "bb_value": 61.0,
            "bb_rank": 45,
            "so_value": 161.0,
            "so_rank": 12,
            "sb_value": 4.0,
            "sb_rank": 199,
            "obp_value": 0.3227848,
            "obp_rank": "85",
            "slg_value": 0.503546,
            "slg_rank": "14",
            "ops_value": 0.8263308,
            "ops_rank": 29.0,
            "war_value": 3.6,
            "war_rank": 40.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 542.0,
          "k_percent": 25.6,
          "bb_percent": 9.6,
          "woba": 0.354,
          "xwoba": 0.353,
          "xba": 0.246,
          "xslg": 0.506,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 14.9,
          "hard_hit_percent": 50.5,
          "exit_velocity_avg": 92.6,
          "launch_angle_avg": 18.2,
          "whiff_percent": 25.5,
          "swing_percent": 46.2
        },
        "components": {
          "expected_quality": 1.4115,
          "regression_edge": -0.0286,
          "xwoba_edge": 1.5143,
          "xba_edge": 0.2857,
          "xslg_edge": 2.0143,
          "barrel_edge": 1.8444,
          "hard_hit_edge": 1.8857,
          "exit_velocity_edge": 1.68,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "2B",
        "player_id": "643289",
        "player_name": "Mauricio Dubón",
        "offense_factor": 0.9997,
        "quality_score": -0.0046,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "643289",
          "espn_id": 35304,
          "player_name": "Mauricio Dubon",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 104,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 104,
            "gp_value": 138.0,
            "gp_rank": 64,
            "ab_value": 516.0,
            "ab_rank": 55,
            "r_value": 60.0,
            "r_rank": 110,
            "h_value": 137.0,
            "h_rank": 46,
            "avg_value": 0.2655038,
            "avg_rank": 54.0,
            "2b_value": 25.0,
            "2b_rank": 55,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 11.0,
            "hr_rank": 164,
            "rbi_value": 66.0,
            "rbi_rank": 70,
            "tb_value": 199.0,
            "tb_rank": 745,
            "bb_value": 31.0,
            "bb_rank": 199,
            "so_value": 66.0,
            "so_rank": 240,
            "sb_value": 7.0,
            "sb_rank": 136,
            "obp_value": 0.3085299,
            "obp_rank": "110",
            "slg_value": 0.3856589,
            "slg_rank": "110",
            "ops_value": 0.6941888,
            "ops_rank": 116.0,
            "war_value": 2.15,
            "war_rank": 84.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 478.0,
          "k_percent": 12.0,
          "bb_percent": 5.6,
          "woba": 0.307,
          "xwoba": 0.304,
          "xba": 0.268,
          "xslg": 0.376,
          "sweet_spot_percent": 36.7,
          "barrel_batted_rate": 3.8,
          "hard_hit_percent": 29.7,
          "exit_velocity_avg": 86.5,
          "launch_angle_avg": 16.0,
          "whiff_percent": 15.6,
          "swing_percent": 53.8
        },
        "components": {
          "expected_quality": 0.0086,
          "regression_edge": -0.0857,
          "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.5667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "686948",
        "player_name": "Drake Baldwin",
        "offense_factor": 1.1002,
        "quality_score": 1.3358,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "686948",
          "espn_id": 4810190,
          "player_name": "Drake Baldwin",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 57,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 57,
            "gp_value": 123.0,
            "gp_rank": 134,
            "ab_value": 485.0,
            "ab_rank": 83,
            "r_value": 77.0,
            "r_rank": 43,
            "h_value": 134.0,
            "h_rank": 53,
            "avg_value": 0.2762886,
            "avg_rank": 31.0,
            "2b_value": 16.0,
            "2b_rank": 180,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 23.0,
            "hr_rank": 41,
            "rbi_value": 71.0,
            "rbi_rank": 51,
            "tb_value": 219.0,
            "tb_rank": 934,
            "bb_value": 51.0,
            "bb_rank": 74,
            "so_value": 117.0,
            "so_rank": 75,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3529411,
            "obp_rank": "38",
            "slg_value": 0.4515463,
            "slg_rank": "48",
            "ops_value": 0.8044874,
            "ops_rank": 41.0,
            "war_value": 3.14,
            "war_rank": 53.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 460.0,
          "k_percent": 21.7,
          "bb_percent": 9.3,
          "woba": 0.35,
          "xwoba": 0.363,
          "xba": 0.275,
          "xslg": 0.488,
          "sweet_spot_percent": 36.6,
          "barrel_batted_rate": 12.6,
          "hard_hit_percent": 50.8,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 11.0,
          "whiff_percent": 25.1,
          "swing_percent": 50.7
        },
        "components": {
          "expected_quality": 1.4928,
          "regression_edge": 0.3714,
          "xwoba_edge": 1.8,
          "xba_edge": 1.1143,
          "xslg_edge": 1.7571,
          "barrel_edge": 1.3333,
          "hard_hit_edge": 1.9286,
          "exit_velocity_edge": 1.24,
          "sweet_spot_edge": 0.55,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "660670",
        "player_name": "Ronald Acuña Jr.",
        "offense_factor": 1.0912,
        "quality_score": 1.2154,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "660670",
          "espn_id": 36185,
          "player_name": "Ronald Acuna Jr.",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 157,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 157,
            "gp_value": 93.0,
            "gp_rank": 243,
            "ab_value": 352.0,
            "ab_rank": 185,
            "r_value": 53.0,
            "r_rank": 147,
            "h_value": 89.0,
            "h_rank": 164,
            "avg_value": 0.2528409,
            "avg_rank": null,
            "2b_value": 16.0,
            "2b_rank": 180,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 16.0,
            "hr_rank": 106,
            "rbi_value": 45.0,
            "rbi_rank": 173,
            "tb_value": 155.0,
            "tb_rank": 940,
            "bb_value": 48.0,
            "bb_rank": 85,
            "so_value": 93.0,
            "so_rank": 139,
            "sb_value": 20.0,
            "sb_rank": 29,
            "obp_value": 0.3480392,
            "obp_rank": "-",
            "slg_value": 0.4403409,
            "slg_rank": "-",
            "ops_value": 0.7883801,
            "ops_rank": null,
            "war_value": 1.56,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 324.0,
          "k_percent": 22.8,
          "bb_percent": 11.9,
          "woba": 0.346,
          "xwoba": 0.364,
          "xba": 0.258,
          "xslg": 0.482,
          "sweet_spot_percent": 33.2,
          "barrel_batted_rate": 12.4,
          "hard_hit_percent": 45.9,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 15.7,
          "whiff_percent": 30.1,
          "swing_percent": 48.7
        },
        "components": {
          "expected_quality": 1.3296,
          "regression_edge": 0.5143,
          "xwoba_edge": 1.8286,
          "xba_edge": 0.6286,
          "xslg_edge": 1.6714,
          "barrel_edge": 1.2889,
          "hard_hit_edge": 1.2286,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": -0.0167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "676551",
        "player_name": "Brewer Hicklen",
        "offense_factor": 1.0268,
        "quality_score": 0.3571,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "676551",
          "espn_id": 41378,
          "player_name": "Brewer Hicklen",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 345,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 345,
            "gp_value": 12.0,
            "gp_rank": 567,
            "ab_value": 22.0,
            "ab_rank": 577,
            "r_value": 7.0,
            "r_rank": 480,
            "h_value": 8.0,
            "h_rank": 527,
            "avg_value": 0.3636363,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": 408,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 0.0,
            "hr_rank": 529,
            "rbi_value": 3.0,
            "rbi_rank": 534,
            "tb_value": 12.0,
            "tb_rank": 3100,
            "bb_value": 6.0,
            "bb_rank": 454,
            "so_value": 10.0,
            "so_rank": 540,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.5,
            "obp_rank": "-",
            "slg_value": 0.5454545,
            "slg_rank": "-",
            "ops_value": 1.0454545,
            "ops_rank": null,
            "war_value": 0.23,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 22.0,
          "k_percent": 35.7,
          "bb_percent": 21.4,
          "woba": 0.457,
          "xwoba": 0.368,
          "xba": 0.26,
          "xslg": 0.39,
          "sweet_spot_percent": 50.0,
          "barrel_batted_rate": 8.3,
          "hard_hit_percent": 50.0,
          "exit_velocity_avg": 93.3,
          "launch_angle_avg": 7.9,
          "whiff_percent": 44.2,
          "swing_percent": 46.0
        },
        "components": {
          "expected_quality": 1.2484,
          "regression_edge": -2.0,
          "xwoba_edge": 1.9429,
          "xba_edge": 0.6857,
          "xslg_edge": 0.3571,
          "barrel_edge": 0.3778,
          "hard_hit_edge": 1.8143,
          "exit_velocity_edge": 1.96,
          "sweet_spot_edge": 2.5,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "671739",
        "player_name": "Michael Harris II",
        "offense_factor": 1.0662,
        "quality_score": 0.8831,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "671739",
          "espn_id": 42470,
          "player_name": "Michael Harris II",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 26,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 26,
            "gp_value": 140.0,
            "gp_rank": 43,
            "ab_value": 529.0,
            "ab_rank": 38,
            "r_value": 67.0,
            "r_rank": 74,
            "h_value": 152.0,
            "h_rank": 13,
            "avg_value": 0.2873345,
            "avg_rank": 16.0,
            "2b_value": 32.0,
            "2b_rank": 6,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 24.0,
            "hr_rank": 33,
            "rbi_value": 80.0,
            "rbi_rank": 27,
            "tb_value": 258.0,
            "tb_rank": 396,
            "bb_value": 21.0,
            "bb_rank": 280,
            "so_value": 111.0,
            "so_rank": 92,
            "sb_value": 10.0,
            "sb_rank": 88,
            "obp_value": 0.3153153,
            "obp_rank": "100",
            "slg_value": 0.4877126,
            "slg_rank": "23",
            "ops_value": 0.8030279,
            "ops_rank": 42.0,
            "war_value": 4.33,
            "war_rank": 26.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 476.0,
          "k_percent": 19.9,
          "bb_percent": 3.6,
          "woba": 0.346,
          "xwoba": 0.34,
          "xba": 0.286,
          "xslg": 0.476,
          "sweet_spot_percent": 30.6,
          "barrel_batted_rate": 10.5,
          "hard_hit_percent": 48.2,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 9.5,
          "whiff_percent": 24.8,
          "swing_percent": 56.0
        },
        "components": {
          "expected_quality": 1.0548,
          "regression_edge": -0.1714,
          "xwoba_edge": 1.1429,
          "xba_edge": 1.4286,
          "xslg_edge": 1.5857,
          "barrel_edge": 0.8667,
          "hard_hit_edge": 1.5571,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.45,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "657041",
        "player_name": "Lane Thomas",
        "offense_factor": 1.0147,
        "quality_score": 0.1958,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "657041",
          "espn_id": 36409,
          "player_name": "Lane Thomas",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 292,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 292,
            "gp_value": 118.0,
            "gp_rank": 150,
            "ab_value": 326.0,
            "ab_rank": 202,
            "r_value": 37.0,
            "r_rank": 229,
            "h_value": 73.0,
            "h_rank": 218,
            "avg_value": 0.2239263,
            "avg_rank": null,
            "2b_value": 19.0,
            "2b_rank": 133,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 11.0,
            "hr_rank": 164,
            "rbi_value": 40.0,
            "rbi_rank": 197,
            "tb_value": 125.0,
            "tb_rank": 1421,
            "bb_value": 44.0,
            "bb_rank": 106,
            "so_value": 93.0,
            "so_rank": 139,
            "sb_value": 9.0,
            "sb_rank": 105,
            "obp_value": 0.3181818,
            "obp_rank": "-",
            "slg_value": 0.3834355,
            "slg_rank": "-",
            "ops_value": 0.7016173,
            "ops_rank": null,
            "war_value": 0.46,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 343.0,
          "k_percent": 24.9,
          "bb_percent": 11.8,
          "woba": 0.313,
          "xwoba": 0.311,
          "xba": 0.238,
          "xslg": 0.365,
          "sweet_spot_percent": 36.2,
          "barrel_batted_rate": 6.4,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 17.4,
          "whiff_percent": 22.9,
          "swing_percent": 41.3
        },
        "components": {
          "expected_quality": 0.237,
          "regression_edge": -0.0571,
          "xwoba_edge": 0.3143,
          "xba_edge": 0.0571,
          "xslg_edge": 0.0,
          "barrel_edge": -0.0444,
          "hard_hit_edge": 0.5143,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.4833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "663586",
        "player_name": "Austin Riley",
        "offense_factor": 1.0229,
        "quality_score": 0.3051,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "663586",
          "espn_id": 34982,
          "player_name": "Austin Riley",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 230,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 230,
            "gp_value": 144.0,
            "gp_rank": 16,
            "ab_value": 513.0,
            "ab_rank": 58,
            "r_value": 57.0,
            "r_rank": 122,
            "h_value": 114.0,
            "h_rank": 98,
            "avg_value": 0.2222222,
            "avg_rank": 127.0,
            "2b_value": 21.0,
            "2b_rank": 107,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 16.0,
            "hr_rank": 106,
            "rbi_value": 66.0,
            "rbi_rank": 70,
            "tb_value": 187.0,
            "tb_rank": 675,
            "bb_value": 42.0,
            "bb_rank": 118,
            "so_value": 181.0,
            "so_rank": 4,
            "sb_value": 9.0,
            "sb_rank": 105,
            "obp_value": 0.2929824,
            "obp_rank": "135",
            "slg_value": 0.3645224,
            "slg_rank": "127",
            "ops_value": 0.6575048,
            "ops_rank": 136.0,
            "war_value": 0.89,
            "war_rank": 123.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 500.0,
          "k_percent": 31.7,
          "bb_percent": 7.4,
          "woba": 0.293,
          "xwoba": 0.299,
          "xba": 0.214,
          "xslg": 0.396,
          "sweet_spot_percent": 33.8,
          "barrel_batted_rate": 12.3,
          "hard_hit_percent": 45.2,
          "exit_velocity_avg": 91.5,
          "launch_angle_avg": 19.4,
          "whiff_percent": 32.3,
          "swing_percent": 48.9
        },
        "components": {
          "expected_quality": 0.3268,
          "regression_edge": 0.1714,
          "xwoba_edge": -0.0286,
          "xba_edge": -0.6286,
          "xslg_edge": 0.4429,
          "barrel_edge": 1.2667,
          "hard_hit_edge": 1.1286,
          "exit_velocity_edge": 1.24,
          "sweet_spot_edge": 0.0833,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "SS",
        "player_id": "673490",
        "player_name": "Ha-Seong Kim",
        "offense_factor": 0.9517,
        "quality_score": -0.6439,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "673490",
          "espn_id": 4089862,
          "player_name": "Ha-Seong Kim",
          "team": "ATL",
          "role": "batter",
          "espn_rank": 623,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 623,
            "gp_value": 40.0,
            "gp_rank": 423,
            "ab_value": 100.0,
            "ab_rank": 434,
            "r_value": 6.0,
            "r_rank": 495,
            "h_value": 11.0,
            "h_rank": 503,
            "avg_value": 0.11,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": 519,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 0.0,
            "hr_rank": 529,
            "rbi_value": 6.0,
            "rbi_rank": 491,
            "tb_value": 12.0,
            "tb_rank": 3187,
            "bb_value": 10.0,
            "bb_rank": 388,
            "so_value": 30.0,
            "so_rank": 422,
            "sb_value": 2.0,
            "sb_rank": 278,
            "obp_value": 0.1981981,
            "obp_rank": "-",
            "slg_value": 0.12,
            "slg_rank": "-",
            "ops_value": 0.3181981,
            "ops_rank": null,
            "war_value": -0.67,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 79.0,
          "k_percent": 27.0,
          "bb_percent": 9.0,
          "woba": 0.161,
          "xwoba": 0.212,
          "xba": 0.154,
          "xslg": 0.207,
          "sweet_spot_percent": 21.4,
          "barrel_batted_rate": 2.9,
          "hard_hit_percent": 24.3,
          "exit_velocity_avg": 86.0,
          "launch_angle_avg": 17.6,
          "whiff_percent": 20.8,
          "swing_percent": 43.4
        },
        "components": {
          "expected_quality": -1.9009,
          "regression_edge": 1.4571,
          "xwoba_edge": -2.5,
          "xba_edge": -2.3429,
          "xslg_edge": -2.2571,
          "barrel_edge": -0.8222,
          "hard_hit_edge": -1.8571,
          "exit_velocity_edge": -0.96,
          "sweet_spot_edge": -1.9833,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 0.9956,
    "raw_average_factor": 0.9956,
    "team_espn_average_rank": 183.33,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "1B",
        "player_id": "668723",
        "player_name": "Ryan Vilade",
        "offense_factor": 1.0401,
        "quality_score": 0.5342,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "668723",
          "espn_id": 40960,
          "player_name": "Ryan Vilade",
          "team": "TB",
          "role": "batter",
          "espn_rank": 217,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 217,
            "gp_value": 83.0,
            "gp_rank": 283,
            "ab_value": 210.0,
            "ab_rank": 303,
            "r_value": 25.0,
            "r_rank": 312,
            "h_value": 55.0,
            "h_rank": 277,
            "avg_value": 0.2619047,
            "avg_rank": null,
            "2b_value": 8.0,
            "2b_rank": 313,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 11.0,
            "hr_rank": 164,
            "rbi_value": 39.0,
            "rbi_rank": 206,
            "tb_value": 100.0,
            "tb_rank": 1234,
            "bb_value": 21.0,
            "bb_rank": 280,
            "so_value": 52.0,
            "so_rank": 296,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3276595,
            "obp_rank": "-",
            "slg_value": 0.4761904,
            "slg_rank": "-",
            "ops_value": 0.8038499,
            "ops_rank": null,
            "war_value": 0.96,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 201.0,
          "k_percent": 22.0,
          "bb_percent": 8.9,
          "woba": 0.345,
          "xwoba": 0.335,
          "xba": 0.26,
          "xslg": 0.449,
          "sweet_spot_percent": 30.9,
          "barrel_batted_rate": 7.5,
          "hard_hit_percent": 40.4,
          "exit_velocity_avg": 89.9,
          "launch_angle_avg": 17.6,
          "whiff_percent": 22.7,
          "swing_percent": 49.6
        },
        "components": {
          "expected_quality": 0.7264,
          "regression_edge": -0.2857,
          "xwoba_edge": 1.0,
          "xba_edge": 0.6857,
          "xslg_edge": 1.2,
          "barrel_edge": 0.2,
          "hard_hit_edge": 0.4429,
          "exit_velocity_edge": 0.6,
          "sweet_spot_edge": -0.4,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "802415",
        "player_name": "Chandler Simpson",
        "offense_factor": 0.9224,
        "quality_score": -1.0343,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "802415",
          "espn_id": 4679983,
          "player_name": "Chandler Simpson",
          "team": "TB",
          "role": "batter",
          "espn_rank": 115,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 115,
            "gp_value": 137.0,
            "gp_rank": 68,
            "ab_value": 517.0,
            "ab_rank": 52,
            "r_value": 60.0,
            "r_rank": 110,
            "h_value": 160.0,
            "h_rank": 6,
            "avg_value": 0.3094777,
            "avg_rank": 3.0,
            "2b_value": 14.0,
            "2b_rank": 209,
            "3b_value": 6.0,
            "3b_rank": 7,
            "hr_value": 0.0,
            "hr_rank": 529,
            "rbi_value": 31.0,
            "rbi_rank": 263,
            "tb_value": 186.0,
            "tb_rank": 1804,
            "bb_value": 25.0,
            "bb_rank": 241,
            "so_value": 46.0,
            "so_rank": 326,
            "sb_value": 41.0,
            "sb_rank": 2,
            "obp_value": 0.3375912,
            "obp_rank": "58",
            "slg_value": 0.3597678,
            "slg_rank": "133",
            "ops_value": 0.697359,
            "ops_rank": 112.0,
            "war_value": 2.02,
            "war_rank": 88.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 463.0,
          "k_percent": 8.3,
          "bb_percent": 4.3,
          "woba": 0.306,
          "xwoba": 0.262,
          "xba": 0.258,
          "xslg": 0.295,
          "sweet_spot_percent": 26.1,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 12.9,
          "exit_velocity_avg": 83.7,
          "launch_angle_avg": 1.3,
          "whiff_percent": 10.6,
          "swing_percent": 47.7
        },
        "components": {
          "expected_quality": -0.998,
          "regression_edge": -1.2571,
          "xwoba_edge": -1.0857,
          "xba_edge": 0.6286,
          "xslg_edge": -1.0,
          "barrel_edge": -1.4667,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.88,
          "sweet_spot_edge": -1.2,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "663611",
        "player_name": "Nick Madrigal",
        "offense_factor": 0.9831,
        "quality_score": -0.2249,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "663611",
          "espn_id": 41170,
          "player_name": "Nick Madrigal",
          "team": "TB",
          "role": "batter",
          "espn_rank": 258,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 258,
            "gp_value": 15.0,
            "gp_rank": 544,
            "ab_value": 44.0,
            "ab_rank": 522,
            "r_value": 7.0,
            "r_rank": 480,
            "h_value": 12.0,
            "h_rank": 489,
            "avg_value": 0.2727272,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": 519,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 0.0,
            "hr_rank": 529,
            "rbi_value": 2.0,
            "rbi_rank": 551,
            "tb_value": 13.0,
            "tb_rank": 3173,
            "bb_value": 7.0,
            "bb_rank": 439,
            "so_value": 3.0,
            "so_rank": 607,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.3846153,
            "obp_rank": "-",
            "slg_value": 0.2954545,
            "slg_rank": "-",
            "ops_value": 0.6800698,
            "ops_rank": null,
            "war_value": 0.65,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 47.0,
          "k_percent": 5.8,
          "bb_percent": 13.5,
          "woba": 0.321,
          "xwoba": 0.298,
          "xba": 0.232,
          "xslg": 0.286,
          "sweet_spot_percent": 29.3,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 24.4,
          "exit_velocity_avg": 88.7,
          "launch_angle_avg": 9.8,
          "whiff_percent": 8.7,
          "swing_percent": 50.0
        },
        "components": {
          "expected_quality": -0.4741,
          "regression_edge": -0.6571,
          "xwoba_edge": -0.0571,
          "xba_edge": -0.1143,
          "xslg_edge": -1.1286,
          "barrel_edge": -1.4667,
          "hard_hit_edge": -1.8429,
          "exit_velocity_edge": 0.12,
          "sweet_spot_edge": -0.6667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "650490",
        "player_name": "Yandy Díaz",
        "offense_factor": 1.0719,
        "quality_score": 0.9585,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "650490",
          "espn_id": 33481,
          "player_name": "Yandy Diaz",
          "team": "TB",
          "role": "batter",
          "espn_rank": 54,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 54,
            "gp_value": 140.0,
            "gp_rank": 43,
            "ab_value": 557.0,
            "ab_rank": 14,
            "r_value": 84.0,
            "r_rank": 28,
            "h_value": 170.0,
            "h_rank": 3,
            "avg_value": 0.3052064,
            "avg_rank": 4.0,
            "2b_value": 25.0,
            "2b_rank": 55,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 22.0,
            "hr_rank": 49,
            "rbi_value": 80.0,
            "rbi_rank": 27,
            "tb_value": 263.0,
            "tb_rank": 477,
            "bb_value": 52.0,
            "bb_rank": 73,
            "so_value": 88.0,
            "so_rank": 150,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3712,
            "obp_rank": "13",
            "slg_value": 0.4721723,
            "slg_rank": "32",
            "ops_value": 0.8433723,
            "ops_rank": 18.0,
            "war_value": 3.22,
            "war_rank": 51.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 531.0,
          "k_percent": 14.2,
          "bb_percent": 8.4,
          "woba": 0.367,
          "xwoba": 0.356,
          "xba": 0.289,
          "xslg": 0.454,
          "sweet_spot_percent": 30.2,
          "barrel_batted_rate": 7.5,
          "hard_hit_percent": 48.7,
          "exit_velocity_avg": 91.1,
          "launch_angle_avg": 6.1,
          "whiff_percent": 14.5,
          "swing_percent": 47.3
        },
        "components": {
          "expected_quality": 1.1658,
          "regression_edge": -0.3143,
          "xwoba_edge": 1.6,
          "xba_edge": 1.5143,
          "xslg_edge": 1.2714,
          "barrel_edge": 0.2,
          "hard_hit_edge": 1.6286,
          "exit_velocity_edge": 1.08,
          "sweet_spot_edge": -0.5167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "691406",
        "player_name": "Junior Caminero",
        "offense_factor": 1.0915,
        "quality_score": 1.2204,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "691406",
          "espn_id": 4905921,
          "player_name": "Junior Caminero",
          "team": "TB",
          "role": "batter",
          "espn_rank": 10,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 10,
            "gp_value": 145.0,
            "gp_rank": 12,
            "ab_value": 555.0,
            "ab_rank": 15,
            "r_value": 89.0,
            "r_rank": 15,
            "h_value": 156.0,
            "h_rank": 10,
            "avg_value": 0.281081,
            "avg_rank": 25.0,
            "2b_value": 21.0,
            "2b_rank": 107,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 39.0,
            "hr_rank": 3,
            "rbi_value": 93.0,
            "rbi_rank": 8,
            "tb_value": 296.0,
            "tb_rank": 386,
            "bb_value": 73.0,
            "bb_rank": 20,
            "so_value": 117.0,
            "so_rank": 75,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3669291,
            "obp_rank": "20",
            "slg_value": 0.5333333,
            "slg_rank": "4",
            "ops_value": 0.9002624,
            "ops_rank": 5.0,
            "war_value": 5.24,
            "war_rank": 10.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 534.0,
          "k_percent": 18.4,
          "bb_percent": 11.6,
          "woba": 0.383,
          "xwoba": 0.365,
          "xba": 0.274,
          "xslg": 0.497,
          "sweet_spot_percent": 26.8,
          "barrel_batted_rate": 13.0,
          "hard_hit_percent": 50.5,
          "exit_velocity_avg": 92.9,
          "launch_angle_avg": 9.1,
          "whiff_percent": 24.3,
          "swing_percent": 43.8
        },
        "components": {
          "expected_quality": 1.5028,
          "regression_edge": -0.5143,
          "xwoba_edge": 1.8571,
          "xba_edge": 1.0857,
          "xslg_edge": 1.8857,
          "barrel_edge": 1.4222,
          "hard_hit_edge": 1.8857,
          "exit_velocity_edge": 1.8,
          "sweet_spot_edge": -1.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "676356",
        "player_name": "Jonny DeLuca",
        "offense_factor": 0.9408,
        "quality_score": -0.7887,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "676356",
          "espn_id": 5005912,
          "player_name": "Jonny DeLuca",
          "team": "TB",
          "role": "batter",
          "espn_rank": 180,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 180,
            "gp_value": 95.0,
            "gp_rank": 231,
            "ab_value": 299.0,
            "ab_rank": 226,
            "r_value": 36.0,
            "r_rank": 234,
            "h_value": 77.0,
            "h_rank": 201,
            "avg_value": 0.257525,
            "avg_rank": null,
            "2b_value": 20.0,
            "2b_rank": 122,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 9.0,
            "hr_rank": 209,
            "rbi_value": 43.0,
            "rbi_rank": 186,
            "tb_value": 124.0,
            "tb_rank": 1528,
            "bb_value": 14.0,
            "bb_rank": 347,
            "so_value": 63.0,
            "so_rank": 254,
            "sb_value": 14.0,
            "sb_rank": 59,
            "obp_value": 0.2907348,
            "obp_rank": "-",
            "slg_value": 0.4147157,
            "slg_rank": "-",
            "ops_value": 0.7054505,
            "ops_rank": null,
            "war_value": 1.29,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 246.0,
          "k_percent": 19.9,
          "bb_percent": 4.4,
          "woba": 0.307,
          "xwoba": 0.265,
          "xba": 0.234,
          "xslg": 0.334,
          "sweet_spot_percent": 29.3,
          "barrel_batted_rate": 3.3,
          "hard_hit_percent": 29.7,
          "exit_velocity_avg": 85.6,
          "launch_angle_avg": 14.4,
          "whiff_percent": 25.0,
          "swing_percent": 53.0
        },
        "components": {
          "expected_quality": -0.7218,
          "regression_edge": -1.2,
          "xwoba_edge": -1.0,
          "xba_edge": -0.0571,
          "xslg_edge": -0.4429,
          "barrel_edge": -0.7333,
          "hard_hit_edge": -1.0857,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": -0.6667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "622761",
        "player_name": "Jorge Mateo",
        "offense_factor": 1.013,
        "quality_score": 0.174,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "622761",
          "espn_id": 33832,
          "player_name": "Jorge Mateo",
          "team": "TB",
          "role": "batter",
          "espn_rank": 323,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 323,
            "gp_value": 84.0,
            "gp_rank": 279,
            "ab_value": 176.0,
            "ab_rank": 349,
            "r_value": 39.0,
            "r_rank": 215,
            "h_value": 38.0,
            "h_rank": 350,
            "avg_value": 0.215909,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": 330,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 5.0,
            "hr_rank": 305,
            "rbi_value": 18.0,
            "rbi_rank": 351,
            "tb_value": 60.0,
            "tb_rank": 2173,
            "bb_value": 11.0,
            "bb_rank": 373,
            "so_value": 55.0,
            "so_rank": 280,
            "sb_value": 17.0,
            "sb_rank": 45,
            "obp_value": 0.2606382,
            "obp_rank": "-",
            "slg_value": 0.340909,
            "slg_rank": "-",
            "ops_value": 0.6015472,
            "ops_rank": null,
            "war_value": 0.32,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 142.0,
          "k_percent": 29.2,
          "bb_percent": 5.9,
          "woba": 0.265,
          "xwoba": 0.297,
          "xba": 0.242,
          "xslg": 0.396,
          "sweet_spot_percent": 42.5,
          "barrel_batted_rate": 8.3,
          "hard_hit_percent": 39.2,
          "exit_velocity_avg": 88.2,
          "launch_angle_avg": 13.0,
          "whiff_percent": 32.2,
          "swing_percent": 54.0
        },
        "components": {
          "expected_quality": 0.1646,
          "regression_edge": 0.9143,
          "xwoba_edge": -0.0857,
          "xba_edge": 0.1714,
          "xslg_edge": 0.4429,
          "barrel_edge": 0.3778,
          "hard_hit_edge": 0.2714,
          "exit_velocity_edge": -0.08,
          "sweet_spot_edge": 1.5333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "C",
        "player_id": "663743",
        "player_name": "Nick Fortes",
        "offense_factor": 0.952,
        "quality_score": -0.6398,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "663743",
          "espn_id": 41674,
          "player_name": "Nick Fortes",
          "team": "TB",
          "role": "batter",
          "espn_rank": 273,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 273,
            "gp_value": 96.0,
            "gp_rank": 223,
            "ab_value": 272.0,
            "ab_rank": 247,
            "r_value": 30.0,
            "r_rank": 273,
            "h_value": 72.0,
            "h_rank": 222,
            "avg_value": 0.2647058,
            "avg_rank": null,
            "2b_value": 15.0,
            "2b_rank": 195,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 4.0,
            "hr_rank": 333,
            "rbi_value": 31.0,
            "rbi_rank": 263,
            "tb_value": 99.0,
            "tb_rank": 1994,
            "bb_value": 9.0,
            "bb_rank": 407,
            "so_value": 38.0,
            "so_rank": 366,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.3068965,
            "obp_rank": "-",
            "slg_value": 0.3639705,
            "slg_rank": "-",
            "ops_value": 0.670867,
            "ops_rank": null,
            "war_value": 0.57,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 269.0,
          "k_percent": 12.9,
          "bb_percent": 3.1,
          "woba": 0.298,
          "xwoba": 0.274,
          "xba": 0.244,
          "xslg": 0.327,
          "sweet_spot_percent": 24.3,
          "barrel_batted_rate": 2.1,
          "hard_hit_percent": 34.5,
          "exit_velocity_avg": 85.1,
          "launch_angle_avg": 7.8,
          "whiff_percent": 17.4,
          "swing_percent": 52.3
        },
        "components": {
          "expected_quality": -0.6323,
          "regression_edge": -0.6857,
          "xwoba_edge": -0.7429,
          "xba_edge": 0.2286,
          "xslg_edge": -0.5429,
          "barrel_edge": -1.0,
          "hard_hit_edge": -0.4,
          "exit_velocity_edge": -1.32,
          "sweet_spot_edge": -1.5,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "656775",
        "player_name": "Cedric Mullins",
        "offense_factor": 0.9452,
        "quality_score": -0.731,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "656775",
          "espn_id": 35578,
          "player_name": "Cedric Mullins",
          "team": "TB",
          "role": "batter",
          "espn_rank": 220,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 220,
            "gp_value": 125.0,
            "gp_rank": 127,
            "ab_value": 408.0,
            "ab_rank": 133,
            "r_value": 53.0,
            "r_rank": 147,
            "h_value": 84.0,
            "h_rank": 187,
            "avg_value": 0.2058823,
            "avg_rank": 145.0,
            "2b_value": 10.0,
            "2b_rank": 279,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 14.0,
            "hr_rank": 131,
            "rbi_value": 45.0,
            "rbi_rank": 173,
            "tb_value": 142.0,
            "tb_rank": 933,
            "bb_value": 42.0,
            "bb_rank": 118,
            "so_value": 89.0,
            "so_rank": 147,
            "sb_value": 19.0,
            "sb_rank": 35,
            "obp_value": 0.2885032,
            "obp_rank": "139",
            "slg_value": 0.3480392,
            "slg_rank": "137",
            "ops_value": 0.6365424,
            "ops_rank": 141.0,
            "war_value": 0.93,
            "war_rank": 120.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 407.0,
          "k_percent": 18.9,
          "bb_percent": 9.0,
          "woba": 0.285,
          "xwoba": 0.267,
          "xba": 0.191,
          "xslg": 0.315,
          "sweet_spot_percent": 24.9,
          "barrel_batted_rate": 4.3,
          "hard_hit_percent": 32.2,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 26.2,
          "whiff_percent": 22.2,
          "swing_percent": 49.7
        },
        "components": {
          "expected_quality": -0.7663,
          "regression_edge": -0.5143,
          "xwoba_edge": -0.9429,
          "xba_edge": -1.2857,
          "xslg_edge": -0.7143,
          "barrel_edge": -0.5111,
          "hard_hit_edge": -0.7286,
          "exit_velocity_edge": -0.2,
          "sweet_spot_edge": -1.4,
          "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 TBTrue20-0.147811.01260.91710.89000.9739neutral0.31600.294014.803.7017.706.9033.20
Home ATLTrue57-0.309611.02630.95941.02400.9906negative_pitcher_regression0.33400.30201810.4021.905.4038.10

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away TBTrueNone8686.92219300000000-0.1654
Home ATLTrueNone6685.19197100000000-0.2622
Run FactorValue
away_runs_vs_home_pitcher1.0202
home_runs_vs_away_pitcher1.0135
home_pitcher_starter_only_factor1.0263
away_pitcher_starter_only_factor1.0126
home_pitcher_workload_share0.6296
away_pitcher_workload_share0.6667
home_pitcher_quality_edge-0.0964
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "527048",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 452.0,
      "k_percent": 18.0,
      "bb_percent": 10.4,
      "woba": 0.302,
      "xwoba": 0.334,
      "sweet_spot_percent": 35.1,
      "barrel_batted_rate": 5.4,
      "hard_hit_percent": 38.1,
      "avg_best_speed": 76.7045,
      "avg_hyper_speed": 94.0984,
      "whiff_percent": 21.9,
      "swing_percent": 42.8
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.1328,
      "command_and_miss": -0.4721,
      "regression_edge": -0.9143,
      "xwoba_edge": -0.6571,
      "barrel_edge": 0.3778,
      "hard_hit_edge": -0.0286,
      "whiff_edge": -0.4429,
      "bb_edge": -0.3,
      "pitch_design_score": -0.2622
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "527048",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 66,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 66,
        "pitch_usage": 0.0,
        "release_speed": 85.19235523869571,
        "release_spin_rate": 1970.9370569367027,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 66,
          "pitch_usage": 0.0,
          "release_speed": 85.19235523869571,
          "release_spin_rate": 1970.9370569367027,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1924,
        "release_spin_rate": 1970.9371,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.2622,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.8731,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.3096,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0263,
    "strikeout_factor": 0.9594,
    "walk_factor": 1.024,
    "homer_factor": 0.9906,
    "woba_minus_xwoba": -0.032,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": true,
      "player_id": "527048",
      "espn_id": 31098,
      "player_name": "Martin Perez",
      "team": "ATL",
      "role": "pitcher",
      "espn_rank": 57,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 57,
        "gp_value": 27.0,
        "gp_rank": 285,
        "gs_value": 23.0,
        "gs_rank": 80,
        "qs_value": 4.0,
        "qs_rank": 123,
        "era_value": 3.2486,
        "era_rank": null,
        "w_value": 8.0,
        "w_rank": 65,
        "l_value": 9.0,
        "l_rank": 31,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 124.2,
        "ip_rank": 87,
        "h_value": 104.0,
        "h_rank": 111,
        "er_value": 45.0,
        "er_rank": 128,
        "hr_value": 13.0,
        "hr_rank": 124,
        "bb_value": 54.0,
        "bb_rank": 28,
        "k_value": 94.0,
        "k_rank": 117,
        "k_per_9_value": 6.7860966,
        "k_per_9_rank": 36,
        "whip_value": 1.2673,
        "whip_rank": null,
        "war_value": 2.39,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "607259",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 572.0,
      "k_percent": 14.8,
      "bb_percent": 3.7,
      "woba": 0.294,
      "xwoba": 0.316,
      "sweet_spot_percent": 35.1,
      "barrel_batted_rate": 6.9,
      "hard_hit_percent": 33.2,
      "avg_best_speed": 75.8751,
      "avg_hyper_speed": 93.2162,
      "whiff_percent": 17.7,
      "swing_percent": 50.5
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.1286,
      "command_and_miss": -0.5529,
      "regression_edge": -0.6286,
      "xwoba_edge": -0.1429,
      "barrel_edge": 0.0444,
      "hard_hit_edge": 0.6714,
      "whiff_edge": -1.0429,
      "bb_edge": 1.375,
      "pitch_design_score": -0.1654
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "607259",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 86,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 86,
        "pitch_usage": 0.0,
        "release_speed": 86.92210877528385,
        "release_spin_rate": 2192.935261117394,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 86,
          "pitch_usage": 0.0,
          "release_speed": 86.92210877528385,
          "release_spin_rate": 2192.935261117394,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.9221,
        "release_spin_rate": 2192.9353,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.1654,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -1.1812,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1478,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0126,
    "strikeout_factor": 0.9171,
    "walk_factor": 0.89,
    "homer_factor": 0.9739,
    "woba_minus_xwoba": -0.022,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "607259",
      "espn_id": 33372,
      "player_name": "Nick Martinez",
      "team": "TB",
      "role": "pitcher",
      "espn_rank": 20,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 20,
        "gp_value": 27.0,
        "gp_rank": 285,
        "gs_value": 27.0,
        "gs_rank": 36,
        "qs_value": 14.0,
        "qs_rank": 23,
        "era_value": 3.0375,
        "era_rank": 14.0,
        "w_value": 14.0,
        "w_rank": 6,
        "l_value": 4.0,
        "l_rank": 186,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 160.0,
        "ip_rank": 23,
        "h_value": 152.0,
        "h_rank": 16,
        "er_value": 54.0,
        "er_rank": 96,
        "hr_value": 19.0,
        "hr_rank": 48,
        "bb_value": 24.0,
        "bb_rank": 230,
        "k_value": 95.0,
        "k_rank": 113,
        "k_per_9_value": 5.3437495,
        "k_per_9_rank": 132,
        "whip_value": 1.1,
        "whip_rank": 15.0,
        "war_value": 3.52,
        "war_rank": 18.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 1.0202,
    "home_runs_vs_away_pitcher": 1.0135,
    "home_pitcher_starter_only_factor": 1.0263,
    "away_pitcher_starter_only_factor": 1.0126,
    "home_pitcher_workload_share": 0.6296,
    "away_pitcher_workload_share": 0.6667,
    "home_pitcher_quality_edge": -0.0964
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 4.0
  },
  "score_after": {
    "away_runs": 4.0809,
    "home_runs": 4.0538,
    "home_win_probability": 0.496
  },
  "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 TB6-40.60054.5052Waverageaverage
Home ATL4-60.4003.504.30-83Laverageaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away TB87-580.600580.400True
Home ATL85-610.5821080.740True
Signal--0.3400.058applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-09TB @ ATL7 - 2TB5blowout
2026-09-08TB @ ATL7 - 1TB6blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target TB--6----
Game target ATL--5----
Player finalized TB32841436
Player finalized ATL32841427
Player model fractional TB32.698.034.180.863.912.945.06
Player model fractional ATL33.047.953.981.053.872.487.28
Simulation box TB371061627
Simulation box ATL3710515110

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 TBStarterNick Martinez625504.091.12True
Away TBCloserBryan Baker112201.791.01True
Away TBSetup ManKevin Kelly103103.960.94True
Away TBMiddle Reliever (High Leverage)Tyler Wells120212.100.72True
Home ATLStarterMartín Pérez5.2024413.611.52True
Home ATLMiddle Reliever (High Leverage)Didier Fuentes1.1021312.461.13True
Home ATLSetup ManDylan Lee101004.831.38True
Home ATLCloserRaisel Iglesias121302.231.08True
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
homeATLbatter3BAustin Rileybetter106473predicted_RBI2.5100boostbetter
homeATLbatterLFLane Thomasworse115647predicted_H2.4800boostbetter
awayTBbatter3BJunior Camineroworse113829predicted_SO2.1940boostworse
awayTBbatter1BRyan Viladeworse103746predicted_BB1.7400boostbetter
awayTBbatterCNick Fortesbetter107364predicted_RBI1.6300boostbetter
awayTBbatterSSJorge Mateobetter105564predicted_H1.5200boostbetter
homeATLbatter2BMauricio Dubónworse1129110predicted_SO1.5180boostworse
awayTBbatterLFChandler Simpsonworse73425predicted_H-1.4300deboostworse
homeATLbatterCDrake Baldwinworse116556predicted_RBI1.4100boostbetter
awayTBbatter2BNick Madrigaldeboosted104655predicted_H1.1430boostbetter
homeATLbatterDHBrewer Hicklenworse102819predicted_H-1.1430deboostworse
homeATLbatterCFMichael Harris IIworse1019010predicted_H-1.1100deboostworse
homeATLbatterSSHa-Seong Kimworse92736predicted_AB1.0590boostbetter
awayTBbatterRFJonny DeLucaworse104637predicted_H1.0400boostbetter
homeATLpitcherStarterMartín Pérezneutral21111predicted_SO1.0000boostbetter
homeATLpitcherMiddle Reliever (High Leverage)Didier Fuentesworse20202predicted_SO-1.0000deboostworse
awayTBbatterDHYandy Díazworse95445predicted_HR0.8300boostbetter
awayTBbatterCFCedric Mullinsbetter105564predicted_SO-0.7360deboostbetter
homeATLbatterRFRonald Acuña Jr.worse93636predicted_RBI-0.7200deboostworse
homeATLbatter1BMatt Olsonworse103746predicted_RBI-0.4800deboostworse

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

Away Team: TB

Away Pitcher Deep Analysis

FieldValue
PitcherNick Martinez
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1478
ESPN Rank20
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1654
Avg Velo86.9221
Avg Spin2192.9353
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER2
Pre H5
Pre BB0
Pre SO5
Season ERA3.0375
Season WHIP1.1000
Role Avg IP5.9260
Recent Avg IP6.2000
Last Start IP6.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661.0,
    "runs_allowed": 603.0,
    "run_differential": 58.0,
    "run_differential_per_game": 0.4,
    "avg_runs_scored": 4.5586,
    "avg_runs_allowed": 4.1586,
    "offense_index": 1.0129,
    "defense_index": 1.0822,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 4.5,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.1689
  },
  "opponent": {
    "team": "ATL",
    "games": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5822,
    "runs_scored": 668.0,
    "runs_allowed": 560.0,
    "run_differential": 108.0,
    "run_differential_per_game": 0.7397,
    "avg_runs_scored": 4.5753,
    "avg_runs_allowed": 3.8356,
    "offense_index": 1.0166,
    "defense_index": 1.1733,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.3,
      "run_differential": -8.0
    },
    "available": true,
    "quality_score": 0.1253
  },
  "edges": {
    "quality_edge": 0.0436,
    "offense_edge": 0.0129,
    "opponent_offense_edge": 0.0166,
    "defense_strength": 0.0822,
    "opponent_defense_weakness": -0.1733,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0035,
    "run_prevention": 0.9923,
    "strikeout": 1.0
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "607259",
    "profile": {
      "available": true,
      "pitcher_id": "607259",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 572.0,
        "k_percent": 14.8,
        "bb_percent": 3.7,
        "woba": 0.294,
        "xwoba": 0.316,
        "sweet_spot_percent": 35.1,
        "barrel_batted_rate": 6.9,
        "hard_hit_percent": 33.2,
        "avg_best_speed": 75.8751,
        "avg_hyper_speed": 93.2162,
        "whiff_percent": 17.7,
        "swing_percent": 50.5
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.1286,
        "command_and_miss": -0.5529,
        "regression_edge": -0.6286,
        "xwoba_edge": -0.1429,
        "barrel_edge": 0.0444,
        "hard_hit_edge": 0.6714,
        "whiff_edge": -1.0429,
        "bb_edge": 1.375,
        "pitch_design_score": -0.1654
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "607259",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 86,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 86,
          "pitch_usage": 0.0,
          "release_speed": 86.92210877528385,
          "release_spin_rate": 2192.935261117394,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 86,
            "pitch_usage": 0.0,
            "release_speed": 86.92210877528385,
            "release_spin_rate": 2192.935261117394,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9221,
          "release_spin_rate": 2192.9353,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1654,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.1812,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1478,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0126,
      "strikeout_factor": 0.9171,
      "walk_factor": 0.89,
      "homer_factor": 0.9739,
      "woba_minus_xwoba": -0.022,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "607259",
        "espn_id": 33372,
        "player_name": "Nick Martinez",
        "team": "TB",
        "role": "pitcher",
        "espn_rank": 20,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 20,
          "gp_value": 27.0,
          "gp_rank": 285,
          "gs_value": 27.0,
          "gs_rank": 36,
          "qs_value": 14.0,
          "qs_rank": 23,
          "era_value": 3.0375,
          "era_rank": 14.0,
          "w_value": 14.0,
          "w_rank": 6,
          "l_value": 4.0,
          "l_rank": 186,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 160.0,
          "ip_rank": 23,
          "h_value": 152.0,
          "h_rank": 16,
          "er_value": 54.0,
          "er_rank": 96,
          "hr_value": 19.0,
          "hr_rank": 48,
          "bb_value": 24.0,
          "bb_rank": 230,
          "k_value": 95.0,
          "k_rank": 113,
          "k_per_9_value": 5.3437495,
          "k_per_9_rank": 132,
          "whip_value": 1.1,
          "whip_rank": 15.0,
          "war_value": 3.52,
          "war_rank": 18.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.0126,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 6.0,
        "factor": 1.0126,
        "adjusted": 6
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.89,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9739,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9171,
        "adjusted": 4
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 60.0,
    "ER": 25,
    "H": 57,
    "BB": 6,
    "SO": 34,
    "HR": 9,
    "ERA": 3.7499999999999996,
    "WHIP": 1.0499999999999998,
    "K9": 5.1,
    "HR9": 1.3499999999999999,
    "games_pitched": 10,
    "quality_starts": 5,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "607259",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 86,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 86,
    "pitch_usage": 0.0,
    "release_speed": 86.92210877528385,
    "release_spin_rate": 2192.935261117394,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 86,
      "pitch_usage": 0.0,
      "release_speed": 86.92210877528385,
      "release_spin_rate": 2192.935261117394,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9221,
    "release_spin_rate": 2192.9353,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1654,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.1812,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "607259",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 27,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 31.0,
        "ER": 16.0,
        "R": 16.0,
        "H": 30.0,
        "BB": 4.0,
        "SO": 22.0,
        "HR": 4.0,
        "BF": 124.0,
        "Pitches": 440.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 3.2,
        "R": 3.2,
        "H": 6.0,
        "BB": 0.8,
        "SO": 4.4,
        "HR": 0.8,
        "BF": 24.8,
        "Pitches": 88.0
      },
      "rates": {
        "ERA": 4.6452,
        "WHIP": 1.0968,
        "ER_per_IP": 0.51613,
        "H_per_IP": 0.96774,
        "BB_per_IP": 0.12903,
        "SO_per_IP": 0.70968,
        "HR_per_IP": 0.12903
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 60.0,
        "ER": 25.0,
        "R": 25.0,
        "H": 57.0,
        "BB": 6.0,
        "SO": 34.0,
        "HR": 9.0,
        "BF": 235.0,
        "Pitches": 828.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.5,
        "R": 2.5,
        "H": 5.7,
        "BB": 0.6,
        "SO": 3.4,
        "HR": 0.9,
        "BF": 23.5,
        "Pitches": 82.8
      },
      "rates": {
        "ERA": 3.75,
        "WHIP": 1.05,
        "ER_per_IP": 0.41667,
        "H_per_IP": 0.95,
        "BB_per_IP": 0.1,
        "SO_per_IP": 0.56667,
        "HR_per_IP": 0.15
      }
    },
    "season": {
      "games": 27,
      "totals": {
        "IP": 160.0,
        "ER": 54.0,
        "R": 54.0,
        "H": 152.0,
        "BB": 24.0,
        "SO": 95.0,
        "HR": 19.0,
        "BF": 643.0,
        "Pitches": 2240.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.6296,
        "BB": 0.8889,
        "SO": 3.5185,
        "HR": 0.7037,
        "BF": 23.8148,
        "Pitches": 82.963
      },
      "rates": {
        "ERA": 3.0375,
        "WHIP": 1.1,
        "ER_per_IP": 0.3375,
        "H_per_IP": 0.95,
        "BB_per_IP": 0.15,
        "SO_per_IP": 0.59375,
        "HR_per_IP": 0.11875
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 2.785,
    "predicted_H": 5.884,
    "predicted_BB": 0.992,
    "predicted_SO": 4.19,
    "predicted_HR": 0.835,
    "predicted_ERA": 4.091,
    "predicted_WHIP": 1.1222
  }
}
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.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 2.785,
      "final": 2.4584,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 5.884,
      "final": 5.5163,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.992,
      "final": 0.5793,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 4.19,
      "final": 4.527,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.835,
      "final": 0.4876,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.091,
      "final": 4.091,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1222,
      "final": 1.1222,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBryan Baker
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3851
ESPN Rank52
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER1
Pre H2
Pre BB0
Pre SO2
Season ERA1.4464
Season WHIP0.8571
Role Avg IP0.9820
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661.0,
    "runs_allowed": 603.0,
    "run_differential": 58.0,
    "run_differential_per_game": 0.4,
    "avg_runs_scored": 4.5586,
    "avg_runs_allowed": 4.1586,
    "offense_index": 1.0129,
    "defense_index": 1.0822,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 4.5,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.1689
  },
  "opponent": {
    "team": "ATL",
    "games": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5822,
    "runs_scored": 668.0,
    "runs_allowed": 560.0,
    "run_differential": 108.0,
    "run_differential_per_game": 0.7397,
    "avg_runs_scored": 4.5753,
    "avg_runs_allowed": 3.8356,
    "offense_index": 1.0166,
    "defense_index": 1.1733,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.3,
      "run_differential": -8.0
    },
    "available": true,
    "quality_score": 0.1253
  },
  "edges": {
    "quality_edge": 0.0436,
    "offense_edge": 0.0129,
    "opponent_offense_edge": 0.0166,
    "defense_strength": 0.0822,
    "opponent_defense_weakness": -0.1733,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0035,
    "run_prevention": 0.9923,
    "strikeout": 1.0
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "641329",
    "profile": {
      "available": true,
      "pitcher_id": "641329",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 191.0,
        "k_percent": 27.3,
        "bb_percent": 9.1,
        "woba": 0.229,
        "xwoba": 0.273,
        "sweet_spot_percent": 34.1,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 36.2,
        "avg_best_speed": 75.2899,
        "avg_hyper_speed": 93.5584,
        "whiff_percent": 28.1,
        "swing_percent": 53.2
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8922,
        "command_and_miss": 0.5007,
        "regression_edge": -1.2571,
        "xwoba_edge": 1.0857,
        "barrel_edge": -0.0222,
        "hard_hit_edge": 0.2429,
        "whiff_edge": 0.4429,
        "bb_edge": 0.025,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "641329",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.3851,
      "sample_weight": 0.764,
      "run_prevention_factor": 0.9673,
      "strikeout_factor": 1.0367,
      "walk_factor": 0.9985,
      "homer_factor": 0.9691,
      "woba_minus_xwoba": -0.044,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "641329",
        "espn_id": 40884,
        "player_name": "Bryan Baker",
        "team": "TB",
        "role": "pitcher",
        "espn_rank": 52,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 52,
          "gp_value": 59.0,
          "gp_rank": 52,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 1.6071,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 411,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 39.0,
          "sv_rank": 1,
          "hld_value": 2.0,
          "hld_rank": 229,
          "ip_value": 56.0,
          "ip_rank": 263,
          "h_value": 31.0,
          "h_rank": 404,
          "er_value": 10.0,
          "er_rank": 528,
          "hr_value": 4.0,
          "hr_rank": 375,
          "bb_value": 20.0,
          "bb_rank": 300,
          "k_value": 60.0,
          "k_rank": 230,
          "k_per_9_value": 9.642857,
          "k_per_9_rank": 23,
          "whip_value": 0.9107,
          "whip_rank": null,
          "war_value": 2.49,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.975,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.975,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9989,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9764,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.028,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.2,
    "ER": 1,
    "H": 4,
    "BB": 2,
    "SO": 7,
    "HR": 1,
    "ERA": 1.0384615384615383,
    "WHIP": 0.6923076923076922,
    "K9": 7.269230769230768,
    "HR9": 1.0384615384615383,
    "games_pitched": 8,
    "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-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "641329",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.302,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6933,
    "prior_weight": 0.3067
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "641329",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 57,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 67.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.4,
        "BB": 0.4,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 13.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.4,
        "BB_per_IP": 0.4,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 1.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 43.0,
        "Pitches": 144.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.3,
        "SO": 0.9,
        "HR": 0.1,
        "BF": 4.3,
        "Pitches": 14.4
      },
      "rates": {
        "ERA": 0.8438,
        "WHIP": 0.9375,
        "ER_per_IP": 0.09375,
        "H_per_IP": 0.65625,
        "BB_per_IP": 0.28125,
        "SO_per_IP": 0.84375,
        "HR_per_IP": 0.09375
      }
    },
    "season": {
      "games": 57,
      "totals": {
        "IP": 56.0,
        "ER": 9.0,
        "R": 10.0,
        "H": 30.0,
        "BB": 18.0,
        "SO": 60.0,
        "HR": 4.0,
        "BF": 217.0,
        "Pitches": 864.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1579,
        "R": 0.1754,
        "H": 0.5263,
        "BB": 0.3158,
        "SO": 1.0526,
        "HR": 0.0702,
        "BF": 3.807,
        "Pitches": 15.1579
      },
      "rates": {
        "ERA": 1.4464,
        "WHIP": 0.8571,
        "ER_per_IP": 0.16071,
        "H_per_IP": 0.53571,
        "BB_per_IP": 0.32143,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.07143
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.199,
    "predicted_H": 0.657,
    "predicted_BB": 0.352,
    "predicted_SO": 0.891,
    "predicted_HR": 0.078,
    "predicted_ERA": 1.7936,
    "predicted_WHIP": 1.0083
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4796,
  "form_weight": 0.5204,
  "form_reliability": 0.6933,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.302,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6933,
    "prior_weight": 0.3067
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.199,
      "final": 0.5831,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.657,
      "final": 1.3011,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.352,
      "final": 0.1832,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.891,
      "final": 1.4229,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.078,
      "final": 0.0406,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.7936,
      "final": 1.7936,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0083,
      "final": 1.0083,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherKevin Kelly
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0855
ESPN Rank69
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO3
Season ERA2.1281
Season WHIP0.8424
Role Avg IP1.0570
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661.0,
    "runs_allowed": 603.0,
    "run_differential": 58.0,
    "run_differential_per_game": 0.4,
    "avg_runs_scored": 4.5586,
    "avg_runs_allowed": 4.1586,
    "offense_index": 1.0129,
    "defense_index": 1.0822,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 4.5,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.1689
  },
  "opponent": {
    "team": "ATL",
    "games": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5822,
    "runs_scored": 668.0,
    "runs_allowed": 560.0,
    "run_differential": 108.0,
    "run_differential_per_game": 0.7397,
    "avg_runs_scored": 4.5753,
    "avg_runs_allowed": 3.8356,
    "offense_index": 1.0166,
    "defense_index": 1.1733,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.3,
      "run_differential": -8.0
    },
    "available": true,
    "quality_score": 0.1253
  },
  "edges": {
    "quality_edge": 0.0436,
    "offense_edge": 0.0129,
    "opponent_offense_edge": 0.0166,
    "defense_strength": 0.0822,
    "opponent_defense_weakness": -0.1733,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0035,
    "run_prevention": 0.9923,
    "strikeout": 1.0
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "687330",
    "profile": {
      "available": true,
      "pitcher_id": "687330",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 210.0,
        "k_percent": 21.4,
        "bb_percent": 4.4,
        "woba": 0.235,
        "xwoba": 0.296,
        "sweet_spot_percent": 31.0,
        "barrel_batted_rate": 6.0,
        "hard_hit_percent": 45.7,
        "avg_best_speed": 79.0087,
        "avg_hyper_speed": 94.8545,
        "whiff_percent": 21.6,
        "swing_percent": 48.7
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.4784,
        "command_and_miss": 0.0314,
        "regression_edge": -1.7429,
        "xwoba_edge": 0.4286,
        "barrel_edge": 0.2444,
        "hard_hit_edge": -1.1143,
        "whiff_edge": -0.4857,
        "bb_edge": 1.2,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "687330",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.0855,
      "sample_weight": 0.84,
      "run_prevention_factor": 0.9927,
      "strikeout_factor": 0.9808,
      "walk_factor": 0.9194,
      "homer_factor": 1.0102,
      "woba_minus_xwoba": -0.061,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "687330",
        "espn_id": 5001153,
        "player_name": "Kevin Kelly",
        "team": "TB",
        "role": "pitcher",
        "espn_rank": 69,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 69,
          "gp_value": 64.0,
          "gp_rank": 24,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.128,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 104,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 4.0,
          "sv_rank": 54,
          "hld_value": 30.0,
          "hld_rank": 2,
          "ip_value": 67.2,
          "ip_rank": 191,
          "h_value": 46.0,
          "h_rank": 263,
          "er_value": 16.0,
          "er_rank": 398,
          "hr_value": 6.0,
          "hr_rank": 271,
          "bb_value": 11.0,
          "bb_rank": 460,
          "k_value": 54.0,
          "k_rank": 268,
          "k_per_9_value": 7.182266,
          "k_per_9_rank": 37,
          "whip_value": 0.8423,
          "whip_rank": null,
          "war_value": 2.06,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9939,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9939,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9323,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0086,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9839,
        "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": 6,
    "BB": 2,
    "SO": 9,
    "HR": 2,
    "ERA": 3.724137931034483,
    "WHIP": 0.8275862068965518,
    "K9": 8.379310344827587,
    "HR9": 1.8620689655172415,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "687330",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.657,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.732,
    "prior_weight": 0.268
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687330",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 64,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 1.0,
        "BF": 15.0,
        "Pitches": 62.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.6,
        "H": 0.6,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 3.0,
        "Pitches": 12.4
      },
      "rates": {
        "ERA": 4.5,
        "WHIP": 0.75,
        "ER_per_IP": 0.5,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.25
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 4.0,
        "R": 5.0,
        "H": 6.0,
        "BB": 2.0,
        "SO": 9.0,
        "HR": 2.0,
        "BF": 37.0,
        "Pitches": 135.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.5,
        "H": 0.6,
        "BB": 0.2,
        "SO": 0.9,
        "HR": 0.2,
        "BF": 3.7,
        "Pitches": 13.5
      },
      "rates": {
        "ERA": 3.7241,
        "WHIP": 0.8276,
        "ER_per_IP": 0.41379,
        "H_per_IP": 0.62069,
        "BB_per_IP": 0.2069,
        "SO_per_IP": 0.93103,
        "HR_per_IP": 0.2069
      }
    },
    "season": {
      "games": 64,
      "totals": {
        "IP": 67.2,
        "ER": 16.0,
        "R": 19.0,
        "H": 46.0,
        "BB": 11.0,
        "SO": 54.0,
        "HR": 6.0,
        "BF": 252.0,
        "Pitches": 893.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.25,
        "R": 0.2969,
        "H": 0.7188,
        "BB": 0.1719,
        "SO": 0.8438,
        "HR": 0.0938,
        "BF": 3.9375,
        "Pitches": 13.9531
      },
      "rates": {
        "ERA": 2.1281,
        "WHIP": 0.8424,
        "ER_per_IP": 0.23645,
        "H_per_IP": 0.6798,
        "BB_per_IP": 0.16256,
        "SO_per_IP": 0.79803,
        "HR_per_IP": 0.08867
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.392,
    "predicted_H": 0.682,
    "predicted_BB": 0.157,
    "predicted_SO": 0.834,
    "predicted_HR": 0.167,
    "predicted_ERA": 3.9611,
    "predicted_WHIP": 0.9427
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4632,
  "form_weight": 0.5368,
  "form_reliability": 0.732,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.657,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.732,
    "prior_weight": 0.268
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.392,
      "final": 0.2104,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.682,
      "final": 0.8293,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.157,
      "final": 0.0843,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 0.834,
      "final": 1.8374,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.167,
      "final": 0.0896,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9611,
      "final": 3.9611,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9427,
      "final": 0.9427,
      "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 Wells
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5489
ESPN Rank65
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER2
Pre H2
Pre BB1
Pre SO0
Season ERA2.4429
Season WHIP0.9000
Role Avg IP1.2410
Recent Avg IP1.3330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661.0,
    "runs_allowed": 603.0,
    "run_differential": 58.0,
    "run_differential_per_game": 0.4,
    "avg_runs_scored": 4.5586,
    "avg_runs_allowed": 4.1586,
    "offense_index": 1.0129,
    "defense_index": 1.0822,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 4.5,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.1689
  },
  "opponent": {
    "team": "ATL",
    "games": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5822,
    "runs_scored": 668.0,
    "runs_allowed": 560.0,
    "run_differential": 108.0,
    "run_differential_per_game": 0.7397,
    "avg_runs_scored": 4.5753,
    "avg_runs_allowed": 3.8356,
    "offense_index": 1.0166,
    "defense_index": 1.1733,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.3,
      "run_differential": -8.0
    },
    "available": true,
    "quality_score": 0.1253
  },
  "edges": {
    "quality_edge": 0.0436,
    "offense_edge": 0.0129,
    "opponent_offense_edge": 0.0166,
    "defense_strength": 0.0822,
    "opponent_defense_weakness": -0.1733,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0035,
    "run_prevention": 0.9923,
    "strikeout": 1.0
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669330",
    "profile": {
      "available": true,
      "pitcher_id": "669330",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 236.0,
        "k_percent": 25.6,
        "bb_percent": 6.3,
        "woba": 0.252,
        "xwoba": 0.267,
        "sweet_spot_percent": 34.1,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 33.0,
        "avg_best_speed": 78.2999,
        "avg_hyper_speed": 92.9668,
        "whiff_percent": 30.2,
        "swing_percent": 52.3
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8194,
        "command_and_miss": 0.6364,
        "regression_edge": -0.4286,
        "xwoba_edge": 1.2571,
        "barrel_edge": 0.0,
        "hard_hit_edge": 0.7,
        "whiff_edge": 0.7429,
        "bb_edge": 0.725,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "669330",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.5489,
      "sample_weight": 0.944,
      "run_prevention_factor": 0.9533,
      "strikeout_factor": 1.0475,
      "walk_factor": 0.9452,
      "homer_factor": 0.938,
      "woba_minus_xwoba": -0.015,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "669330",
        "espn_id": 4717904,
        "player_name": "Tyler Wells",
        "team": "TB",
        "role": "pitcher",
        "espn_rank": 65,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 65,
          "gp_value": 55.0,
          "gp_rank": 77,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.4428,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 190,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 6.0,
          "sv_rank": 40,
          "hld_value": 15.0,
          "hld_rank": 35,
          "ip_value": 70.0,
          "ip_rank": 185,
          "h_value": 46.0,
          "h_rank": 263,
          "er_value": 19.0,
          "er_rank": 331,
          "hr_value": 8.0,
          "hr_rank": 205,
          "bb_value": 17.0,
          "bb_rank": 347,
          "k_value": 69.0,
          "k_rank": 185,
          "k_per_9_value": 8.8714285,
          "k_per_9_rank": 27,
          "whip_value": 0.9,
          "whip_rank": null,
          "war_value": 2.2,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9559,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9559,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9483,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9415,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0448,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 12.2,
    "ER": 3,
    "H": 6,
    "BB": 3,
    "SO": 11,
    "HR": 2,
    "ERA": 2.131578947368421,
    "WHIP": 0.7105263157894737,
    "K9": 7.81578947368421,
    "HR9": 1.4210526315789473,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "669330",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.128,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7386,
    "prior_weight": 0.2614
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "669330",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 55,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.2,
        "ER": 0.0,
        "R": 1.0,
        "H": 0.0,
        "BB": 1.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 87.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.0,
        "BB": 0.2,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.15,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.15,
        "SO_per_IP": 1.05,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.2,
        "ER": 3.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 11.0,
        "HR": 2.0,
        "BF": 47.0,
        "Pitches": 189.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.3,
        "SO": 1.1,
        "HR": 0.2,
        "BF": 4.7,
        "Pitches": 18.9
      },
      "rates": {
        "ERA": 2.1316,
        "WHIP": 0.7105,
        "ER_per_IP": 0.23684,
        "H_per_IP": 0.47368,
        "BB_per_IP": 0.23684,
        "SO_per_IP": 0.86842,
        "HR_per_IP": 0.15789
      }
    },
    "season": {
      "games": 55,
      "totals": {
        "IP": 70.0,
        "ER": 19.0,
        "R": 23.0,
        "H": 46.0,
        "BB": 17.0,
        "SO": 69.0,
        "HR": 8.0,
        "BF": 270.0,
        "Pitches": 1044.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3455,
        "R": 0.4182,
        "H": 0.8364,
        "BB": 0.3091,
        "SO": 1.2545,
        "HR": 0.1455,
        "BF": 4.9091,
        "Pitches": 18.9818
      },
      "rates": {
        "ERA": 2.4429,
        "WHIP": 0.9,
        "ER_per_IP": 0.27143,
        "H_per_IP": 0.65714,
        "BB_per_IP": 0.24286,
        "SO_per_IP": 0.98571,
        "HR_per_IP": 0.11429
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.29,
    "predicted_H": 0.591,
    "predicted_BB": 0.304,
    "predicted_SO": 1.202,
    "predicted_HR": 0.12,
    "predicted_ERA": 2.0952,
    "predicted_WHIP": 0.7179
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4604,
  "form_weight": 0.5396,
  "form_reliability": 0.7386,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.128,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7386,
    "prior_weight": 0.2614
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.1,
      "final": 1.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.29,
      "final": 1.0774,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.591,
      "final": 1.2398,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.304,
      "final": 0.6245,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.202,
      "final": 0.6485,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.12,
      "final": 0.5252,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0952,
      "final": 2.0952,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.7179,
      "final": 0.7179,
      "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."
}
Ryan Vilade (668723) · BATTER · 1B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 223
All-history rows before 20260910: 223
System season_avg: 0.2620
Data season_avg (2026 season-to-date): 0.2731
Diff (system - data): -0.0111
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.1040.0000.000Hitting_2B0.1430.000-0.1430.000
predicted_3B0.0260.0000.000Hitting_3B0.0270.000-0.0270.000
predicted_AB2.6753.0004.000Hitting_AB3.0542.000-0.0541.000
predicted_AVG0.2620.0000.250Hitting_AVG0.2730.000-0.2730.000
predicted_BB0.2602.0000.000Hitting_BB0.2912.0001.7090.000
predicted_CS-0.0000.000BaseRunning_CS0.0040.000-0.0040.000
predicted_H0.7010.0001.000Hitting_H0.8340.000-0.8340.000
predicted_HR0.1430.0000.000Hitting_HR0.1700.000-0.1700.000
predicted_OBP0.3270.4000.250Hitting_OBP0.3360.5000.064-0.100
predicted_R0.3250.0000.000Hitting_R0.4220.000-0.4220.000
predicted_RBI0.4940.0001.000Hitting_RBI0.5780.000-0.5780.000
predicted_SLG0.4810.0000.250Hitting_SLG0.5050.000-0.5050.000
predicted_SO0.6750.0001.000Hitting_SO0.7491.000-0.749-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics3
Deboosted Metrics7
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_BB: 0.2600 -> 2.0000 (boost 1.7400, better)
Biggest Deboostpredicted_H: 0.7010 -> 0.0000 (deboost -0.7010, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_OBP: 0.3270 -> 0.3371 (boost 0.0101, better)predicted_SLG: 0.4810 -> 0.4681 (deboost -0.0129, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_AB: 2.6521 -> 4.0000 (boost 1.3479, better)predicted_BB: 0.2975 -> 0.0000 (deboost -0.2975, worse)AB rounded to 4 (raw=2.67), rates preserved: AVG=0.249 HR/AB=0.044
6consistency_constraints10101-predicted_R: 0.2844 -> 0.0000 (deboost -0.2844, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3855 (boost 0.3855, better)predicted_RBI: 1.0000 -> 0.5577 (deboost -0.4423, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_RBI: 0.5577 -> 1.0000 (boost 0.4423, better)predicted_BB: 0.3855 -> 0.0000 (deboost -0.3855, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_SLG: 0.4651 -> 0.4410 (deboost -0.0241, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference51423predicted_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
11current_json_final33030predicted_SLG: 0.4410 -> 0.4651 (boost 0.0241, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668723",
  "player_name": "Ryan Vilade",
  "position": "1B",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.104,
        "predicted_3B": 0.026,
        "predicted_AB": 2.675,
        "predicted_AVG": 0.262,
        "predicted_BB": 0.26,
        "predicted_H": 0.701,
        "predicted_HR": 0.143,
        "predicted_OBP": 0.327,
        "predicted_R": 0.325,
        "predicted_RBI": 0.494,
        "predicted_SLG": 0.481,
        "predicted_SO": 0.675
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.089,
        "predicted_3B": 0.0481,
        "predicted_AB": 2.6521,
        "predicted_AVG": 0.2639,
        "predicted_BB": 0.297,
        "predicted_H": 0.6998,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1189,
        "predicted_OBP": 0.3371,
        "predicted_R": 0.2859,
        "predicted_RBI": 0.4645,
        "predicted_SLG": 0.4681,
        "predicted_SO": 0.6492
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.104,
          "after": 0.089,
          "delta": -0.015,
          "percent_delta": -0.1442,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0481,
          "delta": 0.0221,
          "percent_delta": 0.85,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.675,
          "after": 2.6521,
          "delta": -0.0229,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.262,
          "after": 0.2639,
          "delta": 0.0019,
          "percent_delta": 0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.26,
          "after": 0.297,
          "delta": 0.037,
          "percent_delta": 0.1423,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.701,
          "after": 0.6998,
          "delta": -0.0012,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.143,
          "after": 0.1189,
          "delta": -0.0241,
          "percent_delta": -0.1685,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.327,
          "after": 0.3371,
          "delta": 0.0101,
          "percent_delta": 0.0309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.325,
          "after": 0.2859,
          "delta": -0.0391,
          "percent_delta": -0.1203,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.494,
          "after": 0.4645,
          "delta": -0.0295,
          "percent_delta": -0.0597,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.481,
          "after": 0.4681,
          "delta": -0.0129,
          "percent_delta": -0.0268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.675,
          "after": 0.6492,
          "delta": -0.0258,
          "percent_delta": -0.0382,
          "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.327,
          "after": 0.3371,
          "delta": 0.0101,
          "percent_delta": 0.0309,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.481,
          "after": 0.4681,
          "delta": -0.0129,
          "percent_delta": -0.0268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.089,
        "predicted_3B": 0.0481,
        "predicted_AB": 2.6521,
        "predicted_AVG": 0.2626,
        "predicted_BB": 0.2975,
        "predicted_H": 0.6964,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.1173,
        "predicted_OBP": 0.337,
        "predicted_R": 0.2844,
        "predicted_RBI": 0.4621,
        "predicted_SLG": 0.4651,
        "predicted_SO": 0.648
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.089,
          "after": 0.089,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0481,
          "after": 0.0481,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6521,
          "after": 2.6521,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2639,
          "after": 0.2626,
          "delta": -0.0013,
          "percent_delta": -0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.297,
          "after": 0.2975,
          "delta": 0.0005,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6998,
          "after": 0.6964,
          "delta": -0.0034,
          "percent_delta": -0.0049,
          "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.1189,
          "after": 0.1173,
          "delta": -0.0016,
          "percent_delta": -0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3371,
          "after": 0.337,
          "delta": -0.0001,
          "percent_delta": -0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2859,
          "after": 0.2844,
          "delta": -0.0015,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4645,
          "after": 0.4621,
          "delta": -0.0024,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4681,
          "after": 0.4651,
          "delta": -0.003,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.6492,
          "after": 0.648,
          "delta": -0.0012,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=2.67), rates preserved: AVG=0.249 HR/AB=0.044",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "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.0481,
          "after": 0.0,
          "delta": -0.0481,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.6521,
          "after": 4.0,
          "delta": 1.3479,
          "percent_delta": 0.5082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2975,
          "after": 0.0,
          "delta": -0.2975,
          "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.009,
          "after": 0.0,
          "delta": -0.009,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1173,
          "after": 0.0,
          "delta": -0.1173,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4621,
          "after": 1.0,
          "delta": 0.5379,
          "percent_delta": 1.164,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.648,
          "after": 1.0,
          "delta": 0.352,
          "percent_delta": 0.5432,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.6521,
          "after": 4.0,
          "delta": 1.3479,
          "percent_delta": 0.5082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2975,
          "after": 0.0,
          "delta": -0.2975,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2844,
          "after": 0.0,
          "delta": -0.2844,
          "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.2844,
          "after": 0.0,
          "delta": -0.2844,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1618,
        "predicted_3B": 0.0162,
        "predicted_BB": 0.3855,
        "predicted_H": 0.8919,
        "predicted_HR": 0.1689,
        "predicted_RBI": 0.5577,
        "predicted_SO": 0.8052
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1618,
          "delta": 0.1618,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0162,
          "delta": 0.0162,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3855,
          "delta": 0.3855,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8919,
          "delta": -0.1081,
          "percent_delta": -0.1081,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1689,
          "delta": 0.1689,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5577,
          "delta": -0.4423,
          "percent_delta": -0.4423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8052,
          "delta": -0.1948,
          "percent_delta": -0.1948,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3855,
          "delta": 0.3855,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5577,
          "delta": -0.4423,
          "percent_delta": -0.4423,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1618,
          "after": 0.0,
          "delta": -0.1618,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0162,
          "after": 0.0,
          "delta": -0.0162,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3855,
          "after": 0.0,
          "delta": -0.3855,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8919,
          "after": 1.0,
          "delta": 0.1081,
          "percent_delta": 0.1212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1689,
          "after": 0.0,
          "delta": -0.1689,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5577,
          "after": 1.0,
          "delta": 0.4423,
          "percent_delta": 0.7931,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8052,
          "after": 1.0,
          "delta": 0.1948,
          "percent_delta": 0.2419,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5577,
          "after": 1.0,
          "delta": 0.4423,
          "percent_delta": 0.7931,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3855,
          "after": 0.0,
          "delta": -0.3855,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.441,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2626,
          "after": 0.247,
          "delta": -0.0156,
          "percent_delta": -0.0594,
          "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.337,
          "after": 0.325,
          "delta": -0.012,
          "percent_delta": -0.0356,
          "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.4651,
          "after": 0.441,
          "delta": -0.0241,
          "percent_delta": -0.0518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4651,
          "after": 0.441,
          "delta": -0.0241,
          "percent_delta": -0.0518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2626,
        "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.337,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4651,
        "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.247,
          "after": 0.2626,
          "delta": 0.0156,
          "percent_delta": 0.0632,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.337,
          "delta": 0.012,
          "percent_delta": 0.0369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.441,
          "after": 0.4651,
          "delta": 0.0241,
          "percent_delta": 0.0546,
          "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.441,
          "after": 0.4651,
          "delta": 0.0241,
          "percent_delta": 0.0546,
          "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.104,
        "after": 0.0,
        "delta": -0.104,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.675,
        "after": 3.0,
        "delta": 0.325,
        "percent_delta": 0.1215,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.262,
        "after": 0.2626,
        "delta": 0.0006,
        "percent_delta": 0.0023,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.26,
        "after": 2.0,
        "delta": 1.74,
        "percent_delta": 6.6923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.701,
        "after": 0.0,
        "delta": -0.701,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.143,
        "after": 0.0,
        "delta": -0.143,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.327,
        "after": 0.337,
        "delta": 0.01,
        "percent_delta": 0.0306,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.325,
        "after": 0.0,
        "delta": -0.325,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.494,
        "after": 0.0,
        "delta": -0.494,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.481,
        "after": 0.4651,
        "delta": -0.0159,
        "percent_delta": -0.0331,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.675,
        "after": 0.0,
        "delta": -0.675,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.26,
        "after": 2.0,
        "delta": 1.74,
        "percent_delta": 6.6923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.701,
        "after": 0.0,
        "delta": -0.701,
        "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.104-
predicted_3B0.026-
predicted_AB2.675-
predicted_AVG0.262-
predicted_BB0.260-
predicted_H0.701-
predicted_HR0.143-
predicted_OBP0.327-
predicted_R0.325-
predicted_RBI0.494-
predicted_SLG0.481-
predicted_SO0.675-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.089-0.015
predicted_3B0.0480.022
predicted_AB2.652-0.023
predicted_AVG0.2640.002
predicted_BB0.2970.037
predicted_H0.700-0.001
predicted_HBP0.009-
predicted_HR0.119-0.024
predicted_OBP0.3370.010
predicted_R0.286-0.039
predicted_RBI0.465-0.029
predicted_SLG0.468-0.013
predicted_SO0.649-0.026
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0890.000
predicted_3B0.0480.000
predicted_AB2.6520.000
predicted_AVG0.263-0.001
predicted_BB0.2970.001
predicted_H0.696-0.003
predicted_HBP0.0090.000
predicted_HR0.117-0.002
predicted_OBP0.337-0.000
predicted_R0.284-0.002
predicted_RBI0.462-0.002
predicted_SLG0.465-0.003
predicted_SO0.648-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1620.162
3B0.0160.016
BB0.3860.386
H0.892-0.108
HR0.1690.169
RBI0.558-0.442
SO0.805-0.195
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.162
3B0.000-0.016
AB4.0000.000
BB0.000-0.386
H1.0000.108
HR0.000-0.169
R0.0000.000
RBI1.0000.442
SO1.0000.195
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.089
predicted_3B0.000-0.048
predicted_AB4.0001.348
predicted_AVG0.247-0.016
predicted_BB0.000-0.297
predicted_H1.0000.304
predicted_HR0.000-0.117
predicted_OBP0.325-0.012
predicted_R0.000-0.284
predicted_RBI1.0000.538
predicted_SLG0.441-0.024
predicted_SO1.0000.352
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB2.0002.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: 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-11.0003.0000.0001.0000.0002.0000.0003.0002.0000.27270.42860.45450.27270.00000.18180.27270.1818
last_100.2010-21.0006.0000.0001.0000.0002.0001.0003.0005.0000.28570.37500.38100.28570.00000.09520.14290.2381
season0.6077-206.00054.0008.0002.00011.00038.00025.00020.00052.0000.26210.32750.48060.26210.05340.18450.09710.2524
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0680
predicted_3B0.0790
predicted_AB2.6200
predicted_AVG0.2665
predicted_BB0.3490
predicted_H0.6980
predicted_HBP0.0090
predicted_HR0.0850
predicted_OBP0.3512
predicted_R0.2310
predicted_RBI0.4230
predicted_SLG0.4499
predicted_SO0.6130
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10400.06800.0890model_form_blend
predicted_3B0.02600.07900.0481model_form_blend
predicted_AB2.67502.62002.6521model_form_blend
predicted_AVG0.26200.26650.2639model_form_blend
predicted_BB0.26000.34900.2970model_form_blend
predicted_H0.70100.69800.6998model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.14300.08500.1189model_form_blend
predicted_OBP0.32700.35120.3371model_form_blend
predicted_R0.32500.23100.2859model_form_blend
predicted_RBI0.49400.42300.4645model_form_blend
predicted_SLG0.48100.44990.4681model_form_blend
predicted_SO0.67500.61300.6492model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date223
Season rows before report date223
Report year2026
Profile rows 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
PA5
AB3
H0
2B0
3B0
HR0
R0
RBI0
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_AB2
Hitting_AVG0.0
Hitting_BB2
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_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-1B
gameID20260906_TB@TEX
game_typefull
mlbID668723
playerID668723
playerNameRyan Vilade
posRF
startedTrue
startingPosition2B
teamTB
teamID27
game_date2026-09-06
sl_k_percent22.0
sl_bb_percent8.9
sl_woba0.345
sl_xwoba0.335
sl_xba0.26
sl_xslg0.449
sl_sweet_spot_percent30.9
sl_barrel_batted_rate7.5
sl_hard_hit_percent40.4
sl_exit_velocity_avg89.9
sl_launch_angle_avg17.6
sl_whiff_percent22.7
sl_swing_percent49.6
Chandler Simpson (802415) · BATTER · LF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 498
All-history rows before 20260910: 498
System season_avg: 0.3090
Data season_avg (2026 season-to-date): 0.3106
Diff (system - data): -0.0016
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.1050.0000.000Hitting_2B0.1200.000-0.1200.000
predicted_3B0.0450.0000.000Hitting_3B0.0420.000-0.0420.000
predicted_AB4.6204.0004.000Hitting_AB3.9823.0000.0181.000
predicted_AVG0.3090.0000.250Hitting_AVG0.3110.667-0.311-0.667
predicted_BB0.1800.0000.000Hitting_BB0.1931.000-0.193-1.000
predicted_CS-0.0000.000BaseRunning_CS0.1100.000-0.1100.000
predicted_H1.4300.0001.000Hitting_H1.2372.000-1.237-2.000
predicted_HR0.0100.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3340.0000.250Hitting_OBP0.3380.750-0.338-0.750
predicted_R0.4441.0001.000Hitting_R0.4262.0000.574-1.000
predicted_RBI0.2001.0000.000Hitting_RBI0.2310.0000.7691.000
predicted_SLG0.3450.0000.250Hitting_SLG0.3620.667-0.362-0.667
predicted_SO0.3461.0000.000Hitting_SO0.3690.0000.6311.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics7
Boosted Metrics3
Deboosted Metrics4
Better Metrics2
Worse Metrics5
Biggest Boostpredicted_RBI: 0.2000 -> 1.0000 (boost 0.8000, better)
Biggest Deboostpredicted_H: 1.4300 -> 0.0000 (deboost -1.4300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_R: 0.4440 -> 0.5083 (boost 0.0643, better)predicted_AB: 4.6200 -> 4.3591 (deboost -0.2609, worse)Final model input calibrated 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.3436 -> 0.3499 (boost 0.0063, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60615-predicted_SO: 0.3810 -> 0.0000 (deboost -0.3810, better)AB rounded to 4 (raw=4.62), rates preserved: AVG=0.276 HR/AB=0.002
6consistency_constraints11010predicted_R: 0.5057 -> 1.0000 (boost 0.4943, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55041predicted_SO: 0.0000 -> 0.3859 (boost 0.3859, worse)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation50514-predicted_SO: 0.3859 -> 0.0000 (deboost -0.3859, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context31212predicted_SLG: 0.3499 -> 0.3640 (boost 0.0141, better)predicted_AVG: 0.3061 -> 0.2820 (deboost -0.0241, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference32112predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final32121predicted_AVG: 0.2820 -> 0.3061 (boost 0.0241, better)predicted_SLG: 0.3640 -> 0.3499 (deboost -0.0141, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "802415",
  "player_name": "Chandler Simpson",
  "position": "LF",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.105,
        "predicted_3B": 0.045,
        "predicted_AB": 4.62,
        "predicted_AVG": 0.309,
        "predicted_BB": 0.18,
        "predicted_H": 1.43,
        "predicted_HR": 0.01,
        "predicted_OBP": 0.334,
        "predicted_R": 0.444,
        "predicted_RBI": 0.2,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.346
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0907,
        "predicted_3B": 0.0372,
        "predicted_AB": 4.3591,
        "predicted_AVG": 0.3072,
        "predicted_BB": 0.1857,
        "predicted_H": 1.3409,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0087,
        "predicted_OBP": 0.3344,
        "predicted_R": 0.5083,
        "predicted_RBI": 0.1922,
        "predicted_SLG": 0.3436,
        "predicted_SO": 0.3817
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.105,
          "after": 0.0907,
          "delta": -0.0143,
          "percent_delta": -0.1362,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.045,
          "after": 0.0372,
          "delta": -0.0078,
          "percent_delta": -0.1733,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.62,
          "after": 4.3591,
          "delta": -0.2609,
          "percent_delta": -0.0565,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.309,
          "after": 0.3072,
          "delta": -0.0018,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.18,
          "after": 0.1857,
          "delta": 0.0057,
          "percent_delta": 0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.43,
          "after": 1.3409,
          "delta": -0.0891,
          "percent_delta": -0.0623,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.01,
          "after": 0.0087,
          "delta": -0.0013,
          "percent_delta": -0.13,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.334,
          "after": 0.3344,
          "delta": 0.0004,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.444,
          "after": 0.5083,
          "delta": 0.0643,
          "percent_delta": 0.1448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2,
          "after": 0.1922,
          "delta": -0.0078,
          "percent_delta": -0.039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3436,
          "delta": -0.0014,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.346,
          "after": 0.3817,
          "delta": 0.0357,
          "percent_delta": 0.1032,
          "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_R",
          "before": 0.444,
          "after": 0.5083,
          "delta": 0.0643,
          "percent_delta": 0.1448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.62,
          "after": 4.3591,
          "delta": -0.2609,
          "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": 133
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0907,
        "predicted_3B": 0.0372,
        "predicted_AB": 4.3591,
        "predicted_AVG": 0.3061,
        "predicted_BB": 0.186,
        "predicted_H": 1.3345,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0086,
        "predicted_OBP": 0.3345,
        "predicted_R": 0.5057,
        "predicted_RBI": 0.1912,
        "predicted_SLG": 0.3499,
        "predicted_SO": 0.381
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0907,
          "after": 0.0907,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0372,
          "after": 0.0372,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3591,
          "after": 4.3591,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3072,
          "after": 0.3061,
          "delta": -0.0011,
          "percent_delta": -0.0036,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1857,
          "after": 0.186,
          "delta": 0.0003,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3409,
          "after": 1.3345,
          "delta": -0.0064,
          "percent_delta": -0.0048,
          "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.0087,
          "after": 0.0086,
          "delta": -0.0001,
          "percent_delta": -0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3344,
          "after": 0.3345,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5083,
          "after": 0.5057,
          "delta": -0.0026,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1922,
          "after": 0.1912,
          "delta": -0.001,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3436,
          "after": 0.3499,
          "delta": 0.0063,
          "percent_delta": 0.0183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3817,
          "after": 0.381,
          "delta": -0.0007,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3436,
          "after": 0.3499,
          "delta": 0.0063,
          "percent_delta": 0.0183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.62), rates preserved: AVG=0.276 HR/AB=0.002",
      "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.0907,
          "after": 0.0,
          "delta": -0.0907,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0372,
          "after": 0.0,
          "delta": -0.0372,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3591,
          "after": 4.0,
          "delta": -0.3591,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.186,
          "after": 0.0,
          "delta": -0.186,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3345,
          "after": 1.0,
          "delta": -0.3345,
          "percent_delta": -0.2507,
          "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.0086,
          "after": 0.0,
          "delta": -0.0086,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1912,
          "after": 0.0,
          "delta": -0.1912,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.381,
          "after": 0.0,
          "delta": -0.381,
          "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.381,
          "after": 0.0,
          "delta": -0.381,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5057,
          "after": 1.0,
          "delta": 0.4943,
          "percent_delta": 0.9775,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5057,
          "after": 1.0,
          "delta": 0.4943,
          "percent_delta": 0.9775,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1339,
        "predicted_3B": 0.0277,
        "predicted_BB": 0.2007,
        "predicted_H": 1.0628,
        "predicted_HR": 0.0401,
        "predicted_RBI": 0.3157,
        "predicted_SO": 0.3859
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1339,
          "delta": 0.1339,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0277,
          "delta": 0.0277,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2007,
          "delta": 0.2007,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0628,
          "delta": 0.0628,
          "percent_delta": 0.0628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0401,
          "delta": 0.0401,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3157,
          "delta": 0.3157,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.3859,
          "delta": 0.3859,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.3859,
          "delta": 0.3859,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1339,
          "after": 0.0,
          "delta": -0.1339,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0277,
          "after": 0.0,
          "delta": -0.0277,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2007,
          "after": 0.0,
          "delta": -0.2007,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0628,
          "after": 1.0,
          "delta": -0.0628,
          "percent_delta": -0.0591,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0401,
          "after": 0.0,
          "delta": -0.0401,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3157,
          "after": 0.0,
          "delta": -0.3157,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3859,
          "after": 0.0,
          "delta": -0.3859,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.3859,
          "after": 0.0,
          "delta": -0.3859,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.282,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.324,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.364,
        "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.3061,
          "after": 0.282,
          "delta": -0.0241,
          "percent_delta": -0.0787,
          "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.3345,
          "after": 0.324,
          "delta": -0.0105,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3499,
          "after": 0.364,
          "delta": 0.0141,
          "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": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3499,
          "after": 0.364,
          "delta": 0.0141,
          "percent_delta": 0.0403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3061,
          "after": 0.282,
          "delta": -0.0241,
          "percent_delta": -0.0787,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 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": 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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.3061,
        "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.3345,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3499,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.3061,
          "delta": 0.0241,
          "percent_delta": 0.0856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.324,
          "after": 0.3345,
          "delta": 0.0105,
          "percent_delta": 0.0325,
          "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.364,
          "after": 0.3499,
          "delta": -0.0141,
          "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": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.3061,
          "delta": 0.0241,
          "percent_delta": 0.0856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.364,
          "after": 0.3499,
          "delta": -0.0141,
          "percent_delta": -0.0387,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.105,
        "after": 0.0,
        "delta": -0.105,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.045,
        "after": 0.0,
        "delta": -0.045,
        "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.309,
        "after": 0.3061,
        "delta": -0.0029,
        "percent_delta": -0.0094,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.43,
        "after": 0.0,
        "delta": -1.43,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.01,
        "after": 0.0,
        "delta": -0.01,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.334,
        "after": 0.3345,
        "delta": 0.0005,
        "percent_delta": 0.0015,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.444,
        "after": 1.0,
        "delta": 0.556,
        "percent_delta": 1.2523,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.2,
        "after": 1.0,
        "delta": 0.8,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.345,
        "after": 0.3499,
        "delta": 0.0049,
        "percent_delta": 0.0142,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.346,
        "after": 1.0,
        "delta": 0.654,
        "percent_delta": 1.8902,
        "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.2,
        "after": 1.0,
        "delta": 0.8,
        "percent_delta": 4.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.43,
        "after": 0.0,
        "delta": -1.43,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.105-
predicted_3B0.045-
predicted_AB4.620-
predicted_AVG0.309-
predicted_BB0.180-
predicted_H1.430-
predicted_HR0.010-
predicted_OBP0.334-
predicted_R0.444-
predicted_RBI0.200-
predicted_SLG0.345-
predicted_SO0.346-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.091-0.014
predicted_3B0.037-0.008
predicted_AB4.359-0.261
predicted_AVG0.307-0.002
predicted_BB0.1860.006
predicted_H1.341-0.089
predicted_HBP0.002-
predicted_HR0.009-0.001
predicted_OBP0.3340.000
predicted_R0.5080.064
predicted_RBI0.192-0.008
predicted_SLG0.344-0.001
predicted_SO0.3820.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.0910.000
predicted_3B0.0370.000
predicted_AB4.3590.000
predicted_AVG0.306-0.001
predicted_BB0.1860.000
predicted_H1.335-0.006
predicted_HBP0.0020.000
predicted_HR0.009-0.000
predicted_OBP0.3350.000
predicted_R0.506-0.003
predicted_RBI0.191-0.001
predicted_SLG0.3500.006
predicted_SO0.381-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.62), rates preserved: AVG=0.276 HR/AB=0.002

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1340.134
3B0.0280.028
BB0.2010.201
H1.0630.063
HR0.0400.040
RBI0.3160.316
SO0.3860.386
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.134
3B0.000-0.028
AB4.0000.000
BB0.000-0.201
H1.000-0.063
HR0.000-0.040
R1.0000.000
RBI0.000-0.316
SO0.000-0.386
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.091
predicted_3B0.000-0.037
predicted_AB4.000-0.359
predicted_AVG0.282-0.024
predicted_BB0.000-0.186
predicted_H1.000-0.335
predicted_HR0.000-0.009
predicted_OBP0.324-0.011
predicted_R1.0000.494
predicted_RBI0.000-0.191
predicted_SLG0.3640.014
predicted_SO0.000-0.381
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI1.0001.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: 133
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-22.0007.0000.0000.0000.0000.0005.0001.0003.0000.31820.34780.31820.31820.00000.00000.04540.1364
last_100.2010-41.00012.0000.0000.0000.0001.0007.0002.0004.0000.29270.32560.29270.29270.00000.02440.04880.0976
season0.60133-517.000160.00014.0006.0000.00031.00059.00024.00046.0000.30950.33640.35980.30950.00000.06000.04640.0890
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0720
predicted_3B0.0270
predicted_AB4.0200
predicted_AVG0.3048
predicted_BB0.1930
predicted_H1.2250
predicted_HBP0.0020
predicted_HR0.0070
predicted_OBP0.3349
predicted_R0.5920
predicted_RBI0.1820
predicted_SLG0.3417
predicted_SO0.4280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10500.07200.0907model_form_blend
predicted_3B0.04500.02700.0372model_form_blend
predicted_AB4.62004.02004.3591model_form_blend
predicted_AVG0.30900.30480.3072model_form_blend
predicted_BB0.18000.19300.1857model_form_blend
predicted_H1.43001.22501.3409model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.01000.00700.0087model_form_blend
predicted_OBP0.33400.33490.3344model_form_blend
predicted_R0.44400.59200.5083model_form_blend
predicted_RBI0.20000.18200.1922model_form_blend
predicted_SLG0.34500.34170.3436model_form_blend
predicted_SO0.34600.42800.3817model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
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_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_R2
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260909_TB@ATL
game_typefull
mlbID802415
playerID802415
playerNameChandler Simpson
posLF
startedTrue
startingPositionLF
teamTB
teamID27
game_date2026-09-09
sl_k_percent8.3
sl_bb_percent4.3
sl_woba0.306
sl_xwoba0.262
sl_xba0.258
sl_xslg0.295
sl_sweet_spot_percent26.1
sl_barrel_batted_rate0.0
sl_hard_hit_percent12.9
sl_exit_velocity_avg83.7
sl_launch_angle_avg1.3
sl_whiff_percent10.6
sl_swing_percent47.7
Nick Madrigal (663611) · BATTER · 2B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 0
All-history rows before 20260910: 0
System season_avg: 0.2730
Data season_avg (2026 season-to-date): -
Diff (system - data): -
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.0711.0000.000Hitting_2B----
predicted_3B0.0000.0000.000Hitting_3B----
predicted_AB3.1434.0003.000Hitting_AB----
predicted_AVG0.2730.5000.333Hitting_AVG----
predicted_BB0.5000.0001.000Hitting_BB----
predicted_CS-0.0000.000BaseRunning_CS----
predicted_H0.8572.0001.000Hitting_H----
predicted_HR0.0000.0000.000Hitting_HR----
predicted_OBP0.3730.5000.500Hitting_OBP----
predicted_R0.5000.0000.000Hitting_R----
predicted_RBI0.1430.0000.000Hitting_RBI----
predicted_SB-0.0000.000BaseRunning_SB----
predicted_SLG0.2950.7500.333Hitting_SLG----
predicted_SO0.2140.0000.000Hitting_SO----

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.8570 -> 2.0000 (boost 1.1430, better)
Biggest Deboostpredicted_BB: 0.5000 -> 0.0000 (deboost -0.5000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53223predicted_AB: 3.1430 -> 3.2571 (boost 0.1141, better)predicted_OBP: 0.3730 -> 0.3624 (deboost -0.0106, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62433predicted_BB: 0.4879 -> 1.0000 (boost 0.5121, better)predicted_SO: 0.2863 -> 0.0000 (deboost -0.2863, better)AB rounded to 3 (raw=3.26), rates preserved: AVG=0.253 HR/AB=0.005
6consistency_constraints11010predicted_R: 0.5032 -> 1.0000 (boost 0.4968, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_SO: 0.0000 -> 0.4761 (boost 0.4761, worse)predicted_BB: 1.0000 -> 0.4245 (deboost -0.5755, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation72534predicted_BB: 0.4245 -> 1.0000 (boost 0.5755, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context42222predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.3600 -> 0.3320 (deboost -0.0280, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference53232predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final32121predicted_OBP: 0.3320 -> 0.3600 (boost 0.0280, better)predicted_SLG: 0.3870 -> 0.3043 (deboost -0.0827, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663611",
  "player_name": "Nick Madrigal",
  "position": "2B",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.071,
        "predicted_3B": 0.0,
        "predicted_AB": 3.143,
        "predicted_AVG": 0.273,
        "predicted_BB": 0.5,
        "predicted_H": 0.857,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.373,
        "predicted_R": 0.5,
        "predicted_RBI": 0.143,
        "predicted_SLG": 0.295,
        "predicted_SO": 0.214
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0819,
        "predicted_3B": 0.0017,
        "predicted_AB": 3.2571,
        "predicted_AVG": 0.2661,
        "predicted_BB": 0.487,
        "predicted_H": 0.8645,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0154,
        "predicted_OBP": 0.3624,
        "predicted_R": 0.5058,
        "predicted_RBI": 0.1874,
        "predicted_SLG": 0.305,
        "predicted_SO": 0.2868
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.071,
          "after": 0.0819,
          "delta": 0.0109,
          "percent_delta": 0.1535,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0017,
          "delta": 0.0017,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.143,
          "after": 3.2571,
          "delta": 0.1141,
          "percent_delta": 0.0363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.273,
          "after": 0.2661,
          "delta": -0.0069,
          "percent_delta": -0.0253,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5,
          "after": 0.487,
          "delta": -0.013,
          "percent_delta": -0.026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.857,
          "after": 0.8645,
          "delta": 0.0075,
          "percent_delta": 0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0154,
          "delta": 0.0154,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.373,
          "after": 0.3624,
          "delta": -0.0106,
          "percent_delta": -0.0284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5,
          "after": 0.5058,
          "delta": 0.0058,
          "percent_delta": 0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.143,
          "after": 0.1874,
          "delta": 0.0444,
          "percent_delta": 0.3105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.295,
          "after": 0.305,
          "delta": 0.01,
          "percent_delta": 0.0339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.214,
          "after": 0.2868,
          "delta": 0.0728,
          "percent_delta": 0.3402,
          "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_AB",
          "before": 3.143,
          "after": 3.2571,
          "delta": 0.1141,
          "percent_delta": 0.0363,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.373,
          "after": 0.3624,
          "delta": -0.0106,
          "percent_delta": -0.0284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 14
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0819,
        "predicted_3B": 0.0017,
        "predicted_AB": 3.2571,
        "predicted_AVG": 0.2641,
        "predicted_BB": 0.4879,
        "predicted_H": 0.8604,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0152,
        "predicted_OBP": 0.36,
        "predicted_R": 0.5032,
        "predicted_RBI": 0.1864,
        "predicted_SLG": 0.3043,
        "predicted_SO": 0.2863
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0819,
          "after": 0.0819,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0017,
          "after": 0.0017,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2571,
          "after": 3.2571,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2661,
          "after": 0.2641,
          "delta": -0.002,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.487,
          "after": 0.4879,
          "delta": 0.0009,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8645,
          "after": 0.8604,
          "delta": -0.0041,
          "percent_delta": -0.0047,
          "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.0154,
          "after": 0.0152,
          "delta": -0.0002,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3624,
          "after": 0.36,
          "delta": -0.0024,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5058,
          "after": 0.5032,
          "delta": -0.0026,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1874,
          "after": 0.1864,
          "delta": -0.001,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.305,
          "after": 0.3043,
          "delta": -0.0007,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.2868,
          "after": 0.2863,
          "delta": -0.0005,
          "percent_delta": -0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.26), rates preserved: AVG=0.253 HR/AB=0.005",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0819,
          "after": 0.0,
          "delta": -0.0819,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0017,
          "after": 0.0,
          "delta": -0.0017,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2571,
          "after": 3.0,
          "delta": -0.2571,
          "percent_delta": -0.0789,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4879,
          "after": 1.0,
          "delta": 0.5121,
          "percent_delta": 1.0496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8604,
          "after": 1.0,
          "delta": 0.1396,
          "percent_delta": 0.1623,
          "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.0152,
          "after": 0.0,
          "delta": -0.0152,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1864,
          "after": 0.0,
          "delta": -0.1864,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.2863,
          "after": 0.0,
          "delta": -0.2863,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4879,
          "after": 1.0,
          "delta": 0.5121,
          "percent_delta": 1.0496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.2863,
          "after": 0.0,
          "delta": -0.2863,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5032,
          "after": 1.0,
          "delta": 0.4968,
          "percent_delta": 0.9873,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5032,
          "after": 1.0,
          "delta": 0.4968,
          "percent_delta": 0.9873,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1528,
        "predicted_3B": 0.0113,
        "predicted_BB": 0.4245,
        "predicted_H": 0.8267,
        "predicted_HR": 0.1045,
        "predicted_RBI": 0.3785,
        "predicted_SO": 0.4761
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1528,
          "delta": 0.1528,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0113,
          "delta": 0.0113,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4245,
          "delta": -0.5755,
          "percent_delta": -0.5755,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8267,
          "delta": -0.1733,
          "percent_delta": -0.1733,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1045,
          "delta": 0.1045,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3785,
          "delta": 0.3785,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4761,
          "delta": 0.4761,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4761,
          "delta": 0.4761,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4245,
          "delta": -0.5755,
          "percent_delta": -0.5755,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1528,
          "after": 0.0,
          "delta": -0.1528,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0113,
          "after": 0.0,
          "delta": -0.0113,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4245,
          "after": 1.0,
          "delta": 0.5755,
          "percent_delta": 1.3557,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8267,
          "after": 1.0,
          "delta": 0.1733,
          "percent_delta": 0.2096,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1045,
          "after": 0.0,
          "delta": -0.1045,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3785,
          "after": 0.0,
          "delta": -0.3785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4761,
          "after": 0.0,
          "delta": -0.4761,
          "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_BB",
          "before": 0.4245,
          "after": 1.0,
          "delta": 0.5755,
          "percent_delta": 1.3557,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.243,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.387,
        "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.2641,
          "after": 0.243,
          "delta": -0.0211,
          "percent_delta": -0.0799,
          "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.36,
          "after": 0.332,
          "delta": -0.028,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3043,
          "after": 0.387,
          "delta": 0.0827,
          "percent_delta": 0.2718,
          "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": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.36,
          "after": 0.332,
          "delta": -0.028,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "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.2641,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.36,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3043,
        "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.243,
          "after": 0.2641,
          "delta": 0.0211,
          "percent_delta": 0.087,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.332,
          "after": 0.36,
          "delta": 0.028,
          "percent_delta": 0.0844,
          "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.3043,
          "delta": -0.0827,
          "percent_delta": -0.2136,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.36,
          "delta": 0.028,
          "percent_delta": 0.0844,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.387,
          "after": 0.3043,
          "delta": -0.0827,
          "percent_delta": -0.2136,
          "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.071,
        "after": 1.0,
        "delta": 0.929,
        "percent_delta": 13.0845,
        "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.143,
        "after": 4.0,
        "delta": 0.857,
        "percent_delta": 0.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.273,
        "after": 0.2641,
        "delta": -0.0089,
        "percent_delta": -0.0326,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.857,
        "after": 2.0,
        "delta": 1.143,
        "percent_delta": 1.3337,
        "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.373,
        "after": 0.36,
        "delta": -0.013,
        "percent_delta": -0.0349,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.143,
        "after": 0.0,
        "delta": -0.143,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.295,
        "after": 0.3043,
        "delta": 0.0093,
        "percent_delta": 0.0315,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.214,
        "after": 0.0,
        "delta": -0.214,
        "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.857,
        "after": 2.0,
        "delta": 1.143,
        "percent_delta": 1.3337,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "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.071-
predicted_3B0.000-
predicted_AB3.143-
predicted_AVG0.273-
predicted_BB0.500-
predicted_H0.857-
predicted_HR0.000-
predicted_OBP0.373-
predicted_R0.500-
predicted_RBI0.143-
predicted_SLG0.295-
predicted_SO0.214-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0820.011
predicted_3B0.0020.002
predicted_AB3.2570.114
predicted_AVG0.266-0.007
predicted_BB0.487-0.013
predicted_H0.8650.008
predicted_HBP0.011-
predicted_HR0.0150.015
predicted_OBP0.362-0.011
predicted_R0.5060.006
predicted_RBI0.1870.044
predicted_SLG0.3050.010
predicted_SO0.2870.073
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0820.000
predicted_3B0.0020.000
predicted_AB3.2570.000
predicted_AVG0.264-0.002
predicted_BB0.4880.001
predicted_H0.860-0.004
predicted_HBP0.0110.000
predicted_HR0.015-0.000
predicted_OBP0.360-0.002
predicted_R0.503-0.003
predicted_RBI0.186-0.001
predicted_SLG0.304-0.001
predicted_SO0.286-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.26), rates preserved: AVG=0.253 HR/AB=0.005

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1530.153
3B0.0110.011
BB0.424-0.576
H0.827-0.173
HR0.1040.104
RBI0.3790.379
SO0.4760.476
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.153
3B0.000-0.011
AB3.0000.000
BB1.0000.576
H1.0000.173
HR0.000-0.104
R0.000-1.000
RBI0.000-0.379
SO0.000-0.476
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.082
predicted_3B0.000-0.002
predicted_AB3.000-0.257
predicted_AVG0.243-0.021
predicted_BB1.0000.512
predicted_H1.0000.140
predicted_HR0.000-0.015
predicted_OBP0.332-0.028
predicted_R1.0000.497
predicted_RBI0.000-0.186
predicted_SLG0.3870.083
predicted_SO0.000-0.286
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 14
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.0001.0002.0003.0001.0000.16670.28570.16670.16670.00000.05560.16670.0556
last_100.2010-34.00010.0001.0000.0000.0002.0007.0007.0002.0000.29410.41460.32350.29410.00000.05880.20590.0588
season0.6014-44.00012.0001.0000.0000.0002.0007.0007.0003.0000.27270.37250.29550.27270.00000.04540.15910.0682
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1030
predicted_3B0.0050
predicted_AB3.4770
predicted_AVG0.2529
predicted_BB0.4620
predicted_H0.8790
predicted_HBP0.0110
predicted_HR0.0450
predicted_OBP0.3420
predicted_R0.5170
predicted_RBI0.2730
predicted_SLG0.3242
predicted_SO0.4270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07100.10300.0819model_form_blend
predicted_3B0.00000.00500.0017model_form_blend
predicted_AB3.14303.47703.2571model_form_blend
predicted_AVG0.27300.25290.2661model_form_blend
predicted_BB0.50000.46200.4870model_form_blend
predicted_H0.85700.87900.8645model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.00000.04500.0154model_form_blend
predicted_OBP0.37300.34200.3624model_form_blend
predicted_R0.50000.51700.5058model_form_blend
predicted_RBI0.14300.27300.1874model_form_blend
predicted_SLG0.29500.32420.3050model_form_blend
predicted_SO0.21400.42700.2868model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

No historical data found for this player before report date.

Yandy Díaz (650490) · BATTER · DH · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 559
All-history rows before 20260910: 559
System season_avg: 0.3070
Data season_avg (2026 season-to-date): 0.3081
Diff (system - data): -0.0011
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.1800.0001.000Hitting_2B0.1770.000-0.1770.000
predicted_3B0.0070.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB5.0905.0004.000Hitting_AB4.0414.0000.9591.000
predicted_AVG0.3020.4000.250Hitting_AVG0.3080.2500.0920.150
predicted_BB0.3740.0001.000Hitting_BB0.3830.000-0.3830.000
predicted_CS-0.0000.000BaseRunning_CS0.0090.000-0.0090.000
predicted_H1.5402.0001.000Hitting_H1.2451.0000.7551.000
predicted_HR0.1701.0000.000Hitting_HR0.1540.0000.8461.000
predicted_OBP0.3600.4000.400Hitting_OBP0.3760.2000.0240.200
predicted_R0.6041.0001.000Hitting_R0.6210.0000.3791.000
predicted_RBI0.8001.0001.000Hitting_RBI0.6141.0000.3860.000
predicted_SLG0.4851.0000.500Hitting_SLG0.4710.2500.5290.750
predicted_SO0.6261.0001.000Hitting_SO0.6260.0000.3741.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics4
Worse Metrics5
Biggest Boostpredicted_HR: 0.1700 -> 1.0000 (boost 0.8300, better)
Biggest Deboostpredicted_BB: 0.3740 -> 0.0000 (deboost -0.3740, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_SLG: 0.4850 -> 0.4919 (boost 0.0069, better)predicted_AB: 5.0900 -> 4.6797 (deboost -0.4103, worse)Final model input calibrated 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.4919 -> 0.4610 (deboost -0.0309, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_RBI: 0.7081 -> 1.0000 (boost 0.2919, better)predicted_AB: 4.6797 -> 4.0000 (deboost -0.6797, worse)AB rounded to 4 (raw=5.09), rates preserved: AVG=0.269 HR/AB=0.033
6bvp_blend11001predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)-Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.400)
7consistency_constraints11010predicted_R: 0.6139 -> 1.0000 (boost 0.3861, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_BB: 0.0000 -> 0.4181 (boost 0.4181, better)predicted_RBI: 1.0000 -> 0.5917 (deboost -0.4083, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation64233predicted_2B: 0.1959 -> 1.0000 (boost 0.8041, better)predicted_HR: 0.1819 -> 0.0000 (deboost -0.1819, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context41313predicted_SLG: 0.4610 -> 0.4760 (boost 0.0150, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final21111predicted_AVG: 0.2880 -> 0.3062 (boost 0.0182, better)predicted_SLG: 0.4760 -> 0.4610 (deboost -0.0150, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "650490",
  "player_name": "Yandy Díaz",
  "position": "DH",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.18,
        "predicted_3B": 0.007,
        "predicted_AB": 5.09,
        "predicted_AVG": 0.302,
        "predicted_BB": 0.374,
        "predicted_H": 1.54,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.36,
        "predicted_R": 0.604,
        "predicted_RBI": 0.8,
        "predicted_SLG": 0.485,
        "predicted_SO": 0.626
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2062,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.6797,
        "predicted_AVG": 0.308,
        "predicted_BB": 0.3613,
        "predicted_H": 1.44,
        "predicted_HBP": 0.045,
        "predicted_HR": 0.1709,
        "predicted_OBP": 0.3635,
        "predicted_R": 0.6171,
        "predicted_RBI": 0.7118,
        "predicted_SLG": 0.4919,
        "predicted_SO": 0.6129
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.18,
          "after": 0.2062,
          "delta": 0.0262,
          "percent_delta": 0.1456,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.09,
          "after": 4.6797,
          "delta": -0.4103,
          "percent_delta": -0.0806,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.302,
          "after": 0.308,
          "delta": 0.006,
          "percent_delta": 0.0199,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.374,
          "after": 0.3613,
          "delta": -0.0127,
          "percent_delta": -0.034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.54,
          "after": 1.44,
          "delta": -0.1,
          "percent_delta": -0.0649,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1709,
          "delta": 0.0009,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.36,
          "after": 0.3635,
          "delta": 0.0035,
          "percent_delta": 0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.604,
          "after": 0.6171,
          "delta": 0.0131,
          "percent_delta": 0.0217,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.8,
          "after": 0.7118,
          "delta": -0.0882,
          "percent_delta": -0.1103,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.485,
          "after": 0.4919,
          "delta": 0.0069,
          "percent_delta": 0.0142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.626,
          "after": 0.6129,
          "delta": -0.0131,
          "percent_delta": -0.0209,
          "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.485,
          "after": 0.4919,
          "delta": 0.0069,
          "percent_delta": 0.0142,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.09,
          "after": 4.6797,
          "delta": -0.4103,
          "percent_delta": -0.0806,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 139
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2062,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.6797,
        "predicted_AVG": 0.3062,
        "predicted_BB": 0.362,
        "predicted_H": 1.4331,
        "predicted_HBP": 0.045,
        "predicted_HR": 0.1686,
        "predicted_OBP": 0.356,
        "predicted_R": 0.6139,
        "predicted_RBI": 0.7081,
        "predicted_SLG": 0.461,
        "predicted_SO": 0.6118
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2062,
          "after": 0.2062,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.6797,
          "after": 4.6797,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.308,
          "after": 0.3062,
          "delta": -0.0018,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3613,
          "after": 0.362,
          "delta": 0.0007,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.44,
          "after": 1.4331,
          "delta": -0.0069,
          "percent_delta": -0.0048,
          "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.1709,
          "after": 0.1686,
          "delta": -0.0023,
          "percent_delta": -0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3635,
          "after": 0.356,
          "delta": -0.0075,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6171,
          "after": 0.6139,
          "delta": -0.0032,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7118,
          "after": 0.7081,
          "delta": -0.0037,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4919,
          "after": 0.461,
          "delta": -0.0309,
          "percent_delta": -0.0628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6129,
          "after": 0.6118,
          "delta": -0.0011,
          "percent_delta": -0.0018,
          "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.4919,
          "after": 0.461,
          "delta": -0.0309,
          "percent_delta": -0.0628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.09), rates preserved: AVG=0.269 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2062,
          "after": 0.0,
          "delta": -0.2062,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.6797,
          "after": 4.0,
          "delta": -0.6797,
          "percent_delta": -0.1452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.362,
          "after": 0.0,
          "delta": -0.362,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.4331,
          "after": 1.0,
          "delta": -0.4331,
          "percent_delta": -0.3022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.045,
          "after": 0.0,
          "delta": -0.045,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1686,
          "after": 0.0,
          "delta": -0.1686,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7081,
          "after": 1.0,
          "delta": 0.2919,
          "percent_delta": 0.4122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6118,
          "after": 0.0,
          "delta": -0.6118,
          "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_RBI",
          "before": 0.7081,
          "after": 1.0,
          "delta": 0.2919,
          "percent_delta": 0.4122,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.6797,
          "after": 4.0,
          "delta": -0.6797,
          "percent_delta": -0.1452,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.400)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8,
        "bvp": 0.2
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6139,
          "after": 1.0,
          "delta": 0.3861,
          "percent_delta": 0.6289,
          "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.6139,
          "after": 1.0,
          "delta": 0.3861,
          "percent_delta": 0.6289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1959,
        "predicted_3B": 0.0101,
        "predicted_BB": 0.4181,
        "predicted_H": 1.1703,
        "predicted_HR": 0.1819,
        "predicted_RBI": 0.5917,
        "predicted_SO": 0.6183
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1959,
          "delta": 0.1959,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0101,
          "delta": 0.0101,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4181,
          "delta": 0.4181,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.1703,
          "delta": 0.1703,
          "percent_delta": 0.1703,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1819,
          "delta": 0.1819,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5917,
          "delta": -0.4083,
          "percent_delta": -0.4083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6183,
          "delta": -0.3817,
          "percent_delta": -0.3817,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4181,
          "delta": 0.4181,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5917,
          "delta": -0.4083,
          "percent_delta": -0.4083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1959,
          "after": 1.0,
          "delta": 0.8041,
          "percent_delta": 4.1046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0101,
          "after": 0.0,
          "delta": -0.0101,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4181,
          "after": 1.0,
          "delta": 0.5819,
          "percent_delta": 1.3918,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1703,
          "after": 1.0,
          "delta": -0.1703,
          "percent_delta": -0.1455,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1819,
          "after": 0.0,
          "delta": -0.1819,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5917,
          "after": 1.0,
          "delta": 0.4083,
          "percent_delta": 0.69,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6183,
          "after": 1.0,
          "delta": 0.3817,
          "percent_delta": 0.6173,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1959,
          "after": 1.0,
          "delta": 0.8041,
          "percent_delta": 4.1046,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1819,
          "after": 0.0,
          "delta": -0.1819,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.288,
        "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.476,
        "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.3062,
          "after": 0.288,
          "delta": -0.0182,
          "percent_delta": -0.0594,
          "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.356,
          "after": 0.36,
          "delta": 0.004,
          "percent_delta": 0.0112,
          "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.461,
          "after": 0.476,
          "delta": 0.015,
          "percent_delta": 0.0325,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.461,
          "after": 0.476,
          "delta": 0.015,
          "percent_delta": 0.0325,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.3062,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.356,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.461,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.3062,
          "delta": 0.0182,
          "percent_delta": 0.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.36,
          "after": 0.356,
          "delta": -0.004,
          "percent_delta": -0.011,
          "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.476,
          "after": 0.461,
          "delta": -0.015,
          "percent_delta": -0.0316,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.288,
          "after": 0.3062,
          "delta": 0.0182,
          "percent_delta": 0.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.476,
          "after": 0.461,
          "delta": -0.015,
          "percent_delta": -0.0316,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.09,
        "after": 5.0,
        "delta": -0.09,
        "percent_delta": -0.0177,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.302,
        "after": 0.3062,
        "delta": 0.0042,
        "percent_delta": 0.0139,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.374,
        "after": 0.0,
        "delta": -0.374,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.54,
        "after": 2.0,
        "delta": 0.46,
        "percent_delta": 0.2987,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 1.0,
        "delta": 0.83,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.36,
        "after": 0.356,
        "delta": -0.004,
        "percent_delta": -0.0111,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.604,
        "after": 1.0,
        "delta": 0.396,
        "percent_delta": 0.6556,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.8,
        "after": 1.0,
        "delta": 0.2,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.485,
        "after": 0.461,
        "delta": -0.024,
        "percent_delta": -0.0495,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.626,
        "after": 1.0,
        "delta": 0.374,
        "percent_delta": 0.5974,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 4,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 1.0,
        "delta": 0.83,
        "percent_delta": 4.8824,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.374,
        "after": 0.0,
        "delta": -0.374,
        "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.180-
predicted_3B0.007-
predicted_AB5.090-
predicted_AVG0.302-
predicted_BB0.374-
predicted_H1.540-
predicted_HR0.170-
predicted_OBP0.360-
predicted_R0.604-
predicted_RBI0.800-
predicted_SLG0.485-
predicted_SO0.626-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.026
predicted_3B0.006-0.001
predicted_AB4.680-0.410
predicted_AVG0.3080.006
predicted_BB0.361-0.013
predicted_H1.440-0.100
predicted_HBP0.045-
predicted_HR0.1710.001
predicted_OBP0.3630.004
predicted_R0.6170.013
predicted_RBI0.712-0.088
predicted_SLG0.4920.007
predicted_SO0.613-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.2060.000
predicted_3B0.0060.000
predicted_AB4.6800.000
predicted_AVG0.306-0.002
predicted_BB0.3620.001
predicted_H1.433-0.007
predicted_HBP0.0450.000
predicted_HR0.169-0.002
predicted_OBP0.356-0.008
predicted_R0.614-0.003
predicted_RBI0.708-0.004
predicted_SLG0.461-0.031
predicted_SO0.612-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.09), rates preserved: AVG=0.269 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-
SO0.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.400)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1960.196
3B0.0100.010
BB0.4180.418
H1.1700.170
HR0.1820.182
RBI0.592-0.408
SO0.618-0.382
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.804
3B0.000-0.010
AB4.0000.000
BB1.0000.582
H1.000-0.170
HR0.000-0.182
R1.0000.000
RBI1.0000.408
SO1.0000.382
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.206
predicted_3B0.000-0.006
predicted_AB4.000-0.680
predicted_AVG0.288-0.018
predicted_BB0.000-0.362
predicted_H1.000-0.433
predicted_HR0.000-0.169
predicted_OBP0.3600.004
predicted_R1.0000.386
predicted_RBI1.0000.292
predicted_SLG0.4760.015
predicted_SO1.0000.388
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 139
Reference playing time: 5.090
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-23.0008.0002.0000.0001.0004.0004.0001.0002.0000.34780.36000.56520.34780.04350.17390.04350.0870
last_100.2010-43.00014.0003.0000.0002.0005.0006.0004.0006.0000.32560.37500.53490.32560.04650.11630.09300.1395
season0.60139-553.000170.00025.0001.00022.00080.00084.00052.00087.0000.30740.37360.47560.30740.03980.14470.09400.1573
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2400
predicted_3B0.0050
predicted_AB4.1500
predicted_AVG0.3158
predicted_BB0.3450
predicted_H1.3110
predicted_HBP0.0450
predicted_HR0.1720
predicted_OBP0.3681
predicted_R0.6340
predicted_RBI0.5980
predicted_SLG0.5009
predicted_SO0.5960
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18000.24000.2062model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB5.09004.15004.6797model_form_blend
predicted_AVG0.30200.31580.3080model_form_blend
predicted_BB0.37400.34500.3613model_form_blend
predicted_H1.54001.31101.4400model_form_blend
predicted_HBP-0.04500.0450form_only
predicted_HR0.17000.17200.1709model_form_blend
predicted_OBP0.36000.36810.3635model_form_blend
predicted_R0.60400.63400.6171model_form_blend
predicted_RBI0.80000.59800.7118model_form_blend
predicted_SLG0.48500.50090.4919model_form_blend
predicted_SO0.62600.59600.6129model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
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_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF1
Hitting_SO0
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260909_TB@ATL
game_typefull
mlbID650490
playerID650490
playerNameYandy Díaz
posDH
startedTrue
startingPositionDH
teamTB
teamID27
game_date2026-09-09
sl_k_percent14.2
sl_bb_percent8.4
sl_woba0.367
sl_xwoba0.356
sl_xba0.289
sl_xslg0.454
sl_sweet_spot_percent30.2
sl_barrel_batted_rate7.5
sl_hard_hit_percent48.7
sl_exit_velocity_avg91.1
sl_launch_angle_avg6.1
sl_whiff_percent14.5
sl_swing_percent47.3
Junior Caminero (691406) · BATTER · 3B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 571
All-history rows before 20260910: 571
System season_avg: 0.2810
Data season_avg (2026 season-to-date): 0.2842
Diff (system - data): -0.0032
System opponent_avg: 0.1970

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1460.0000.000Hitting_2B0.1610.000-0.1610.000
predicted_3B0.0070.0000.000Hitting_3B0.0070.000-0.0070.000
predicted_AB4.8005.0004.000Hitting_AB3.9075.0001.0930.000
predicted_AVG0.2630.0000.250Hitting_AVG0.2840.200-0.284-0.200
predicted_BB0.5070.0001.000Hitting_BB0.5550.000-0.5550.000
predicted_CS-0.0000.000BaseRunning_CS0.0180.000-0.0180.000
predicted_H1.2600.0001.000Hitting_H1.1101.000-1.110-1.000
predicted_HR0.2900.0001.000Hitting_HR0.2910.000-0.2910.000
predicted_OBP0.3630.0000.400Hitting_OBP0.3740.200-0.374-0.200
predicted_R0.6180.0001.000Hitting_R0.6780.000-0.6780.000
predicted_RBI0.8300.0001.000Hitting_RBI0.6870.000-0.6870.000
predicted_SLG0.5120.0001.000Hitting_SLG0.5520.200-0.552-0.200
predicted_SO0.8063.0001.000Hitting_SO0.8041.0002.1962.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.8060 -> 3.0000 (boost 2.1940, worse)
Biggest Deboostpredicted_H: 1.2600 -> 0.0000 (deboost -1.2600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53232predicted_SLG: 0.5120 -> 0.5335 (boost 0.0215, better)predicted_AB: 4.8000 -> 4.4118 (deboost -0.3882, worse)Final model input calibrated 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.5335 -> 0.5056 (deboost -0.0279, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82617predicted_RBI: 0.7757 -> 1.0000 (boost 0.2243, better)predicted_BB: 0.5022 -> 0.0000 (deboost -0.5022, worse)AB rounded to 4 (raw=4.80), rates preserved: AVG=0.241 HR/AB=0.060
6consistency_constraints11010predicted_R: 0.6261 -> 1.0000 (boost 0.3739, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53241predicted_BB: 0.0000 -> 0.5219 (boost 0.5219, better)predicted_RBI: 1.0000 -> 0.5879 (deboost -0.4121, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation54132predicted_HR: 0.2444 -> 1.0000 (boost 0.7556, better)predicted_2B: 0.1641 -> 0.0000 (deboost -0.1641, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference52314predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final22020predicted_AVG: 0.2570 -> 0.2738 (boost 0.0168, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691406",
  "player_name": "Junior Caminero",
  "position": "3B",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.146,
        "predicted_3B": 0.007,
        "predicted_AB": 4.8,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.507,
        "predicted_H": 1.26,
        "predicted_HR": 0.29,
        "predicted_OBP": 0.363,
        "predicted_R": 0.618,
        "predicted_RBI": 0.83,
        "predicted_SLG": 0.512,
        "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.1473,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.4118,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.5013,
        "predicted_H": 1.2137,
        "predicted_HBP": 0.073,
        "predicted_HR": 0.2917,
        "predicted_OBP": 0.3693,
        "predicted_R": 0.6294,
        "predicted_RBI": 0.7798,
        "predicted_SLG": 0.5335,
        "predicted_SO": 0.8462
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.146,
          "after": 0.1473,
          "delta": 0.0013,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.8,
          "after": 4.4118,
          "delta": -0.3882,
          "percent_delta": -0.0809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.277,
          "delta": 0.014,
          "percent_delta": 0.0532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.507,
          "after": 0.5013,
          "delta": -0.0057,
          "percent_delta": -0.0112,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.26,
          "after": 1.2137,
          "delta": -0.0463,
          "percent_delta": -0.0367,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.29,
          "after": 0.2917,
          "delta": 0.0017,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.363,
          "after": 0.3693,
          "delta": 0.0063,
          "percent_delta": 0.0174,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.618,
          "after": 0.6294,
          "delta": 0.0114,
          "percent_delta": 0.0184,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.83,
          "after": 0.7798,
          "delta": -0.0502,
          "percent_delta": -0.0605,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.512,
          "after": 0.5335,
          "delta": 0.0215,
          "percent_delta": 0.042,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.806,
          "after": 0.8462,
          "delta": 0.0402,
          "percent_delta": 0.0499,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.512,
          "after": 0.5335,
          "delta": 0.0215,
          "percent_delta": 0.042,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.8,
          "after": 4.4118,
          "delta": -0.3882,
          "percent_delta": -0.0809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 144
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1473,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.4118,
        "predicted_AVG": 0.2738,
        "predicted_BB": 0.5022,
        "predicted_H": 1.2079,
        "predicted_HBP": 0.073,
        "predicted_HR": 0.2877,
        "predicted_OBP": 0.348,
        "predicted_R": 0.6261,
        "predicted_RBI": 0.7757,
        "predicted_SLG": 0.5056,
        "predicted_SO": 0.8447
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1473,
          "after": 0.1473,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4118,
          "after": 4.4118,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2738,
          "delta": -0.0032,
          "percent_delta": -0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5013,
          "after": 0.5022,
          "delta": 0.0009,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.2137,
          "after": 1.2079,
          "delta": -0.0058,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.073,
          "after": 0.073,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2917,
          "after": 0.2877,
          "delta": -0.004,
          "percent_delta": -0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3693,
          "after": 0.348,
          "delta": -0.0213,
          "percent_delta": -0.0577,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6294,
          "after": 0.6261,
          "delta": -0.0033,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7798,
          "after": 0.7757,
          "delta": -0.0041,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5335,
          "after": 0.5056,
          "delta": -0.0279,
          "percent_delta": -0.0523,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8462,
          "after": 0.8447,
          "delta": -0.0015,
          "percent_delta": -0.0018,
          "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.5335,
          "after": 0.5056,
          "delta": -0.0279,
          "percent_delta": -0.0523,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.80), rates preserved: AVG=0.241 HR/AB=0.060",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1473,
          "after": 0.0,
          "delta": -0.1473,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4118,
          "after": 4.0,
          "delta": -0.4118,
          "percent_delta": -0.0933,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5022,
          "after": 0.0,
          "delta": -0.5022,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2079,
          "after": 1.0,
          "delta": -0.2079,
          "percent_delta": -0.1721,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.073,
          "after": 0.0,
          "delta": -0.073,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2877,
          "after": 0.0,
          "delta": -0.2877,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7757,
          "after": 1.0,
          "delta": 0.2243,
          "percent_delta": 0.2892,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8447,
          "after": 1.0,
          "delta": 0.1553,
          "percent_delta": 0.1839,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.7757,
          "after": 1.0,
          "delta": 0.2243,
          "percent_delta": 0.2892,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5022,
          "after": 0.0,
          "delta": -0.5022,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6261,
          "after": 1.0,
          "delta": 0.3739,
          "percent_delta": 0.5972,
          "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.6261,
          "after": 1.0,
          "delta": 0.3739,
          "percent_delta": 0.5972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1641,
        "predicted_3B": 0.0105,
        "predicted_BB": 0.5219,
        "predicted_H": 0.987,
        "predicted_HR": 0.2444,
        "predicted_RBI": 0.5879,
        "predicted_SO": 0.7072
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1641,
          "delta": 0.1641,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0105,
          "delta": 0.0105,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5219,
          "delta": 0.5219,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.987,
          "delta": -0.013,
          "percent_delta": -0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2444,
          "delta": 0.2444,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5879,
          "delta": -0.4121,
          "percent_delta": -0.4121,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7072,
          "delta": -0.2928,
          "percent_delta": -0.2928,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5219,
          "delta": 0.5219,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5879,
          "delta": -0.4121,
          "percent_delta": -0.4121,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1641,
          "after": 0.0,
          "delta": -0.1641,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0105,
          "after": 0.0,
          "delta": -0.0105,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5219,
          "after": 1.0,
          "delta": 0.4781,
          "percent_delta": 0.9161,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.987,
          "after": 1.0,
          "delta": 0.013,
          "percent_delta": 0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2444,
          "after": 1.0,
          "delta": 0.7556,
          "percent_delta": 3.0917,
          "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.5879,
          "after": 1.0,
          "delta": 0.4121,
          "percent_delta": 0.701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7072,
          "after": 1.0,
          "delta": 0.2928,
          "percent_delta": 0.414,
          "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_HR",
          "before": 0.2444,
          "after": 1.0,
          "delta": 0.7556,
          "percent_delta": 3.0917,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1641,
          "after": 0.0,
          "delta": -0.1641,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.257,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.351,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.496,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2738,
          "after": 0.257,
          "delta": -0.0168,
          "percent_delta": -0.0614,
          "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.348,
          "after": 0.351,
          "delta": 0.003,
          "percent_delta": 0.0086,
          "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.5056,
          "after": 0.496,
          "delta": -0.0096,
          "percent_delta": -0.019,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2738,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.348,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5056,
        "predicted_SO": 3.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.257,
          "after": 0.2738,
          "delta": 0.0168,
          "percent_delta": 0.0653,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.348,
          "delta": -0.003,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.496,
          "after": 0.5056,
          "delta": 0.0096,
          "percent_delta": 0.0193,
          "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_AVG",
          "before": 0.257,
          "after": 0.2738,
          "delta": 0.0168,
          "percent_delta": 0.0653,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.146,
        "after": 0.0,
        "delta": -0.146,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.8,
        "after": 5.0,
        "delta": 0.2,
        "percent_delta": 0.0417,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.263,
        "after": 0.2738,
        "delta": 0.0108,
        "percent_delta": 0.0411,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.507,
        "after": 0.0,
        "delta": -0.507,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.26,
        "after": 0.0,
        "delta": -1.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.363,
        "after": 0.348,
        "delta": -0.015,
        "percent_delta": -0.0413,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.618,
        "after": 0.0,
        "delta": -0.618,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.83,
        "after": 0.0,
        "delta": -0.83,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.512,
        "after": 0.5056,
        "delta": -0.0064,
        "percent_delta": -0.0125,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.806,
        "after": 3.0,
        "delta": 2.194,
        "percent_delta": 2.7221,
        "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.806,
        "after": 3.0,
        "delta": 2.194,
        "percent_delta": 2.7221,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.26,
        "after": 0.0,
        "delta": -1.26,
        "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.007-
predicted_AB4.800-
predicted_AVG0.263-
predicted_BB0.507-
predicted_H1.260-
predicted_HR0.290-
predicted_OBP0.363-
predicted_R0.618-
predicted_RBI0.830-
predicted_SLG0.512-
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.1470.001
predicted_3B0.006-0.001
predicted_AB4.412-0.388
predicted_AVG0.2770.014
predicted_BB0.501-0.006
predicted_H1.214-0.046
predicted_HBP0.073-
predicted_HR0.2920.002
predicted_OBP0.3690.006
predicted_R0.6290.011
predicted_RBI0.780-0.050
predicted_SLG0.5330.021
predicted_SO0.8460.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.1470.000
predicted_3B0.0060.000
predicted_AB4.4120.000
predicted_AVG0.274-0.003
predicted_BB0.5020.001
predicted_H1.208-0.006
predicted_HBP0.0730.000
predicted_HR0.288-0.004
predicted_OBP0.348-0.021
predicted_R0.626-0.003
predicted_RBI0.776-0.004
predicted_SLG0.506-0.028
predicted_SO0.845-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.80), rates preserved: AVG=0.241 HR/AB=0.060

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1640.164
3B0.0110.011
BB0.5220.522
H0.987-0.013
HR0.2440.244
RBI0.588-0.412
SO0.707-0.293
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.164
3B0.000-0.011
AB4.0000.000
BB1.0000.478
H1.0000.013
HR1.0000.756
R1.0000.000
RBI1.0000.412
SO1.0000.293
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.147
predicted_3B0.000-0.006
predicted_AB4.000-0.412
predicted_AVG0.257-0.017
predicted_BB0.000-0.502
predicted_H1.000-0.208
predicted_HR0.000-0.288
predicted_OBP0.3510.003
predicted_R1.0000.374
predicted_RBI1.0000.224
predicted_SLG0.496-0.010
predicted_SO1.0000.155
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
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: 144
Reference playing time: 4.800
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0007.0001.0000.0002.0005.0004.0003.0005.0000.35000.44000.70000.35000.10000.25000.15000.2500
last_100.2010-41.00012.0001.0000.0003.0007.0006.0004.00011.0000.29270.36170.53660.29270.07320.17070.09760.2683
season0.60144-551.000155.00021.0001.00039.00093.00089.00073.000116.0000.28130.36770.53540.28130.07080.16880.13250.2105
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1490
predicted_3B0.0050
predicted_AB3.9110
predicted_AVG0.2951
predicted_BB0.4940
predicted_H1.1540
predicted_HBP0.0730
predicted_HR0.2940
predicted_OBP0.3775
predicted_R0.6440
predicted_RBI0.7150
predicted_SLG0.5612
predicted_SO0.8980
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14600.14900.1473model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.80003.91104.4118model_form_blend
predicted_AVG0.26300.29510.2770model_form_blend
predicted_BB0.50700.49400.5013model_form_blend
predicted_H1.26001.15401.2137model_form_blend
predicted_HBP-0.07300.0730form_only
predicted_HR0.29000.29400.2917model_form_blend
predicted_OBP0.36300.37750.3693model_form_blend
predicted_R0.61800.64400.6294model_form_blend
predicted_RBI0.83000.71500.7798model_form_blend
predicted_SLG0.51200.56120.5335model_form_blend
predicted_SO0.80600.89800.8462model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.2
Hitting_BB0
Hitting_GIDP1
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260909_TB@ATL
game_typefull
mlbID691406
playerID691406
playerNameJunior Caminero
pos3B
startedTrue
startingPosition3B
teamTB
teamID27
game_date2026-09-09
sl_k_percent18.4
sl_bb_percent11.6
sl_woba0.383
sl_xwoba0.365
sl_xba0.274
sl_xslg0.497
sl_sweet_spot_percent26.8
sl_barrel_batted_rate13.0
sl_hard_hit_percent50.5
sl_exit_velocity_avg92.9
sl_launch_angle_avg9.1
sl_whiff_percent24.3
sl_swing_percent43.8
Jonny DeLuca (676356) · BATTER · RF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 272
All-history rows before 20260910: 272
System season_avg: 0.2610
Data season_avg (2026 season-to-date): 0.2871
Diff (system - data): -0.0261
System opponent_avg: 0.3300
System season_avg diverges from 2026 season-to-date by -0.0261. 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.2271.0000.000Hitting_2B0.2830.0000.7171.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3104.0004.000Hitting_AB3.6625.0000.338-1.000
predicted_AVG0.2240.5000.250Hitting_AVG0.2870.0000.2130.500
predicted_BB0.1590.0000.000Hitting_BB0.1840.000-0.1840.000
predicted_CS-0.0000.000BaseRunning_CS0.0590.000-0.0590.000
predicted_H0.9602.0001.000Hitting_H1.0510.0000.9492.000
predicted_HR0.1000.0000.000Hitting_HR0.1180.000-0.1180.000
predicted_OBP0.2590.5000.250Hitting_OBP0.3210.0000.1790.500
predicted_R0.4091.0000.000Hitting_R0.5180.0000.4821.000
predicted_RBI0.4900.0001.000Hitting_RBI0.5920.000-0.5920.000
predicted_SLG0.3400.7500.250Hitting_SLG0.4610.0000.2890.750
predicted_SO0.7161.0001.000Hitting_SO0.7541.0000.2460.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_H: 0.9600 -> 2.0000 (boost 1.0400, better)
Biggest Deboostpredicted_RBI: 0.4900 -> 0.0000 (deboost -0.4900, 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.3100 -> 3.9669 (deboost -0.3431, worse)Final model input calibrated 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.2585 -> 0.2519 (deboost -0.0066, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_SO: 0.7096 -> 1.0000 (boost 0.2904, worse)predicted_RBI: 0.4735 -> 0.0000 (deboost -0.4735, worse)AB rounded to 4 (raw=4.31), rates preserved: AVG=0.193 HR/AB=0.022
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
7consistency_constraints10101-predicted_R: 0.3719 -> 0.0000 (deboost -0.3719, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.5292 (boost 0.5292, better)predicted_SO: 1.0000 -> 0.7845 (deboost -0.2155, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation52314predicted_RBI: 0.5292 -> 1.0000 (boost 0.4708, better)predicted_BB: 0.2691 -> 0.0000 (deboost -0.2691, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3393 -> 0.4190 (boost 0.0797, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference33030predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4190 -> 0.3393 (deboost -0.0797, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676356",
  "player_name": "Jonny DeLuca",
  "position": "RF",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.227,
        "predicted_3B": 0.0,
        "predicted_AB": 4.31,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.159,
        "predicted_H": 0.96,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.259,
        "predicted_R": 0.409,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.34,
        "predicted_SO": 0.716
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1994,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9669,
        "predicted_AVG": 0.22,
        "predicted_BB": 0.1764,
        "predicted_H": 0.8714,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0941,
        "predicted_OBP": 0.2585,
        "predicted_R": 0.3738,
        "predicted_RBI": 0.476,
        "predicted_SLG": 0.338,
        "predicted_SO": 0.7109
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.227,
          "after": 0.1994,
          "delta": -0.0276,
          "percent_delta": -0.1216,
          "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.9669,
          "delta": -0.3431,
          "percent_delta": -0.0796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.22,
          "delta": -0.004,
          "percent_delta": -0.0179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.159,
          "after": 0.1764,
          "delta": 0.0174,
          "percent_delta": 0.1094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.8714,
          "delta": -0.0886,
          "percent_delta": -0.0923,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.0941,
          "delta": -0.0059,
          "percent_delta": -0.059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.259,
          "after": 0.2585,
          "delta": -0.0005,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.409,
          "after": 0.3738,
          "delta": -0.0352,
          "percent_delta": -0.0861,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.476,
          "delta": -0.014,
          "percent_delta": -0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.34,
          "after": 0.338,
          "delta": -0.002,
          "percent_delta": -0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.716,
          "after": 0.7109,
          "delta": -0.0051,
          "percent_delta": -0.0071,
          "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.31,
          "after": 3.9669,
          "delta": -0.3431,
          "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": 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.1994,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9669,
        "predicted_AVG": 0.2186,
        "predicted_BB": 0.1767,
        "predicted_H": 0.8672,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0928,
        "predicted_OBP": 0.2519,
        "predicted_R": 0.3719,
        "predicted_RBI": 0.4735,
        "predicted_SLG": 0.3393,
        "predicted_SO": 0.7096
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1994,
          "after": 0.1994,
          "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.9669,
          "after": 3.9669,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.22,
          "after": 0.2186,
          "delta": -0.0014,
          "percent_delta": -0.0064,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1764,
          "after": 0.1767,
          "delta": 0.0003,
          "percent_delta": 0.0017,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8714,
          "after": 0.8672,
          "delta": -0.0042,
          "percent_delta": -0.0048,
          "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.0941,
          "after": 0.0928,
          "delta": -0.0013,
          "percent_delta": -0.0138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2585,
          "after": 0.2519,
          "delta": -0.0066,
          "percent_delta": -0.0255,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3738,
          "after": 0.3719,
          "delta": -0.0019,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.476,
          "after": 0.4735,
          "delta": -0.0025,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.338,
          "after": 0.3393,
          "delta": 0.0013,
          "percent_delta": 0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7109,
          "after": 0.7096,
          "delta": -0.0013,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2585,
          "after": 0.2519,
          "delta": -0.0066,
          "percent_delta": -0.0255,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.31), rates preserved: AVG=0.193 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1994,
          "after": 0.0,
          "delta": -0.1994,
          "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.9669,
          "after": 4.0,
          "delta": 0.0331,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1767,
          "after": 0.0,
          "delta": -0.1767,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8672,
          "after": 1.0,
          "delta": 0.1328,
          "percent_delta": 0.1531,
          "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.0928,
          "after": 0.0,
          "delta": -0.0928,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4735,
          "after": 0.0,
          "delta": -0.4735,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7096,
          "after": 1.0,
          "delta": 0.2904,
          "percent_delta": 0.4092,
          "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.7096,
          "after": 1.0,
          "delta": 0.2904,
          "percent_delta": 0.4092,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4735,
          "after": 0.0,
          "delta": -0.4735,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.3719,
          "after": 0.0,
          "delta": -0.3719,
          "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.3719,
          "after": 0.0,
          "delta": -0.3719,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1934,
        "predicted_3B": 0.0099,
        "predicted_BB": 0.2691,
        "predicted_H": 1.0007,
        "predicted_HR": 0.1339,
        "predicted_RBI": 0.5292,
        "predicted_SO": 0.7845
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1934,
          "delta": 0.1934,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0099,
          "delta": 0.0099,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2691,
          "delta": 0.2691,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0007,
          "delta": 0.0007,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1339,
          "delta": 0.1339,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5292,
          "delta": 0.5292,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7845,
          "delta": -0.2155,
          "percent_delta": -0.2155,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5292,
          "delta": 0.5292,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7845,
          "delta": -0.2155,
          "percent_delta": -0.2155,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1934,
          "after": 0.0,
          "delta": -0.1934,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0099,
          "after": 0.0,
          "delta": -0.0099,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2691,
          "after": 0.0,
          "delta": -0.2691,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0007,
          "after": 1.0,
          "delta": -0.0007,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1339,
          "after": 0.0,
          "delta": -0.1339,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5292,
          "after": 1.0,
          "delta": 0.4708,
          "percent_delta": 0.8896,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7845,
          "after": 1.0,
          "delta": 0.2155,
          "percent_delta": 0.2747,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5292,
          "after": 1.0,
          "delta": 0.4708,
          "percent_delta": 0.8896,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2691,
          "after": 0.0,
          "delta": -0.2691,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.419,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2186,
          "after": 0.259,
          "delta": 0.0404,
          "percent_delta": 0.1848,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2519,
          "after": 0.313,
          "delta": 0.0611,
          "percent_delta": 0.2426,
          "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.3393,
          "after": 0.419,
          "delta": 0.0797,
          "percent_delta": 0.2349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3393,
          "after": 0.419,
          "delta": 0.0797,
          "percent_delta": 0.2349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2186,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2519,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3393,
        "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.259,
          "after": 0.2186,
          "delta": -0.0404,
          "percent_delta": -0.1559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.313,
          "after": 0.2519,
          "delta": -0.0611,
          "percent_delta": -0.1951,
          "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.419,
          "after": 0.3393,
          "delta": -0.0797,
          "percent_delta": -0.1903,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.419,
          "after": 0.3393,
          "delta": -0.0797,
          "percent_delta": -0.1903,
          "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.227,
        "after": 1.0,
        "delta": 0.773,
        "percent_delta": 3.4053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.31,
        "after": 4.0,
        "delta": -0.31,
        "percent_delta": -0.0719,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.224,
        "after": 0.2186,
        "delta": -0.0054,
        "percent_delta": -0.0241,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.159,
        "after": 0.0,
        "delta": -0.159,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 2.0,
        "delta": 1.04,
        "percent_delta": 1.0833,
        "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.259,
        "after": 0.2519,
        "delta": -0.0071,
        "percent_delta": -0.0274,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.409,
        "after": 1.0,
        "delta": 0.591,
        "percent_delta": 1.445,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.34,
        "after": 0.3393,
        "delta": -0.0007,
        "percent_delta": -0.0021,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.716,
        "after": 1.0,
        "delta": 0.284,
        "percent_delta": 0.3966,
        "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_H",
        "before": 0.96,
        "after": 2.0,
        "delta": 1.04,
        "percent_delta": 1.0833,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.227-
predicted_3B0.000-
predicted_AB4.310-
predicted_AVG0.224-
predicted_BB0.159-
predicted_H0.960-
predicted_HR0.100-
predicted_OBP0.259-
predicted_R0.409-
predicted_RBI0.490-
predicted_SLG0.340-
predicted_SO0.716-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.028
predicted_3B0.0000.000
predicted_AB3.967-0.343
predicted_AVG0.220-0.004
predicted_BB0.1760.017
predicted_H0.871-0.089
predicted_HBP0.003-
predicted_HR0.094-0.006
predicted_OBP0.259-0.001
predicted_R0.374-0.035
predicted_RBI0.476-0.014
predicted_SLG0.338-0.002
predicted_SO0.711-0.005
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1990.000
predicted_3B0.0000.000
predicted_AB3.9670.000
predicted_AVG0.219-0.001
predicted_BB0.1770.000
predicted_H0.867-0.004
predicted_HBP0.0030.000
predicted_HR0.093-0.001
predicted_OBP0.252-0.007
predicted_R0.372-0.002
predicted_RBI0.473-0.003
predicted_SLG0.3390.001
predicted_SO0.710-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1930.193
3B0.0100.010
BB0.2690.269
H1.0010.001
HR0.1340.134
RBI0.5290.529
SO0.784-0.216
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.193
3B0.000-0.010
AB4.0000.000
BB0.000-0.269
H1.000-0.001
HR0.000-0.134
R0.0000.000
RBI1.0000.471
SO1.0000.216
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.199
predicted_3B0.000-0.000
predicted_AB4.0000.033
predicted_AVG0.2590.040
predicted_BB0.000-0.177
predicted_H1.0000.133
predicted_HR0.000-0.093
predicted_OBP0.3130.061
predicted_R0.000-0.372
predicted_RBI0.000-0.473
predicted_SLG0.4190.080
predicted_SO1.0000.290
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 88
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.0002.0000.0000.0000.0001.0000.0001.0002.0000.11110.15790.11110.11110.00000.05560.05560.1111
last_100.2010-37.0006.0001.0000.0001.0006.0003.0003.0009.0000.16220.22500.27030.16220.02700.16220.08110.2432
season0.6088-295.00077.00020.0000.0009.00043.00036.00014.00063.0000.26100.29450.42030.26100.03050.14580.04750.2136
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1620
predicted_3B0.0010
predicted_AB3.5010
predicted_AVG0.2145
predicted_BB0.2000
predicted_H0.7510
predicted_HBP0.0030
predicted_HR0.0860
predicted_OBP0.2579
predicted_R0.3260
predicted_RBI0.4570
predicted_SLG0.3354
predicted_SO0.7040
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22700.16200.1994model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.31003.50103.9669model_form_blend
predicted_AVG0.22400.21450.2200model_form_blend
predicted_BB0.15900.20000.1764model_form_blend
predicted_H0.96000.75100.8714model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.10000.08600.0941model_form_blend
predicted_OBP0.25900.25790.2585model_form_blend
predicted_R0.40900.32600.3738model_form_blend
predicted_RBI0.49000.45700.4760model_form_blend
predicted_SLG0.34000.33540.3380model_form_blend
predicted_SO0.71600.70400.7109model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 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
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_AB5
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20260908_TB@ATL
game_typefull
mlbID676356
playerID676356
playerNameJonny DeLuca
posRF
startedTrue
startingPositionCF
teamTB
teamID27
game_date2026-09-08
sl_k_percent19.9
sl_bb_percent4.4
sl_woba0.307
sl_xwoba0.265
sl_xba0.234
sl_xslg0.334
sl_sweet_spot_percent29.3
sl_barrel_batted_rate3.3
sl_hard_hit_percent29.7
sl_exit_velocity_avg85.6
sl_launch_angle_avg14.4
sl_whiff_percent25.0
sl_swing_percent53.0
Jorge Mateo (622761) · BATTER · SS · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 23
All-history rows before 20260910: 23
System season_avg: 0.2160
Data season_avg (2026 season-to-date): 0.1803
Diff (system - data): 0.0357
System opponent_avg: 0.1860
System season_avg diverges from 2026 season-to-date by 0.0357. 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.1061.0000.000Hitting_2B0.0430.0000.9571.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.6674.0003.000Hitting_AB2.6523.0001.3481.000
predicted_AVG0.2360.5000.333Hitting_AVG0.1800.3330.3200.167
predicted_BB0.1520.0000.000Hitting_BB0.1300.000-0.1300.000
predicted_CS-0.0000.000BaseRunning_CS0.0430.000-0.0430.000
predicted_H0.4802.0001.000Hitting_H0.4781.0001.5221.000
predicted_HR0.0400.0000.000Hitting_HR0.0870.000-0.0870.000
predicted_OBP0.2360.5000.333Hitting_OBP0.2150.3330.2850.167
predicted_R0.5151.0001.000Hitting_R0.4780.0000.5221.000
predicted_RBI0.2701.0000.000Hitting_RBI0.5222.0000.478-1.000
predicted_SLG0.2830.7500.333Hitting_SLG0.2950.3330.4550.417
predicted_SO0.8330.0001.000Hitting_SO0.7391.000-0.739-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_H: 0.4800 -> 2.0000 (boost 1.5200, better)
Biggest Deboostpredicted_SO: 0.8330 -> 0.0000 (deboost -0.8330, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42213predicted_AB: 2.6670 -> 2.8206 (boost 0.1536, better)predicted_AVG: 0.2360 -> 0.2162 (deboost -0.0198, worse)Final model input calibrated 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.2162 -> 0.1825 (deboost -0.0337, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_H: 0.5148 -> 1.0000 (boost 0.4852, better)predicted_RBI: 0.2975 -> 0.0000 (deboost -0.2975, worse)AB rounded to 3 (raw=2.82), rates preserved: AVG=0.175 HR/AB=0.017
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
7consistency_constraints11010predicted_R: 0.5131 -> 1.0000 (boost 0.4869, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3702 (boost 0.3702, better)predicted_H: 1.0000 -> 0.7733 (deboost -0.2267, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_H: 0.7733 -> 1.0000 (boost 0.2267, better)predicted_RBI: 0.3702 -> 0.0000 (deboost -0.3702, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.2673 -> 0.3930 (boost 0.1257, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_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
12current_json_final30303-predicted_SLG: 0.3930 -> 0.2673 (deboost -0.1257, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "622761",
  "player_name": "Jorge Mateo",
  "position": "SS",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.106,
        "predicted_3B": 0.0,
        "predicted_AB": 2.667,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.152,
        "predicted_H": 0.48,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.236,
        "predicted_R": 0.515,
        "predicted_RBI": 0.27,
        "predicted_SLG": 0.283,
        "predicted_SO": 0.833
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0962,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.8206,
        "predicted_AVG": 0.2162,
        "predicted_BB": 0.145,
        "predicted_H": 0.5173,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.0478,
        "predicted_OBP": 0.2297,
        "predicted_R": 0.5158,
        "predicted_RBI": 0.2991,
        "predicted_SLG": 0.2795,
        "predicted_SO": 0.8936
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.106,
          "after": 0.0962,
          "delta": -0.0098,
          "percent_delta": -0.0925,
          "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.667,
          "after": 2.8206,
          "delta": 0.1536,
          "percent_delta": 0.0576,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2162,
          "delta": -0.0198,
          "percent_delta": -0.0839,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.152,
          "after": 0.145,
          "delta": -0.007,
          "percent_delta": -0.0461,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.48,
          "after": 0.5173,
          "delta": 0.0373,
          "percent_delta": 0.0777,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0478,
          "delta": 0.0078,
          "percent_delta": 0.195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.236,
          "after": 0.2297,
          "delta": -0.0063,
          "percent_delta": -0.0267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.515,
          "after": 0.5158,
          "delta": 0.0008,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.27,
          "after": 0.2991,
          "delta": 0.0291,
          "percent_delta": 0.1078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.283,
          "after": 0.2795,
          "delta": -0.0035,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.833,
          "after": 0.8936,
          "delta": 0.0606,
          "percent_delta": 0.0727,
          "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": 2.667,
          "after": 2.8206,
          "delta": 0.1536,
          "percent_delta": 0.0576,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.2162,
          "delta": -0.0198,
          "percent_delta": -0.0839,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.0962,
        "predicted_3B": 0.0008,
        "predicted_AB": 2.8206,
        "predicted_AVG": 0.1825,
        "predicted_BB": 0.1453,
        "predicted_H": 0.5148,
        "predicted_HBP": 0.004,
        "predicted_HR": 0.0471,
        "predicted_OBP": 0.2226,
        "predicted_R": 0.5131,
        "predicted_RBI": 0.2975,
        "predicted_SLG": 0.2673,
        "predicted_SO": 0.892
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0962,
          "after": 0.0962,
          "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.8206,
          "after": 2.8206,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2162,
          "after": 0.1825,
          "delta": -0.0337,
          "percent_delta": -0.1559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.145,
          "after": 0.1453,
          "delta": 0.0003,
          "percent_delta": 0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5173,
          "after": 0.5148,
          "delta": -0.0025,
          "percent_delta": -0.0048,
          "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.0478,
          "after": 0.0471,
          "delta": -0.0007,
          "percent_delta": -0.0146,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2297,
          "after": 0.2226,
          "delta": -0.0071,
          "percent_delta": -0.0309,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5158,
          "after": 0.5131,
          "delta": -0.0027,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2991,
          "after": 0.2975,
          "delta": -0.0016,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2795,
          "after": 0.2673,
          "delta": -0.0122,
          "percent_delta": -0.0436,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8936,
          "after": 0.892,
          "delta": -0.0016,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2162,
          "after": 0.1825,
          "delta": -0.0337,
          "percent_delta": -0.1559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.82), rates preserved: AVG=0.175 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.0962,
          "after": 0.0,
          "delta": -0.0962,
          "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.8206,
          "after": 3.0,
          "delta": 0.1794,
          "percent_delta": 0.0636,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1453,
          "after": 0.0,
          "delta": -0.1453,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5148,
          "after": 1.0,
          "delta": 0.4852,
          "percent_delta": 0.9425,
          "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.0471,
          "after": 0.0,
          "delta": -0.0471,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.892,
          "after": 1.0,
          "delta": 0.108,
          "percent_delta": 0.1211,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5148,
          "after": 1.0,
          "delta": 0.4852,
          "percent_delta": 0.9425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2975,
          "after": 0.0,
          "delta": -0.2975,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.5131,
          "after": 1.0,
          "delta": 0.4869,
          "percent_delta": 0.9489,
          "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.5131,
          "after": 1.0,
          "delta": 0.4869,
          "percent_delta": 0.9489,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1667,
        "predicted_3B": 0.0092,
        "predicted_BB": 0.2674,
        "predicted_H": 0.7733,
        "predicted_HR": 0.11,
        "predicted_RBI": 0.3702,
        "predicted_SO": 0.8857
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1667,
          "delta": 0.1667,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0092,
          "delta": 0.0092,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2674,
          "delta": 0.2674,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7733,
          "delta": -0.2267,
          "percent_delta": -0.2267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.11,
          "delta": 0.11,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3702,
          "delta": 0.3702,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8857,
          "delta": -0.1143,
          "percent_delta": -0.1143,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3702,
          "delta": 0.3702,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7733,
          "delta": -0.2267,
          "percent_delta": -0.2267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1667,
          "after": 0.0,
          "delta": -0.1667,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0092,
          "after": 0.0,
          "delta": -0.0092,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2674,
          "after": 0.0,
          "delta": -0.2674,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7733,
          "after": 1.0,
          "delta": 0.2267,
          "percent_delta": 0.2932,
          "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_R",
          "before": 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.3702,
          "after": 0.0,
          "delta": -0.3702,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8857,
          "after": 1.0,
          "delta": 0.1143,
          "percent_delta": 0.1291,
          "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.7733,
          "after": 1.0,
          "delta": 0.2267,
          "percent_delta": 0.2932,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3702,
          "after": 0.0,
          "delta": -0.3702,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1825,
          "after": 0.236,
          "delta": 0.0535,
          "percent_delta": 0.2932,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2226,
          "after": 0.299,
          "delta": 0.0764,
          "percent_delta": 0.3432,
          "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.2673,
          "after": 0.393,
          "delta": 0.1257,
          "percent_delta": 0.4703,
          "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.2673,
          "after": 0.393,
          "delta": 0.1257,
          "percent_delta": 0.4703,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1825,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2226,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2673,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.1825,
          "delta": -0.0535,
          "percent_delta": -0.2266,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.2226,
          "delta": -0.0764,
          "percent_delta": -0.2557,
          "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.2673,
          "delta": -0.1257,
          "percent_delta": -0.3197,
          "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.393,
          "after": 0.2673,
          "delta": -0.1257,
          "percent_delta": -0.3197,
          "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.106,
        "after": 1.0,
        "delta": 0.894,
        "percent_delta": 8.434,
        "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.667,
        "after": 4.0,
        "delta": 1.333,
        "percent_delta": 0.4998,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.236,
        "after": 0.1825,
        "delta": -0.0535,
        "percent_delta": -0.2267,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.152,
        "after": 0.0,
        "delta": -0.152,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.48,
        "after": 2.0,
        "delta": 1.52,
        "percent_delta": 3.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.04,
        "after": 0.0,
        "delta": -0.04,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.236,
        "after": 0.2226,
        "delta": -0.0134,
        "percent_delta": -0.0568,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.515,
        "after": 1.0,
        "delta": 0.485,
        "percent_delta": 0.9417,
        "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.283,
        "after": 0.2673,
        "delta": -0.0157,
        "percent_delta": -0.0555,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.833,
        "after": 0.0,
        "delta": -0.833,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.48,
        "after": 2.0,
        "delta": 1.52,
        "percent_delta": 3.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.833,
        "after": 0.0,
        "delta": -0.833,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.106-
predicted_3B0.000-
predicted_AB2.667-
predicted_AVG0.236-
predicted_BB0.152-
predicted_H0.480-
predicted_HR0.040-
predicted_OBP0.236-
predicted_R0.515-
predicted_RBI0.270-
predicted_SLG0.283-
predicted_SO0.833-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.096-0.010
predicted_3B0.0010.001
predicted_AB2.8210.154
predicted_AVG0.216-0.020
predicted_BB0.145-0.007
predicted_H0.5170.037
predicted_HBP0.004-
predicted_HR0.0480.008
predicted_OBP0.230-0.006
predicted_R0.5160.001
predicted_RBI0.2990.029
predicted_SLG0.280-0.003
predicted_SO0.8940.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.0960.000
predicted_3B0.0010.000
predicted_AB2.8210.000
predicted_AVG0.182-0.034
predicted_BB0.1450.000
predicted_H0.515-0.002
predicted_HBP0.0040.000
predicted_HR0.047-0.001
predicted_OBP0.223-0.007
predicted_R0.513-0.003
predicted_RBI0.297-0.002
predicted_SLG0.267-0.012
predicted_SO0.892-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1670.167
3B0.0090.009
BB0.2670.267
H0.773-0.227
HR0.1100.110
RBI0.3700.370
SO0.886-0.114
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.167
3B0.000-0.009
AB3.0000.000
BB0.000-0.267
H1.0000.227
HR0.000-0.110
R1.0000.000
RBI0.000-0.370
SO1.0000.114
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.096
predicted_3B0.000-0.001
predicted_AB3.0000.179
predicted_AVG0.2360.053
predicted_BB0.000-0.145
predicted_H1.0000.485
predicted_HR0.000-0.047
predicted_OBP0.2990.076
predicted_R1.0000.487
predicted_RBI0.000-0.297
predicted_SLG0.3930.126
predicted_SO1.0000.108
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.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: 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-17.0002.0000.0000.0000.0002.0003.0000.0007.0000.11760.11760.11760.11770.00000.11770.00000.4118
last_100.2010-32.0004.0000.0000.0000.0004.0004.0001.00011.0000.12500.14710.12500.12500.00000.12500.03120.3438
season0.6066-176.00038.0007.0000.0005.00018.00034.00010.00055.0000.21590.25670.34090.21590.02840.10230.05680.3125
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0820
predicted_3B0.0020
predicted_AB3.0420
predicted_AVG0.1877
predicted_BB0.1350
predicted_H0.5710
predicted_HBP0.0040
predicted_HR0.0590
predicted_OBP0.2206
predicted_R0.5170
predicted_RBI0.3410
predicted_SLG0.2744
predicted_SO0.9810
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10600.08200.0962model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB2.66703.04202.8206model_form_blend
predicted_AVG0.23600.18770.2162model_form_blend
predicted_BB0.15200.13500.1450model_form_blend
predicted_H0.48000.57100.5173model_form_blend
predicted_HBP-0.00400.0040form_only
predicted_HR0.04000.05900.0478model_form_blend
predicted_OBP0.23600.22060.2297model_form_blend
predicted_R0.51500.51700.5158model_form_blend
predicted_RBI0.27000.34100.2991model_form_blend
predicted_SLG0.28300.27440.2795model_form_blend
predicted_SO0.83300.98100.8936model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date23
Season rows before report date23
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
H2
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_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
Hitting_SAC1
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
allPositionsPlayedSS
gameID20260909_TB@ATL
game_typefull
mlbID622761
playerID622761
playerNameJorge Mateo
posSS
startedTrue
startingPositionSS
teamTB
teamID27
game_date2026-09-09
sl_k_percent29.2
sl_bb_percent5.9
sl_woba0.265
sl_xwoba0.297
sl_xba0.242
sl_xslg0.396
sl_sweet_spot_percent42.5
sl_barrel_batted_rate8.3
sl_hard_hit_percent39.2
sl_exit_velocity_avg88.2
sl_launch_angle_avg13.0
sl_whiff_percent32.2
sl_swing_percent54.0
Nick Fortes (663743) · BATTER · C · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 288
All-history rows before 20260910: 288
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2711
Diff (system - data): -0.0041
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.1671.0000.000Hitting_2B0.1810.0000.8191.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.0004.0003.000Hitting_AB3.1634.0000.8370.000
predicted_AVG0.2680.2500.333Hitting_AVG0.2710.250-0.0210.000
predicted_BB0.1000.0000.000Hitting_BB0.1250.000-0.1250.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7901.0001.000Hitting_H0.8581.0000.1420.000
predicted_HR0.0500.0000.000Hitting_HR0.0560.000-0.0560.000
predicted_OBP0.2770.2500.333Hitting_OBP0.3170.250-0.0670.000
predicted_R0.3331.0000.000Hitting_R0.3821.0000.6180.000
predicted_RBI0.3702.0000.000Hitting_RBI0.3851.0001.6151.000
predicted_SLG0.3420.5000.333Hitting_SLG0.3810.2500.1190.250
predicted_SO0.4221.0000.000Hitting_SO0.4311.0000.5690.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics7
Deboosted Metrics3
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_RBI: 0.3700 -> 2.0000 (boost 1.6300, better)
Biggest Deboostpredicted_BB: 0.1000 -> 0.0000 (deboost -0.1000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21102predicted_SO: 0.4220 -> 0.4794 (boost 0.0574, worse)predicted_AVG: 0.2680 -> 0.2582 (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_snapshot11010predicted_SLG: 0.3377 -> 0.3510 (boost 0.0133, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling51423predicted_H: 0.7724 -> 1.0000 (boost 0.2276, better)predicted_SO: 0.4785 -> 0.0000 (deboost -0.4785, better)AB rounded to 3 (raw=3.04), rates preserved: AVG=0.243 HR/AB=0.014
6consistency_constraints10101-predicted_R: 0.3317 -> 0.0000 (deboost -0.3317, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_SO: 0.0000 -> 0.4661 (boost 0.4661, worse)predicted_H: 1.0000 -> 0.8177 (deboost -0.1823, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61524predicted_H: 0.8177 -> 1.0000 (boost 0.1823, better)predicted_SO: 0.4661 -> 0.0000 (deboost -0.4661, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context22020predicted_SLG: 0.3510 -> 0.3860 (boost 0.0350, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference55041predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final20202-predicted_SLG: 0.3860 -> 0.3510 (deboost -0.0350, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663743",
  "player_name": "Nick Fortes",
  "position": "C",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.167,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.268,
        "predicted_BB": 0.1,
        "predicted_H": 0.79,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.277,
        "predicted_R": 0.333,
        "predicted_RBI": 0.37,
        "predicted_SLG": 0.342,
        "predicted_SO": 0.422
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1645,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0397,
        "predicted_AVG": 0.2582,
        "predicted_BB": 0.1063,
        "predicted_H": 0.7761,
        "predicted_HBP": 0.046,
        "predicted_HR": 0.0437,
        "predicted_OBP": 0.2789,
        "predicted_R": 0.3334,
        "predicted_RBI": 0.3649,
        "predicted_SLG": 0.3377,
        "predicted_SO": 0.4794
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.167,
          "after": 0.1645,
          "delta": -0.0025,
          "percent_delta": -0.015,
          "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.0,
          "after": 3.0397,
          "delta": 0.0397,
          "percent_delta": 0.0132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2582,
          "delta": -0.0098,
          "percent_delta": -0.0366,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1,
          "after": 0.1063,
          "delta": 0.0063,
          "percent_delta": 0.063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 0.7761,
          "delta": -0.0139,
          "percent_delta": -0.0176,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0437,
          "delta": -0.0063,
          "percent_delta": -0.126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.277,
          "after": 0.2789,
          "delta": 0.0019,
          "percent_delta": 0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.333,
          "after": 0.3334,
          "delta": 0.0004,
          "percent_delta": 0.0012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.37,
          "after": 0.3649,
          "delta": -0.0051,
          "percent_delta": -0.0138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.342,
          "after": 0.3377,
          "delta": -0.0043,
          "percent_delta": -0.0126,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.422,
          "after": 0.4794,
          "delta": 0.0574,
          "percent_delta": 0.136,
          "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.422,
          "after": 0.4794,
          "delta": 0.0574,
          "percent_delta": 0.136,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.268,
          "after": 0.2582,
          "delta": -0.0098,
          "percent_delta": -0.0366,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1645,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.0397,
        "predicted_AVG": 0.2541,
        "predicted_BB": 0.1065,
        "predicted_H": 0.7724,
        "predicted_HBP": 0.046,
        "predicted_HR": 0.0431,
        "predicted_OBP": 0.2793,
        "predicted_R": 0.3317,
        "predicted_RBI": 0.363,
        "predicted_SLG": 0.351,
        "predicted_SO": 0.4785
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1645,
          "after": 0.1645,
          "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.0397,
          "after": 3.0397,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2582,
          "after": 0.2541,
          "delta": -0.0041,
          "percent_delta": -0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1063,
          "after": 0.1065,
          "delta": 0.0002,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7761,
          "after": 0.7724,
          "delta": -0.0037,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.046,
          "after": 0.046,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0437,
          "after": 0.0431,
          "delta": -0.0006,
          "percent_delta": -0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2789,
          "after": 0.2793,
          "delta": 0.0004,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3334,
          "after": 0.3317,
          "delta": -0.0017,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3649,
          "after": 0.363,
          "delta": -0.0019,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3377,
          "after": 0.351,
          "delta": 0.0133,
          "percent_delta": 0.0394,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4794,
          "after": 0.4785,
          "delta": -0.0009,
          "percent_delta": -0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3377,
          "after": 0.351,
          "delta": 0.0133,
          "percent_delta": 0.0394,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.04), rates preserved: AVG=0.243 HR/AB=0.014",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1645,
          "after": 0.0,
          "delta": -0.1645,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0397,
          "after": 3.0,
          "delta": -0.0397,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1065,
          "after": 0.0,
          "delta": -0.1065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7724,
          "after": 1.0,
          "delta": 0.2276,
          "percent_delta": 0.2947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.046,
          "after": 0.0,
          "delta": -0.046,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0431,
          "after": 0.0,
          "delta": -0.0431,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.363,
          "after": 0.0,
          "delta": -0.363,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4785,
          "after": 0.0,
          "delta": -0.4785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7724,
          "after": 1.0,
          "delta": 0.2276,
          "percent_delta": 0.2947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4785,
          "after": 0.0,
          "delta": -0.4785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.3317,
          "after": 0.0,
          "delta": -0.3317,
          "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.3317,
          "after": 0.0,
          "delta": -0.3317,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.0087,
        "predicted_BB": 0.189,
        "predicted_H": 0.8177,
        "predicted_HR": 0.0848,
        "predicted_RBI": 0.3957,
        "predicted_SO": 0.4661
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.157,
          "delta": 0.157,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0087,
          "delta": 0.0087,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.189,
          "delta": 0.189,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8177,
          "delta": -0.1823,
          "percent_delta": -0.1823,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0848,
          "delta": 0.0848,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3957,
          "delta": 0.3957,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4661,
          "delta": 0.4661,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4661,
          "delta": 0.4661,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8177,
          "delta": -0.1823,
          "percent_delta": -0.1823,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.0,
          "delta": -0.157,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0087,
          "after": 0.0,
          "delta": -0.0087,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.189,
          "after": 0.0,
          "delta": -0.189,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8177,
          "after": 1.0,
          "delta": 0.1823,
          "percent_delta": 0.2229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3957,
          "after": 0.0,
          "delta": -0.3957,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4661,
          "after": 0.0,
          "delta": -0.4661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.8177,
          "after": 1.0,
          "delta": 0.1823,
          "percent_delta": 0.2229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4661,
          "after": 0.0,
          "delta": -0.4661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.386,
        "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.2541,
          "after": 0.253,
          "delta": -0.0011,
          "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.2793,
          "after": 0.3,
          "delta": 0.0207,
          "percent_delta": 0.0741,
          "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.351,
          "after": 0.386,
          "delta": 0.035,
          "percent_delta": 0.0997,
          "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.351,
          "after": 0.386,
          "delta": 0.035,
          "percent_delta": 0.0997,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2541,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2793,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.351,
        "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.253,
          "after": 0.2541,
          "delta": 0.0011,
          "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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2793,
          "delta": -0.0207,
          "percent_delta": -0.0689,
          "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.386,
          "after": 0.351,
          "delta": -0.035,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.386,
          "after": 0.351,
          "delta": -0.035,
          "percent_delta": -0.0906,
          "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.167,
        "after": 1.0,
        "delta": 0.833,
        "percent_delta": 4.988,
        "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_AVG",
        "before": 0.268,
        "after": 0.2541,
        "delta": -0.0139,
        "percent_delta": -0.0519,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.79,
        "after": 1.0,
        "delta": 0.21,
        "percent_delta": 0.2658,
        "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.277,
        "after": 0.2793,
        "delta": 0.0023,
        "percent_delta": 0.0083,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.333,
        "after": 1.0,
        "delta": 0.667,
        "percent_delta": 2.003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 2.0,
        "delta": 1.63,
        "percent_delta": 4.4054,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.342,
        "after": 0.351,
        "delta": 0.009,
        "percent_delta": 0.0263,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.422,
        "after": 1.0,
        "delta": 0.578,
        "percent_delta": 1.3697,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 7,
      "deboosted_metrics": 3,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.37,
        "after": 2.0,
        "delta": 1.63,
        "percent_delta": 4.4054,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "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.167-
predicted_3B0.000-
predicted_AB3.000-
predicted_AVG0.268-
predicted_BB0.100-
predicted_H0.790-
predicted_HR0.050-
predicted_OBP0.277-
predicted_R0.333-
predicted_RBI0.370-
predicted_SLG0.342-
predicted_SO0.422-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.165-0.003
predicted_3B0.0000.000
predicted_AB3.0400.040
predicted_AVG0.258-0.010
predicted_BB0.1060.006
predicted_H0.776-0.014
predicted_HBP0.046-
predicted_HR0.044-0.006
predicted_OBP0.2790.002
predicted_R0.3330.000
predicted_RBI0.365-0.005
predicted_SLG0.338-0.004
predicted_SO0.4790.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.1650.000
predicted_3B0.0000.000
predicted_AB3.0400.000
predicted_AVG0.254-0.004
predicted_BB0.1060.000
predicted_H0.772-0.004
predicted_HBP0.0460.000
predicted_HR0.043-0.001
predicted_OBP0.2790.000
predicted_R0.332-0.002
predicted_RBI0.363-0.002
predicted_SLG0.3510.013
predicted_SO0.478-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.1570.157
3B0.0090.009
BB0.1890.189
H0.818-0.182
HR0.0850.085
RBI0.3960.396
SO0.4660.466
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.157
3B0.000-0.009
AB3.0000.000
BB0.000-0.189
H1.0000.182
HR0.000-0.085
R0.0000.000
RBI0.000-0.396
SO0.000-0.466
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.165
predicted_3B0.000-0.000
predicted_AB3.000-0.040
predicted_AVG0.253-0.001
predicted_BB0.000-0.106
predicted_H1.0000.228
predicted_HR0.000-0.043
predicted_OBP0.3000.021
predicted_R0.000-0.332
predicted_RBI0.000-0.363
predicted_SLG0.3860.035
predicted_SO0.000-0.478
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-16.0004.0001.0000.0000.0002.0002.0000.0004.0000.25000.25000.31250.25000.00000.12500.00000.2500
last_100.2010-29.0005.0001.0000.0000.0003.0002.0002.0006.0000.17240.22580.20690.17240.00000.10350.06900.2069
season0.6090-270.00072.00015.0000.0004.00031.00030.0009.00038.0000.26670.30660.36670.26670.01480.11480.03330.1407
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1610
predicted_3B0.0010
predicted_AB3.0940
predicted_AVG0.2448
predicted_BB0.1150
predicted_H0.7570
predicted_HBP0.0460
predicted_HR0.0350
predicted_OBP0.2816
predicted_R0.3340
predicted_RBI0.3580
predicted_SLG0.3318
predicted_SO0.5580
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16700.16100.1645model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.00003.09403.0397model_form_blend
predicted_AVG0.26800.24480.2582model_form_blend
predicted_BB0.10000.11500.1063model_form_blend
predicted_H0.79000.75700.7761model_form_blend
predicted_HBP-0.04600.0460form_only
predicted_HR0.05000.03500.0437model_form_blend
predicted_OBP0.27700.28160.2789model_form_blend
predicted_R0.33300.33400.3334model_form_blend
predicted_RBI0.37000.35800.3649model_form_blend
predicted_SLG0.34200.33180.3377model_form_blend
predicted_SO0.42200.55800.4794model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20260906_TB@TEX
game_typefull
mlbID663743
playerID663743
playerNameNick Fortes
posC
startedTrue
startingPositionC
teamTB
teamID27
game_date2026-09-06
sl_k_percent12.9
sl_bb_percent3.1
sl_woba0.298
sl_xwoba0.274
sl_xba0.244
sl_xslg0.327
sl_sweet_spot_percent24.3
sl_barrel_batted_rate2.1
sl_hard_hit_percent34.5
sl_exit_velocity_avg85.1
sl_launch_angle_avg7.8
sl_whiff_percent17.4
sl_swing_percent52.3
Cedric Mullins (656775) · BATTER · CF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 436
All-history rows before 20260910: 436
System season_avg: 0.2060
Data season_avg (2026 season-to-date): 0.2104
Diff (system - data): -0.0044
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.0830.0000.000Hitting_2B0.0990.000-0.0990.000
predicted_3B0.0250.0000.000Hitting_3B0.0320.000-0.0320.000
predicted_AB3.6904.0003.000Hitting_AB3.5874.0000.4130.000
predicted_AVG0.1930.2500.000Hitting_AVG0.2100.2500.0400.000
predicted_BB0.3470.0000.000Hitting_BB0.3600.000-0.3600.000
predicted_CS-0.0000.000BaseRunning_CS0.0730.000-0.0730.000
predicted_H0.7101.0000.000Hitting_H0.7551.0000.2450.000
predicted_HR0.0700.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.2960.2500.000Hitting_OBP0.2920.250-0.0420.000
predicted_R0.4301.0000.000Hitting_R0.4841.0000.5160.000
predicted_RBI0.4501.0000.000Hitting_RBI0.4111.0000.5890.000
predicted_SLG0.2930.2500.000Hitting_SLG0.3610.250-0.1110.000
predicted_SO0.7360.0001.000Hitting_SO0.8121.000-0.812-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics6
Worse Metrics4
Biggest Boostpredicted_R: 0.4300 -> 1.0000 (boost 0.5700, better)
Biggest Deboostpredicted_SO: 0.7360 -> 0.0000 (deboost -0.7360, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_SLG: 0.2930 -> 0.3051 (boost 0.0121, better)predicted_AB: 3.6900 -> 3.5038 (deboost -0.1862, worse)Final model input calibrated 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.2997 -> 0.2766 (deboost -0.0231, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.6441 -> 1.0000 (boost 0.3559, worse)predicted_AB: 3.5038 -> 3.0000 (deboost -0.5038, worse)AB rounded to 3 (raw=3.69), rates preserved: AVG=0.181 HR/AB=0.021
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)
7consistency_constraints10101-predicted_R: 0.4337 -> 0.0000 (deboost -0.4337, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3888 (boost 0.3888, better)predicted_SO: 1.0000 -> 0.6794 (deboost -0.3206, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61506predicted_SO: 0.6794 -> 1.0000 (boost 0.3206, worse)predicted_H: 0.7155 -> 0.0000 (deboost -0.7155, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context44040predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_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
12current_json_final30303-predicted_SLG: 0.3630 -> 0.2975 (deboost -0.0655, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "656775",
  "player_name": "Cedric Mullins",
  "position": "CF",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.083,
        "predicted_3B": 0.025,
        "predicted_AB": 3.69,
        "predicted_AVG": 0.193,
        "predicted_BB": 0.347,
        "predicted_H": 0.71,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.296,
        "predicted_R": 0.43,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.293,
        "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.0705,
        "predicted_3B": 0.0202,
        "predicted_AB": 3.5038,
        "predicted_AVG": 0.2014,
        "predicted_BB": 0.3729,
        "predicted_H": 0.7022,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.0786,
        "predicted_OBP": 0.2997,
        "predicted_R": 0.436,
        "predicted_RBI": 0.4595,
        "predicted_SLG": 0.3051,
        "predicted_SO": 0.6453
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.083,
          "after": 0.0705,
          "delta": -0.0125,
          "percent_delta": -0.1506,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.025,
          "after": 0.0202,
          "delta": -0.0048,
          "percent_delta": -0.192,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.69,
          "after": 3.5038,
          "delta": -0.1862,
          "percent_delta": -0.0505,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.193,
          "after": 0.2014,
          "delta": 0.0084,
          "percent_delta": 0.0435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.347,
          "after": 0.3729,
          "delta": 0.0259,
          "percent_delta": 0.0746,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.71,
          "after": 0.7022,
          "delta": -0.0078,
          "percent_delta": -0.011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0786,
          "delta": 0.0086,
          "percent_delta": 0.1229,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.2997,
          "delta": 0.0037,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.43,
          "after": 0.436,
          "delta": 0.006,
          "percent_delta": 0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.45,
          "after": 0.4595,
          "delta": 0.0095,
          "percent_delta": 0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.293,
          "after": 0.3051,
          "delta": 0.0121,
          "percent_delta": 0.0413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.736,
          "after": 0.6453,
          "delta": -0.0907,
          "percent_delta": -0.1232,
          "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.293,
          "after": 0.3051,
          "delta": 0.0121,
          "percent_delta": 0.0413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.69,
          "after": 3.5038,
          "delta": -0.1862,
          "percent_delta": -0.0505,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.0705,
        "predicted_3B": 0.0202,
        "predicted_AB": 3.5038,
        "predicted_AVG": 0.1994,
        "predicted_BB": 0.3736,
        "predicted_H": 0.6988,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.0775,
        "predicted_OBP": 0.2766,
        "predicted_R": 0.4337,
        "predicted_RBI": 0.4571,
        "predicted_SLG": 0.2975,
        "predicted_SO": 0.6441
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0705,
          "after": 0.0705,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0202,
          "after": 0.0202,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5038,
          "after": 3.5038,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2014,
          "after": 0.1994,
          "delta": -0.002,
          "percent_delta": -0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3729,
          "after": 0.3736,
          "delta": 0.0007,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7022,
          "after": 0.6988,
          "delta": -0.0034,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.033,
          "after": 0.033,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0786,
          "after": 0.0775,
          "delta": -0.0011,
          "percent_delta": -0.014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2997,
          "after": 0.2766,
          "delta": -0.0231,
          "percent_delta": -0.0771,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.436,
          "after": 0.4337,
          "delta": -0.0023,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4595,
          "after": 0.4571,
          "delta": -0.0024,
          "percent_delta": -0.0052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3051,
          "after": 0.2975,
          "delta": -0.0076,
          "percent_delta": -0.0249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6453,
          "after": 0.6441,
          "delta": -0.0012,
          "percent_delta": -0.0019,
          "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.2997,
          "after": 0.2766,
          "delta": -0.0231,
          "percent_delta": -0.0771,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.69), rates preserved: AVG=0.181 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.0705,
          "after": 0.0,
          "delta": -0.0705,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0202,
          "after": 0.0,
          "delta": -0.0202,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5038,
          "after": 3.0,
          "delta": -0.5038,
          "percent_delta": -0.1438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3736,
          "after": 0.0,
          "delta": -0.3736,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6988,
          "after": 1.0,
          "delta": 0.3012,
          "percent_delta": 0.431,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.033,
          "after": 0.0,
          "delta": -0.033,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0775,
          "after": 0.0,
          "delta": -0.0775,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4571,
          "after": 0.0,
          "delta": -0.4571,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6441,
          "after": 1.0,
          "delta": 0.3559,
          "percent_delta": 0.5526,
          "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.6441,
          "after": 1.0,
          "delta": 0.3559,
          "percent_delta": 0.5526,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5038,
          "after": 3.0,
          "delta": -0.5038,
          "percent_delta": -0.1438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.167)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.4337,
          "after": 0.0,
          "delta": -0.4337,
          "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.4337,
          "after": 0.0,
          "delta": -0.4337,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1215,
        "predicted_3B": 0.0159,
        "predicted_BB": 0.2994,
        "predicted_H": 0.7155,
        "predicted_HR": 0.0995,
        "predicted_RBI": 0.3888,
        "predicted_SO": 0.6794
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1215,
          "delta": 0.1215,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0159,
          "delta": 0.0159,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2994,
          "delta": 0.2994,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7155,
          "delta": -0.2845,
          "percent_delta": -0.2845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0995,
          "delta": 0.0995,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3888,
          "delta": 0.3888,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6794,
          "delta": -0.3206,
          "percent_delta": -0.3206,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3888,
          "delta": 0.3888,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6794,
          "delta": -0.3206,
          "percent_delta": -0.3206,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1215,
          "after": 0.0,
          "delta": -0.1215,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0159,
          "after": 0.0,
          "delta": -0.0159,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2994,
          "after": 0.0,
          "delta": -0.2994,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7155,
          "after": 0.0,
          "delta": -0.7155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0995,
          "after": 0.0,
          "delta": -0.0995,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3888,
          "after": 0.0,
          "delta": -0.3888,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6794,
          "after": 1.0,
          "delta": 0.3206,
          "percent_delta": 0.4719,
          "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.6794,
          "after": 1.0,
          "delta": 0.3206,
          "percent_delta": 0.4719,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7155,
          "after": 0.0,
          "delta": -0.7155,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "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.1994,
          "after": 0.222,
          "delta": 0.0226,
          "percent_delta": 0.1133,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2766,
          "after": 0.294,
          "delta": 0.0174,
          "percent_delta": 0.0629,
          "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.2975,
          "after": 0.363,
          "delta": 0.0655,
          "percent_delta": 0.2202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1994,
        "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.2766,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2975,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.1994,
          "delta": -0.0226,
          "percent_delta": -0.1016,
          "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.294,
          "after": 0.2766,
          "delta": -0.0174,
          "percent_delta": -0.0593,
          "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.363,
          "after": 0.2975,
          "delta": -0.0655,
          "percent_delta": -0.1805,
          "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.2975,
          "delta": -0.0655,
          "percent_delta": -0.1805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.083,
        "after": 0.0,
        "delta": -0.083,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.025,
        "after": 0.0,
        "delta": -0.025,
        "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.193,
        "after": 0.1994,
        "delta": 0.0064,
        "percent_delta": 0.0332,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.347,
        "after": 0.0,
        "delta": -0.347,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.71,
        "after": 1.0,
        "delta": 0.29,
        "percent_delta": 0.4085,
        "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.296,
        "after": 0.2766,
        "delta": -0.0194,
        "percent_delta": -0.0655,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.43,
        "after": 1.0,
        "delta": 0.57,
        "percent_delta": 1.3256,
        "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.293,
        "after": 0.2975,
        "delta": 0.0045,
        "percent_delta": 0.0154,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 6,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.43,
        "after": 1.0,
        "delta": 0.57,
        "percent_delta": 1.3256,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.736,
        "after": 0.0,
        "delta": -0.736,
        "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.083-
predicted_3B0.025-
predicted_AB3.690-
predicted_AVG0.193-
predicted_BB0.347-
predicted_H0.710-
predicted_HR0.070-
predicted_OBP0.296-
predicted_R0.430-
predicted_RBI0.450-
predicted_SLG0.293-
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.070-0.013
predicted_3B0.020-0.005
predicted_AB3.504-0.186
predicted_AVG0.2010.008
predicted_BB0.3730.026
predicted_H0.702-0.008
predicted_HBP0.033-
predicted_HR0.0790.009
predicted_OBP0.3000.004
predicted_R0.4360.006
predicted_RBI0.4600.010
predicted_SLG0.3050.012
predicted_SO0.645-0.091
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0700.000
predicted_3B0.0200.000
predicted_AB3.5040.000
predicted_AVG0.199-0.002
predicted_BB0.3740.001
predicted_H0.699-0.003
predicted_HBP0.0330.000
predicted_HR0.077-0.001
predicted_OBP0.277-0.023
predicted_R0.434-0.002
predicted_RBI0.457-0.002
predicted_SLG0.297-0.008
predicted_SO0.644-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1210.121
3B0.0160.016
BB0.2990.299
H0.716-0.284
HR0.1000.100
RBI0.3890.389
SO0.679-0.321
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.121
3B0.000-0.016
AB3.0000.000
BB0.000-0.299
H0.000-0.716
HR0.000-0.100
R0.0000.000
RBI0.000-0.389
SO1.0000.321
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.070
predicted_3B0.000-0.020
predicted_AB3.000-0.504
predicted_AVG0.2220.023
predicted_BB0.000-0.374
predicted_H1.0000.301
predicted_HR0.000-0.077
predicted_OBP0.2940.017
predicted_R0.000-0.434
predicted_RBI0.000-0.457
predicted_SLG0.3630.066
predicted_SO1.0000.356
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 121
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0003.0000.0000.0000.0003.0002.0003.0001.0000.20000.33330.20000.20000.00000.20000.20000.0667
last_100.2010-30.0007.0000.0000.0001.0006.0005.0004.0002.0000.23330.32350.33330.23330.03330.20000.13330.0667
season0.60121-408.00084.00010.0003.00014.00045.00052.00042.00089.0000.20590.28850.34800.20590.03430.11030.10290.2181
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0540
predicted_3B0.0140
predicted_AB3.2590
predicted_AVG0.2125
predicted_BB0.4070
predicted_H0.6920
predicted_HBP0.0330
predicted_HR0.0900
predicted_OBP0.3045
predicted_R0.4440
predicted_RBI0.4720
predicted_SLG0.3211
predicted_SO0.5260
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08300.05400.0705model_form_blend
predicted_3B0.02500.01400.0202model_form_blend
predicted_AB3.69003.25903.5038model_form_blend
predicted_AVG0.19300.21250.2014model_form_blend
predicted_BB0.34700.40700.3729model_form_blend
predicted_H0.71000.69200.7022model_form_blend
predicted_HBP-0.03300.0330form_only
predicted_HR0.07000.09000.0786model_form_blend
predicted_OBP0.29600.30450.2997model_form_blend
predicted_R0.43000.44400.4360model_form_blend
predicted_RBI0.45000.47200.4595model_form_blend
predicted_SLG0.29300.32110.3051model_form_blend
predicted_SO0.73600.52600.6453model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20260909_TB@ATL
game_typefull
mlbID656775
playerID656775
playerNameCedric Mullins
posCF
startedTrue
startingPositionCF
teamTB
teamID27
game_date2026-09-09
sl_k_percent18.9
sl_bb_percent9.0
sl_woba0.285
sl_xwoba0.267
sl_xba0.191
sl_xslg0.315
sl_sweet_spot_percent24.9
sl_barrel_batted_rate4.3
sl_hard_hit_percent32.2
sl_exit_velocity_avg87.9
sl_launch_angle_avg26.2
sl_whiff_percent22.2
sl_swing_percent49.7
Nick Martinez (607259) · PITCHER · Starter · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 27
All-history rows before 20260910: 27

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.8892.000-0.889-2.000
predicted_ER2.0002.0002.000Pitching_ER2.0003.0000.000-1.000
predicted_H5.0005.0005.000Pitching_H5.6305.000-0.6300.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.7966.1000.204-0.100
predicted_SO5.0005.0005.000Pitching_SO3.5194.0001.4811.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": "607259",
  "player_name": "Nick Martinez",
  "position": "Starter",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.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": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 2.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER2.000-
predicted_H5.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_BB0.0000.000
predicted_ER2.0000.000
predicted_H5.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO5.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 27
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45531.00016.00030.0004.00022.0004.0004.64521.09680.51610.96770.12900.70970.1290
last_100.351060.00025.00057.0006.00034.0009.0003.75001.05000.41670.95000.10000.56670.1500
season0.2027160.00054.000152.00024.00095.00019.0003.03751.10000.33750.95000.15000.59380.1187
Weighted Prediction From Real Data
MetricValue
predicted_BB0.9920
predicted_ER2.7850
predicted_ERA4.0910
predicted_H5.8840
predicted_HR0.8350
predicted_IP6.0000
predicted_SO4.1900
predicted_WHIP1.1222
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.99200.5793model_form_blend
predicted_ER2.00002.78502.4584model_form_blend
predicted_ERA-4.09104.0910form_only
predicted_H5.00005.88405.5163model_form_blend
predicted_HR0.00000.83500.4876model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO5.00004.19004.5270model_form_blend
predicted_WHIP-1.12221.1222form_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.0
H5
R2
ER2
BB0
SO5
HR0
BF23
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_ER3
Pitching_ERA3.04
Pitching_Flyouts3
Pitching_Groundouts5
Pitching_H5
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.1
Pitching_Pitches90
Pitching_R3
Pitching_SO4
Pitching_Strikes61
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260904_TB@TEX
game_typefull
mlbID607259
playerID607259
playerNameNick Martinez
posP
startedTrue
startingPositionP
teamTB
teamID27
game_date2026-09-04
sl_k_percent14.8
sl_bb_percent3.7
sl_woba0.294
sl_xwoba0.316
sl_sweet_spot_percent35.1
sl_barrel_batted_rate6.9
sl_hard_hit_percent33.2
sl_whiff_percent17.7
sl_swing_percent50.5
sl_avg_best_speed75.875122741
sl_avg_hyper_speed93.216240909
Bryan Baker (641329) · PITCHER · Closer · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 59
All-history rows before 20260910: 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.3390.000-0.3390.000
predicted_ER1.0001.0001.000Pitching_ER0.1690.0000.8311.000
predicted_H2.0002.0002.000Pitching_H0.5250.0001.4752.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9251.0000.0750.000
predicted_SO2.0002.0002.000Pitching_SO1.0170.0000.9832.000

Boost/Deboost Impact Trace

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.0000.0002.0002.0004.0000.0000.00000.80000.00000.40000.40000.80000.0000
last_100.351010.2001.0007.0003.0009.0001.0000.84380.93750.09380.65620.28120.84380.0938
season0.205756.0009.00030.00018.00060.0004.0001.44640.85710.16070.53570.32141.07140.0714
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3520
predicted_ER0.1990
predicted_ERA1.7936
predicted_H0.6570
predicted_HR0.0780
predicted_IP1.0000
predicted_SO0.8910
predicted_WHIP1.0083
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.35200.1832model_form_blend
predicted_ER1.00000.19900.5831model_form_blend
predicted_ERA-1.79361.7936form_only
predicted_H2.00000.65701.3011model_form_blend
predicted_HR0.00000.07800.0406model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.89101.4229model_form_blend
predicted_WHIP-1.00831.0083form_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 used57
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
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 Faced3
Pitching_ER0
Pitching_ERA1.61
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches9
Pitching_R0
Pitching_SO0
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260908_TB@ATL
game_typefull
mlbID641329
playerID641329
playerNameBryan Baker
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-08
sl_k_percent27.3
sl_bb_percent9.1
sl_woba0.229
sl_xwoba0.273
sl_sweet_spot_percent34.1
sl_barrel_batted_rate7.2
sl_hard_hit_percent36.2
sl_whiff_percent28.1
sl_swing_percent53.2
sl_avg_best_speed75.289928382
sl_avg_hyper_speed93.558369037
Kevin Kelly (687330) · PITCHER · Setup Man · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 64
All-history rows before 20260910: 64

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1720.000-0.1720.000
predicted_ER0.0000.0000.000Pitching_ER0.2500.000-0.2500.000
predicted_H1.0001.0001.000Pitching_H0.7190.0000.2811.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8971.0000.1030.000
predicted_SO3.0003.0003.000Pitching_SO0.8441.0002.1562.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 64
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0002.0003.0000.0004.0001.0004.50000.75000.50000.75000.00001.00000.2500
last_100.35109.2004.0006.0002.0009.0002.0003.72410.82760.41380.62070.20690.93100.2069
season0.206467.20016.00046.00011.00054.0006.0002.12810.84240.23640.67980.16260.79800.0887
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1570
predicted_ER0.3920
predicted_ERA3.9611
predicted_H0.6820
predicted_HR0.1670
predicted_IP1.0000
predicted_SO0.8340
predicted_WHIP0.9427
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.15700.0843model_form_blend
predicted_ER0.00000.39200.2104model_form_blend
predicted_ERA-3.96113.9611form_only
predicted_H1.00000.68200.8293model_form_blend
predicted_HR0.00000.16700.0896model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO3.00000.83401.8374model_form_blend
predicted_WHIP-0.94270.9427form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.13
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches15
Pitching_R0
Pitching_SO1
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260908_TB@ATL
game_typefull
mlbID687330
playerID687330
playerNameKevin Kelly
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-08
sl_k_percent21.4
sl_bb_percent4.4
sl_woba0.235
sl_xwoba0.296
sl_sweet_spot_percent31.0
sl_barrel_batted_rate6.0
sl_hard_hit_percent45.7
sl_whiff_percent21.6
sl_swing_percent48.7
sl_avg_best_speed79.008732857
sl_avg_hyper_speed94.85449895
Tyler Wells (669330) · PITCHER · Middle Reliever (High Leverage) · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 12
All-history rows before 20260910: 12

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3330.0000.6671.000
predicted_ER2.0002.0002.000Pitching_ER0.2500.0001.7502.000
predicted_H2.0002.0002.000Pitching_H0.5830.0001.4172.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.2752.000-0.275-1.000
predicted_SO0.0000.0000.000Pitching_SO1.3333.000-1.333-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": "669330",
  "player_name": "Tyler Wells",
  "position": "Middle Reliever (High Leverage)",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 2.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 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_ER2.000-
predicted_H2.000-
predicted_HR1.000-
predicted_IP1.000-
predicted_SO0.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 55
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.2000.0000.0001.0007.0000.0000.00000.15000.00000.00000.15001.05000.0000
last_100.351012.2003.0006.0003.00011.0002.0002.13160.71050.23680.47370.23680.86840.1579
season0.205570.00019.00046.00017.00069.0008.0002.44290.90000.27140.65710.24290.98570.1143
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3040
predicted_ER0.2900
predicted_ERA2.0952
predicted_H0.5910
predicted_HR0.1200
predicted_IP1.1000
predicted_SO1.2020
predicted_WHIP0.7179
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.30400.6245model_form_blend
predicted_ER2.00000.29001.0774model_form_blend
predicted_ERA-2.09522.0952form_only
predicted_H2.00000.59101.2398model_form_blend
predicted_HR1.00000.12000.5252model_form_blend
predicted_IP1.00001.10001.2000model_form_blend
predicted_SO0.00001.20200.6485model_form_blend
predicted_WHIP-0.71790.7179form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date12
Season rows before report date12
Report year2026
Profile rows used55
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
BB1
SO0
HR1
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 Faced7
Pitching_ER0
Pitching_ERA2.44
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches27
Pitching_R0
Pitching_SO3
Pitching_Strikes20
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260905_TB@TEX
game_typefull
mlbID669330
playerID669330
playerNameTyler Wells
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-05
sl_k_percent25.6
sl_bb_percent6.3
sl_woba0.252
sl_xwoba0.267
sl_sweet_spot_percent34.1
sl_barrel_batted_rate7.1
sl_hard_hit_percent33.0
sl_whiff_percent30.2
sl_swing_percent52.3
sl_avg_best_speed78.299917978
sl_avg_hyper_speed92.966849045

Home Team: ATL

Home Pitcher Deep Analysis

FieldValue
PitcherMartín Pérez
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.3096
ESPN Rank57
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2622
Avg Velo85.1924
Avg Spin1970.9371
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER2
Pre H4
Pre BB1
Pre SO4
Season ERA3.2487
Season WHIP1.2674
Role Avg IP5.0140
Recent Avg IP4.8670
Last Start IP3.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5822,
    "runs_scored": 668.0,
    "runs_allowed": 560.0,
    "run_differential": 108.0,
    "run_differential_per_game": 0.7397,
    "avg_runs_scored": 4.5753,
    "avg_runs_allowed": 3.8356,
    "offense_index": 1.0166,
    "defense_index": 1.1733,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.3,
      "run_differential": -8.0
    },
    "available": true,
    "quality_score": 0.1253
  },
  "opponent": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661.0,
    "runs_allowed": 603.0,
    "run_differential": 58.0,
    "run_differential_per_game": 0.4,
    "avg_runs_scored": 4.5586,
    "avg_runs_allowed": 4.1586,
    "offense_index": 1.0129,
    "defense_index": 1.0822,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 4.5,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.1689
  },
  "edges": {
    "quality_edge": -0.0436,
    "offense_edge": 0.0166,
    "opponent_offense_edge": 0.0129,
    "defense_strength": 0.1733,
    "opponent_defense_weakness": -0.0822,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9869,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "527048",
    "profile": {
      "available": true,
      "pitcher_id": "527048",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 452.0,
        "k_percent": 18.0,
        "bb_percent": 10.4,
        "woba": 0.302,
        "xwoba": 0.334,
        "sweet_spot_percent": 35.1,
        "barrel_batted_rate": 5.4,
        "hard_hit_percent": 38.1,
        "avg_best_speed": 76.7045,
        "avg_hyper_speed": 94.0984,
        "whiff_percent": 21.9,
        "swing_percent": 42.8
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1328,
        "command_and_miss": -0.4721,
        "regression_edge": -0.9143,
        "xwoba_edge": -0.6571,
        "barrel_edge": 0.3778,
        "hard_hit_edge": -0.0286,
        "whiff_edge": -0.4429,
        "bb_edge": -0.3,
        "pitch_design_score": -0.2622
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "527048",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 66,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 66,
          "pitch_usage": 0.0,
          "release_speed": 85.19235523869571,
          "release_spin_rate": 1970.9370569367027,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 66,
            "pitch_usage": 0.0,
            "release_speed": 85.19235523869571,
            "release_spin_rate": 1970.9370569367027,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.1924,
          "release_spin_rate": 1970.9371,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.2622,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -1.8731,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3096,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0263,
      "strikeout_factor": 0.9594,
      "walk_factor": 1.024,
      "homer_factor": 0.9906,
      "woba_minus_xwoba": -0.032,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "527048",
        "espn_id": 31098,
        "player_name": "Martin Perez",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 57,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 57,
          "gp_value": 27.0,
          "gp_rank": 285,
          "gs_value": 23.0,
          "gs_rank": 80,
          "qs_value": 4.0,
          "qs_rank": 123,
          "era_value": 3.2486,
          "era_rank": null,
          "w_value": 8.0,
          "w_rank": 65,
          "l_value": 9.0,
          "l_rank": 31,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 124.2,
          "ip_rank": 87,
          "h_value": 104.0,
          "h_rank": 111,
          "er_value": 45.0,
          "er_rank": 128,
          "hr_value": 13.0,
          "hr_rank": 124,
          "bb_value": 54.0,
          "bb_rank": 28,
          "k_value": 94.0,
          "k_rank": 117,
          "k_per_9_value": 6.7860966,
          "k_per_9_rank": 36,
          "whip_value": 1.2673,
          "whip_rank": null,
          "war_value": 2.39,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 1.0263,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0263,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 3.0,
        "factor": 1.024,
        "adjusted": 3
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9906,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.9594,
        "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": 47.2,
    "ER": 17,
    "H": 45,
    "BB": 24,
    "SO": 33,
    "HR": 4,
    "ERA": 3.2097902097902096,
    "WHIP": 1.4475524475524475,
    "K9": 6.23076923076923,
    "HR9": 0.7552447552447552,
    "games_pitched": 10,
    "quality_starts": 2,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "527048",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 66,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 66,
    "pitch_usage": 0.0,
    "release_speed": 85.19235523869571,
    "release_spin_rate": 1970.9370569367027,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 66,
      "pitch_usage": 0.0,
      "release_speed": 85.19235523869571,
      "release_spin_rate": 1970.9370569367027,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1924,
    "release_spin_rate": 1970.9371,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2622,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.8731,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "527048",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 27,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 24.1,
        "ER": 10.0,
        "R": 13.0,
        "H": 29.0,
        "BB": 14.0,
        "SO": 16.0,
        "HR": 2.0,
        "BF": 114.0,
        "Pitches": 428.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.0,
        "R": 2.6,
        "H": 5.8,
        "BB": 2.8,
        "SO": 3.2,
        "HR": 0.4,
        "BF": 22.8,
        "Pitches": 85.6
      },
      "rates": {
        "ERA": 3.6986,
        "WHIP": 1.7671,
        "ER_per_IP": 0.41096,
        "H_per_IP": 1.19178,
        "BB_per_IP": 0.57534,
        "SO_per_IP": 0.65753,
        "HR_per_IP": 0.08219
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 47.2,
        "ER": 17.0,
        "R": 21.0,
        "H": 45.0,
        "BB": 24.0,
        "SO": 33.0,
        "HR": 4.0,
        "BF": 208.0,
        "Pitches": 780.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 1.7,
        "R": 2.1,
        "H": 4.5,
        "BB": 2.4,
        "SO": 3.3,
        "HR": 0.4,
        "BF": 20.8,
        "Pitches": 78.0
      },
      "rates": {
        "ERA": 3.2098,
        "WHIP": 1.4476,
        "ER_per_IP": 0.35664,
        "H_per_IP": 0.94406,
        "BB_per_IP": 0.5035,
        "SO_per_IP": 0.69231,
        "HR_per_IP": 0.08392
      }
    },
    "season": {
      "games": 27,
      "totals": {
        "IP": 124.2,
        "ER": 45.0,
        "R": 49.0,
        "H": 104.0,
        "BB": 54.0,
        "SO": 94.0,
        "HR": 13.0,
        "BF": 521.0,
        "Pitches": 1985.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 1.6667,
        "R": 1.8148,
        "H": 3.8519,
        "BB": 2.0,
        "SO": 3.4815,
        "HR": 0.4815,
        "BF": 19.2963,
        "Pitches": 73.5185
      },
      "rates": {
        "ERA": 3.2487,
        "WHIP": 1.2674,
        "ER_per_IP": 0.36096,
        "H_per_IP": 0.83422,
        "BB_per_IP": 0.43316,
        "SO_per_IP": 0.75401,
        "HR_per_IP": 0.10428
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 1.984,
    "predicted_H": 5.069,
    "predicted_BB": 2.466,
    "predicted_SO": 3.604,
    "predicted_HR": 0.478,
    "predicted_ERA": 3.6077,
    "predicted_WHIP": 1.5224
  }
}
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": 5.2,
      "form": 5.0,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.984,
      "final": 1.9907,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 5.069,
      "final": 4.6243,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 2.466,
      "final": 1.8562,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 3.604,
      "final": 3.3527,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.478,
      "final": 0.6951,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.6077,
      "final": 3.6077,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.5224,
      "final": 1.5224,
      "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.5527
ESPN Rank59
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER2
Pre H3
Pre BB1
Pre SO1
Season ERA2.3660
Season WHIP1.0670
Role Avg IP1.2330
Recent Avg IP1.6000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5822,
    "runs_scored": 668.0,
    "runs_allowed": 560.0,
    "run_differential": 108.0,
    "run_differential_per_game": 0.7397,
    "avg_runs_scored": 4.5753,
    "avg_runs_allowed": 3.8356,
    "offense_index": 1.0166,
    "defense_index": 1.1733,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.3,
      "run_differential": -8.0
    },
    "available": true,
    "quality_score": 0.1253
  },
  "opponent": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661.0,
    "runs_allowed": 603.0,
    "run_differential": 58.0,
    "run_differential_per_game": 0.4,
    "avg_runs_scored": 4.5586,
    "avg_runs_allowed": 4.1586,
    "offense_index": 1.0129,
    "defense_index": 1.0822,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 4.5,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.1689
  },
  "edges": {
    "quality_edge": -0.0436,
    "offense_edge": 0.0166,
    "opponent_offense_edge": 0.0129,
    "defense_strength": 0.1733,
    "opponent_defense_weakness": -0.0822,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9869,
    "strikeout": 0.9977
  },
  "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": 7.2,
        "woba": 0.26,
        "xwoba": 0.269,
        "sweet_spot_percent": 35.8,
        "barrel_batted_rate": 6.3,
        "hard_hit_percent": 35.8,
        "avg_best_speed": 78.732,
        "avg_hyper_speed": 93.4733,
        "whiff_percent": 30.2,
        "swing_percent": 52.8
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.7285,
        "command_and_miss": 0.99,
        "regression_edge": -0.2571,
        "xwoba_edge": 1.2,
        "barrel_edge": 0.1778,
        "hard_hit_edge": 0.3,
        "whiff_edge": 0.7429,
        "bb_edge": 0.5,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "800311",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.5527,
      "sample_weight": 0.864,
      "run_prevention_factor": 0.953,
      "strikeout_factor": 1.0741,
      "walk_factor": 0.9654,
      "homer_factor": 0.9462,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "800311",
        "espn_id": 5291189,
        "player_name": "Didier Fuentes",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 59,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 59,
          "gp_value": 52.0,
          "gp_rank": 93,
          "gs_value": 1.0,
          "gs_rank": 297,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.3418,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 144,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 3.0,
          "sv_rank": 68,
          "hld_value": 16.0,
          "hld_rank": 32,
          "ip_value": 65.1,
          "ip_rank": 202,
          "h_value": 51.0,
          "h_rank": 239,
          "er_value": 17.0,
          "er_rank": 375,
          "hr_value": 5.0,
          "hr_rank": 319,
          "bb_value": 19.0,
          "bb_rank": 314,
          "k_value": 84.0,
          "k_rank": 146,
          "k_per_9_value": 11.571428,
          "k_per_9_rank": 19,
          "whip_value": 1.0714,
          "whip_rank": null,
          "war_value": 2.31,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9594,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9594,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9701,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9535,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.064,
        "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": 13.2,
    "ER": 3,
    "H": 11,
    "BB": 4,
    "SO": 18,
    "HR": 2,
    "ERA": 1.975609756097561,
    "WHIP": 1.0975609756097562,
    "K9": 11.853658536585366,
    "HR9": 1.3170731707317074,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-07T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "800311",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.051,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.723,
    "prior_weight": 0.277
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "800311",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 51,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 8.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 4.0,
        "SO": 10.0,
        "HR": 1.0,
        "BF": 31.0,
        "Pitches": 124.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.8,
        "SO": 2.0,
        "HR": 0.2,
        "BF": 6.2,
        "Pitches": 24.8
      },
      "rates": {
        "ERA": 1.125,
        "WHIP": 1.0,
        "ER_per_IP": 0.125,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.25,
        "HR_per_IP": 0.125
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 13.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 11.0,
        "BB": 4.0,
        "SO": 18.0,
        "HR": 2.0,
        "BF": 54.0,
        "Pitches": 216.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3,
        "R": 0.3,
        "H": 1.1,
        "BB": 0.4,
        "SO": 1.8,
        "HR": 0.2,
        "BF": 5.4,
        "Pitches": 21.6
      },
      "rates": {
        "ERA": 1.9756,
        "WHIP": 1.0976,
        "ER_per_IP": 0.21951,
        "H_per_IP": 0.80488,
        "BB_per_IP": 0.29268,
        "SO_per_IP": 1.31707,
        "HR_per_IP": 0.14634
      }
    },
    "season": {
      "games": 51,
      "totals": {
        "IP": 64.2,
        "ER": 17.0,
        "R": 17.0,
        "H": 51.0,
        "BB": 18.0,
        "SO": 83.0,
        "HR": 5.0,
        "BF": 261.0,
        "Pitches": 1073.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3333,
        "R": 0.3333,
        "H": 1.0,
        "BB": 0.3529,
        "SO": 1.6275,
        "HR": 0.098,
        "BF": 5.1176,
        "Pitches": 21.0392
      },
      "rates": {
        "ERA": 2.366,
        "WHIP": 1.067,
        "ER_per_IP": 0.26289,
        "H_per_IP": 0.78866,
        "BB_per_IP": 0.27835,
        "SO_per_IP": 1.28351,
        "HR_per_IP": 0.07732
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.394,
    "predicted_H": 1.081,
    "predicted_BB": 0.548,
    "predicted_SO": 1.71,
    "predicted_HR": 0.187,
    "predicted_ERA": 2.4619,
    "predicted_WHIP": 1.1298
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.467,
  "form_weight": 0.533,
  "form_reliability": 0.723,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.051,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.723,
    "prior_weight": 0.277
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.394,
      "final": 1.1441,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 1.081,
      "final": 1.9772,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.548,
      "final": 0.7591,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.71,
      "final": 1.8454,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.187,
      "final": 0.0997,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.4619,
      "final": 2.4619,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1298,
      "final": 1.1298,
      "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.8503
ESPN Rank103
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.3226
Season WHIP0.8226
Role Avg IP0.9540
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5822,
    "runs_scored": 668.0,
    "runs_allowed": 560.0,
    "run_differential": 108.0,
    "run_differential_per_game": 0.7397,
    "avg_runs_scored": 4.5753,
    "avg_runs_allowed": 3.8356,
    "offense_index": 1.0166,
    "defense_index": 1.1733,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.3,
      "run_differential": -8.0
    },
    "available": true,
    "quality_score": 0.1253
  },
  "opponent": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661.0,
    "runs_allowed": 603.0,
    "run_differential": 58.0,
    "run_differential_per_game": 0.4,
    "avg_runs_scored": 4.5586,
    "avg_runs_allowed": 4.1586,
    "offense_index": 1.0129,
    "defense_index": 1.0822,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 4.5,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.1689
  },
  "edges": {
    "quality_edge": -0.0436,
    "offense_edge": 0.0166,
    "opponent_offense_edge": 0.0129,
    "defense_strength": 0.1733,
    "opponent_defense_weakness": -0.0822,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9869,
    "strikeout": 0.9977
  },
  "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": 31.4,
        "bb_percent": 6.3,
        "woba": 0.23,
        "xwoba": 0.245,
        "sweet_spot_percent": 35.6,
        "barrel_batted_rate": 5.4,
        "hard_hit_percent": 32.2,
        "avg_best_speed": 76.9193,
        "avg_hyper_speed": 93.0676,
        "whiff_percent": 36.5,
        "swing_percent": 52.7
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.2608,
        "command_and_miss": 1.3243,
        "regression_edge": -0.4286,
        "xwoba_edge": 1.8857,
        "barrel_edge": 0.3778,
        "hard_hit_edge": 0.8143,
        "whiff_edge": 1.6429,
        "bb_edge": 0.725,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "669276",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.8503,
      "sample_weight": 0.844,
      "run_prevention_factor": 0.9277,
      "strikeout_factor": 1.1008,
      "walk_factor": 0.951,
      "homer_factor": 0.8993,
      "woba_minus_xwoba": -0.015,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "669276",
        "espn_id": 41455,
        "player_name": "Dylan Lee",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 103,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 103,
          "gp_value": 66.0,
          "gp_rank": 14,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.6129,
          "era_rank": null,
          "w_value": 6.0,
          "w_rank": 104,
          "l_value": 0.0,
          "l_rank": 573,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 30.0,
          "hld_rank": 2,
          "ip_value": 62.0,
          "ip_rank": 220,
          "h_value": 40.0,
          "h_rank": 322,
          "er_value": 18.0,
          "er_rank": 352,
          "hr_value": 3.0,
          "hr_rank": 441,
          "bb_value": 15.0,
          "bb_rank": 382,
          "k_value": 75.0,
          "k_rank": 162,
          "k_per_9_value": 10.887096,
          "k_per_9_rank": 19,
          "whip_value": 0.887,
          "whip_rank": null,
          "war_value": 1.68,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.939,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.939,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9586,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.915,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0851,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 7.2,
    "ER": 4,
    "H": 9,
    "BB": 2,
    "SO": 8,
    "HR": 0,
    "ERA": 4.695652173913044,
    "WHIP": 1.4347826086956523,
    "K9": 9.391304347826088,
    "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-09-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "669276",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.513,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7145,
    "prior_weight": 0.2855
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "669276",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 65,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 7.0,
        "BB": 0.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 77.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.4,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 15.4
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.75,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.75,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 9.0,
        "BB": 2.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 148.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.9,
        "BB": 0.2,
        "SO": 0.9,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 14.8
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.2692,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.03846,
        "BB_per_IP": 0.23077,
        "SO_per_IP": 1.03846,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 65,
      "totals": {
        "IP": 62.0,
        "ER": 16.0,
        "R": 18.0,
        "H": 37.0,
        "BB": 14.0,
        "SO": 75.0,
        "HR": 3.0,
        "BF": 235.0,
        "Pitches": 966.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2462,
        "R": 0.2769,
        "H": 0.5692,
        "BB": 0.2154,
        "SO": 1.1538,
        "HR": 0.0462,
        "BF": 3.6154,
        "Pitches": 14.8615
      },
      "rates": {
        "ERA": 2.3226,
        "WHIP": 0.8226,
        "ER_per_IP": 0.25806,
        "H_per_IP": 0.59677,
        "BB_per_IP": 0.22581,
        "SO_per_IP": 1.20968,
        "HR_per_IP": 0.04839
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.479,
    "predicted_H": 1.058,
    "predicted_BB": 0.175,
    "predicted_SO": 0.841,
    "predicted_HR": 0.044,
    "predicted_ERA": 4.8333,
    "predicted_WHIP": 1.3815
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4706,
  "form_weight": 0.5294,
  "form_reliability": 0.7145,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.513,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7145,
    "prior_weight": 0.2855
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.479,
      "final": 0.2536,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.058,
      "final": 0.5601,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.175,
      "final": 0.0926,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.841,
      "final": 0.9158,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.044,
      "final": 0.0233,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.8333,
      "final": 4.8333,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3815,
      "final": 1.3815,
      "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.2011
ESPN Rank153
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER2
Pre H3
Pre BB0
Pre SO1
Season ERA2.7170
Season WHIP1.1509
Role Avg IP1.0190
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "ATL",
    "games": 146,
    "wins": 85,
    "losses": 61,
    "win_pct": 0.5822,
    "runs_scored": 668.0,
    "runs_allowed": 560.0,
    "run_differential": 108.0,
    "run_differential_per_game": 0.7397,
    "avg_runs_scored": 4.5753,
    "avg_runs_allowed": 3.8356,
    "offense_index": 1.0166,
    "defense_index": 1.1733,
    "current_streak": "L3",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 3.5,
      "avg_runs_allowed": 4.3,
      "run_differential": -8.0
    },
    "available": true,
    "quality_score": 0.1253
  },
  "opponent": {
    "team": "TB",
    "games": 145,
    "wins": 87,
    "losses": 58,
    "win_pct": 0.6,
    "runs_scored": 661.0,
    "runs_allowed": 603.0,
    "run_differential": 58.0,
    "run_differential_per_game": 0.4,
    "avg_runs_scored": 4.5586,
    "avg_runs_allowed": 4.1586,
    "offense_index": 1.0129,
    "defense_index": 1.0822,
    "current_streak": "W2",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 5.0,
      "avg_runs_allowed": 4.5,
      "run_differential": 5.0
    },
    "available": true,
    "quality_score": 0.1689
  },
  "edges": {
    "quality_edge": -0.0436,
    "offense_edge": 0.0166,
    "opponent_offense_edge": 0.0129,
    "defense_strength": 0.1733,
    "opponent_defense_weakness": -0.0822,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 1.0029,
    "run_prevention": 0.9869,
    "strikeout": 0.9977
  },
  "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.7,
        "bb_percent": 7.5,
        "woba": 0.285,
        "xwoba": 0.293,
        "sweet_spot_percent": 33.8,
        "barrel_batted_rate": 9.9,
        "hard_hit_percent": 36.6,
        "avg_best_speed": 77.3768,
        "avg_hyper_speed": 93.4707,
        "whiff_percent": 29.8,
        "swing_percent": 52.2
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2595,
        "command_and_miss": 0.5629,
        "regression_edge": -0.2286,
        "xwoba_edge": 0.5143,
        "barrel_edge": -0.6222,
        "hard_hit_edge": 0.1857,
        "whiff_edge": 0.6857,
        "bb_edge": 0.425,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "628452",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.2011,
      "sample_weight": 0.748,
      "run_prevention_factor": 0.9829,
      "strikeout_factor": 1.0363,
      "walk_factor": 0.9746,
      "homer_factor": 1.0201,
      "woba_minus_xwoba": -0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "628452",
        "espn_id": 33618,
        "player_name": "Raisel Iglesias",
        "team": "ATL",
        "role": "pitcher",
        "espn_rank": 153,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 153,
          "gp_value": 52.0,
          "gp_rank": 93,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.7169,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 411,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 31.0,
          "sv_rank": 8,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 53.0,
          "ip_rank": 287,
          "h_value": 45.0,
          "h_rank": 275,
          "er_value": 16.0,
          "er_rank": 398,
          "hr_value": 5.0,
          "hr_rank": 319,
          "bb_value": 16.0,
          "bb_rank": 365,
          "k_value": 55.0,
          "k_rank": 263,
          "k_per_9_value": 9.3396225,
          "k_per_9_rank": 24,
          "whip_value": 1.1509,
          "whip_rank": null,
          "war_value": 1.21,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9872,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9872,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.981,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.015,
        "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.1,
    "ER": 2,
    "H": 7,
    "BB": 4,
    "SO": 7,
    "HR": 1,
    "ERA": 1.741935483870968,
    "WHIP": 1.0645161290322582,
    "K9": 6.096774193548388,
    "HR9": 0.870967741935484,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "628452",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.697,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6815,
    "prior_weight": 0.3185
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "628452",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 52,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 69.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 13.8
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.2,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 7.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 40.0,
        "Pitches": 156.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.7,
        "BB": 0.4,
        "SO": 0.7,
        "HR": 0.1,
        "BF": 4.0,
        "Pitches": 15.6
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 1.0645,
        "ER_per_IP": 0.19355,
        "H_per_IP": 0.67742,
        "BB_per_IP": 0.3871,
        "SO_per_IP": 0.67742,
        "HR_per_IP": 0.09677
      }
    },
    "season": {
      "games": 52,
      "totals": {
        "IP": 53.0,
        "ER": 16.0,
        "R": 19.0,
        "H": 45.0,
        "BB": 16.0,
        "SO": 55.0,
        "HR": 5.0,
        "BF": 214.0,
        "Pitches": 811.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3077,
        "R": 0.3654,
        "H": 0.8654,
        "BB": 0.3077,
        "SO": 1.0577,
        "HR": 0.0962,
        "BF": 4.1154,
        "Pitches": 15.5962
      },
      "rates": {
        "ERA": 2.717,
        "WHIP": 1.1509,
        "ER_per_IP": 0.30189,
        "H_per_IP": 0.84906,
        "BB_per_IP": 0.30189,
        "SO_per_IP": 1.03774,
        "HR_per_IP": 0.09434
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.248,
    "predicted_H": 0.771,
    "predicted_BB": 0.313,
    "predicted_SO": 0.848,
    "predicted_HR": 0.083,
    "predicted_ERA": 2.2275,
    "predicted_WHIP": 1.0843
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4846,
  "form_weight": 0.5154,
  "form_reliability": 0.6815,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.697,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6815,
    "prior_weight": 0.3185
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.248,
      "final": 1.097,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 0.771,
      "final": 1.8511,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.313,
      "final": 0.1613,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.848,
      "final": 0.9217,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.083,
      "final": 0.0428,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.2275,
      "final": 2.2275,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0843,
      "final": 1.0843,
      "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."
}
Matt Olson (621566) · BATTER · 1B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 569
All-history rows before 20260910: 569
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2645
Diff (system - data): -0.0175
System opponent_avg: 0.3750
System season_avg diverges from 2026 season-to-date by -0.0175. 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.2280.0000.000Hitting_2B0.2550.000-0.2550.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8484.0004.000Hitting_AB3.8882.0000.1122.000
predicted_AVG0.2100.2500.250Hitting_AVG0.2640.000-0.0140.250
predicted_BB0.4140.0000.000Hitting_BB0.4551.000-0.455-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7301.0001.000Hitting_H1.0280.000-0.0281.000
predicted_HR0.1600.0001.000Hitting_HR0.2810.000-0.2810.000
predicted_OBP0.2680.2500.250Hitting_OBP0.3430.250-0.0930.000
predicted_R0.6411.0001.000Hitting_R0.7170.0000.2831.000
predicted_RBI0.4800.0001.000Hitting_RBI0.6131.000-0.613-1.000
predicted_SLG0.3870.2501.000Hitting_SLG0.5470.000-0.2970.250
predicted_SO1.0971.0001.000Hitting_SO1.1000.000-0.1001.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_R: 0.6410 -> 1.0000 (boost 0.3590, better)
Biggest Deboostpredicted_RBI: 0.4800 -> 0.0000 (deboost -0.4800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_R: 0.6410 -> 0.5336 (deboost -0.1074, worse)Final model input calibrated 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.2043 -> 0.1903 (deboost -0.0140, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72534predicted_H: 0.7211 -> 1.0000 (boost 0.2789, better)predicted_RBI: 0.4457 -> 0.0000 (deboost -0.4457, worse)AB rounded to 4 (raw=3.85), rates preserved: AVG=0.194 HR/AB=0.039
6bvp_blend00000--Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)
7consistency_constraints11010predicted_R: 0.5226 -> 1.0000 (boost 0.4774, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54150predicted_RBI: 0.0000 -> 0.5246 (boost 0.5246, better)predicted_SO: 1.0000 -> 0.8494 (deboost -0.1506, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation53223predicted_HR: 0.2453 -> 1.0000 (boost 0.7547, better)predicted_BB: 0.3123 -> 0.0000 (deboost -0.3123, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53232predicted_SLG: 0.3617 -> 0.5100 (boost 0.1483, better)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.5100 -> 0.3617 (deboost -0.1483, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "621566",
  "player_name": "Matt Olson",
  "position": "1B",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.228,
        "predicted_3B": 0.0,
        "predicted_AB": 3.848,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.414,
        "predicted_H": 0.73,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.268,
        "predicted_R": 0.641,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.387,
        "predicted_SO": 1.097
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0004,
        "predicted_AB": 3.7891,
        "predicted_AVG": 0.2043,
        "predicted_BB": 0.393,
        "predicted_H": 0.7304,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1526,
        "predicted_OBP": 0.2672,
        "predicted_R": 0.5336,
        "predicted_RBI": 0.4551,
        "predicted_SLG": 0.3725,
        "predicted_SO": 1.0743
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.228,
          "after": 0.1948,
          "delta": -0.0332,
          "percent_delta": -0.1456,
          "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.848,
          "after": 3.7891,
          "delta": -0.0589,
          "percent_delta": -0.0153,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.2043,
          "delta": -0.0057,
          "percent_delta": -0.0271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.414,
          "after": 0.393,
          "delta": -0.021,
          "percent_delta": -0.0507,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.73,
          "after": 0.7304,
          "delta": 0.0004,
          "percent_delta": 0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1526,
          "delta": -0.0074,
          "percent_delta": -0.0462,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.268,
          "after": 0.2672,
          "delta": -0.0008,
          "percent_delta": -0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.641,
          "after": 0.5336,
          "delta": -0.1074,
          "percent_delta": -0.1676,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4551,
          "delta": -0.0249,
          "percent_delta": -0.0519,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.387,
          "after": 0.3725,
          "delta": -0.0145,
          "percent_delta": -0.0375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.097,
          "after": 1.0743,
          "delta": -0.0227,
          "percent_delta": -0.0207,
          "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": 0.641,
          "after": 0.5336,
          "delta": -0.1074,
          "percent_delta": -0.1676,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 145
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1948,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7891,
        "predicted_AVG": 0.1903,
        "predicted_BB": 0.3928,
        "predicted_H": 0.7211,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.1513,
        "predicted_OBP": 0.2664,
        "predicted_R": 0.5226,
        "predicted_RBI": 0.4457,
        "predicted_SLG": 0.3617,
        "predicted_SO": 1.0749
      },
      "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.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7891,
          "after": 3.7891,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2043,
          "after": 0.1903,
          "delta": -0.014,
          "percent_delta": -0.0685,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.393,
          "after": 0.3928,
          "delta": -0.0002,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7304,
          "after": 0.7211,
          "delta": -0.0093,
          "percent_delta": -0.0127,
          "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.1526,
          "after": 0.1513,
          "delta": -0.0013,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2672,
          "after": 0.2664,
          "delta": -0.0008,
          "percent_delta": -0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5336,
          "after": 0.5226,
          "delta": -0.011,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4551,
          "after": 0.4457,
          "delta": -0.0094,
          "percent_delta": -0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3725,
          "after": 0.3617,
          "delta": -0.0108,
          "percent_delta": -0.029,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0743,
          "after": 1.0749,
          "delta": 0.0006,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2043,
          "after": 0.1903,
          "delta": -0.014,
          "percent_delta": -0.0685,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.194 HR/AB=0.039",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1948,
          "after": 0.0,
          "delta": -0.1948,
          "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.7891,
          "after": 4.0,
          "delta": 0.2109,
          "percent_delta": 0.0557,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3928,
          "after": 0.0,
          "delta": -0.3928,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7211,
          "after": 1.0,
          "delta": 0.2789,
          "percent_delta": 0.3868,
          "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.1513,
          "after": 0.0,
          "delta": -0.1513,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4457,
          "after": 0.0,
          "delta": -0.4457,
          "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": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7211,
          "after": 1.0,
          "delta": 0.2789,
          "percent_delta": 0.3868,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4457,
          "after": 0.0,
          "delta": -0.4457,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8609,
        "bvp": 0.1391
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5226,
          "after": 1.0,
          "delta": 0.4774,
          "percent_delta": 0.9135,
          "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.5226,
          "after": 1.0,
          "delta": 0.4774,
          "percent_delta": 0.9135,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.174,
        "predicted_3B": 0.0065,
        "predicted_BB": 0.3123,
        "predicted_H": 1.0135,
        "predicted_HR": 0.2453,
        "predicted_RBI": 0.5246,
        "predicted_SO": 0.8494
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.174,
          "delta": 0.174,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0065,
          "delta": 0.0065,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3123,
          "delta": 0.3123,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0135,
          "delta": 0.0135,
          "percent_delta": 0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2453,
          "delta": 0.2453,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5246,
          "delta": 0.5246,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8494,
          "delta": -0.1506,
          "percent_delta": -0.1506,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5246,
          "delta": 0.5246,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8494,
          "delta": -0.1506,
          "percent_delta": -0.1506,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "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.0065,
          "after": 0.0,
          "delta": -0.0065,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3123,
          "after": 0.0,
          "delta": -0.3123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0135,
          "after": 1.0,
          "delta": -0.0135,
          "percent_delta": -0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2453,
          "after": 1.0,
          "delta": 0.7547,
          "percent_delta": 3.0766,
          "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.5246,
          "after": 1.0,
          "delta": 0.4754,
          "percent_delta": 0.9062,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8494,
          "after": 1.0,
          "delta": 0.1506,
          "percent_delta": 0.1773,
          "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_HR",
          "before": 0.2453,
          "after": 1.0,
          "delta": 0.7547,
          "percent_delta": 3.0766,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3123,
          "after": 0.0,
          "delta": -0.3123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.51,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1903,
          "after": 0.267,
          "delta": 0.0767,
          "percent_delta": 0.403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2664,
          "after": 0.328,
          "delta": 0.0616,
          "percent_delta": 0.2312,
          "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.3617,
          "after": 0.51,
          "delta": 0.1483,
          "percent_delta": 0.41,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3617,
          "after": 0.51,
          "delta": 0.1483,
          "percent_delta": 0.41,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "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": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1903,
        "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.2664,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3617,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.1903,
          "delta": -0.0767,
          "percent_delta": -0.2872,
          "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.328,
          "after": 0.2664,
          "delta": -0.0616,
          "percent_delta": -0.1879,
          "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.51,
          "after": 0.3617,
          "delta": -0.1483,
          "percent_delta": -0.2907,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.51,
          "after": 0.3617,
          "delta": -0.1483,
          "percent_delta": -0.2907,
          "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.228,
        "after": 0.0,
        "delta": -0.228,
        "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.848,
        "after": 4.0,
        "delta": 0.152,
        "percent_delta": 0.0395,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.21,
        "after": 0.1903,
        "delta": -0.0197,
        "percent_delta": -0.0938,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.414,
        "after": 0.0,
        "delta": -0.414,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 1.0,
        "delta": 0.27,
        "percent_delta": 0.3699,
        "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.268,
        "after": 0.2664,
        "delta": -0.0016,
        "percent_delta": -0.006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.641,
        "after": 1.0,
        "delta": 0.359,
        "percent_delta": 0.5601,
        "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.387,
        "after": 0.3617,
        "delta": -0.0253,
        "percent_delta": -0.0654,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.097,
        "after": 1.0,
        "delta": -0.097,
        "percent_delta": -0.0884,
        "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_R",
        "before": 0.641,
        "after": 1.0,
        "delta": 0.359,
        "percent_delta": 0.5601,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.228-
predicted_3B0.000-
predicted_AB3.848-
predicted_AVG0.210-
predicted_BB0.414-
predicted_H0.730-
predicted_HR0.160-
predicted_OBP0.268-
predicted_R0.641-
predicted_RBI0.480-
predicted_SLG0.387-
predicted_SO1.097-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.195-0.033
predicted_3B0.0000.000
predicted_AB3.789-0.059
predicted_AVG0.204-0.006
predicted_BB0.393-0.021
predicted_H0.7300.000
predicted_HBP0.013-
predicted_HR0.153-0.007
predicted_OBP0.267-0.001
predicted_R0.534-0.107
predicted_RBI0.455-0.025
predicted_SLG0.372-0.015
predicted_SO1.074-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.1950.000
predicted_3B0.0000.000
predicted_AB3.7890.000
predicted_AVG0.190-0.014
predicted_BB0.393-0.000
predicted_H0.721-0.009
predicted_HBP0.0130.000
predicted_HR0.151-0.001
predicted_OBP0.266-0.001
predicted_R0.523-0.011
predicted_RBI0.446-0.009
predicted_SLG0.362-0.011
predicted_SO1.0750.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1740.174
3B0.0060.006
BB0.3120.312
H1.0140.014
HR0.2450.245
RBI0.5250.525
SO0.849-0.151
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.174
3B0.000-0.006
AB4.0000.000
BB0.000-0.312
H1.000-0.014
HR1.0000.755
R1.0000.000
RBI1.0000.475
SO1.0000.151
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.195
predicted_3B0.000-0.000
predicted_AB4.0000.211
predicted_AVG0.2670.077
predicted_BB0.000-0.393
predicted_H1.0000.279
predicted_HR0.000-0.151
predicted_OBP0.3280.062
predicted_R1.0000.477
predicted_RBI0.000-0.446
predicted_SLG0.5100.148
predicted_SO1.000-0.075
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 145
Reference playing time: 3.848
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.0002.0004.0000.12500.21050.12500.12500.00000.06250.12500.2500
last_100.2010-38.0004.0001.0000.0000.0003.0001.0002.00012.0000.10530.14630.13160.10530.00000.07900.05260.3158
season0.60145-558.000138.00033.0000.00036.00079.00093.00060.000159.0000.24730.32160.50000.24730.06450.14160.10750.2849
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1520
predicted_3B0.0010
predicted_AB3.7130
predicted_AVG0.1969
predicted_BB0.3660
predicted_H0.7310
predicted_HBP0.0130
predicted_HR0.1430
predicted_OBP0.2662
predicted_R0.3950
predicted_RBI0.4230
predicted_SLG0.3539
predicted_SO1.0450
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22800.15200.1948model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.84803.71303.7891model_form_blend
predicted_AVG0.21000.19690.2043model_form_blend
predicted_BB0.41400.36600.3930model_form_blend
predicted_H0.73000.73100.7304model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.16000.14300.1526model_form_blend
predicted_OBP0.26800.26620.2672model_form_blend
predicted_R0.64100.39500.5336model_form_blend
predicted_RBI0.48000.42300.4551model_form_blend
predicted_SLG0.38700.35390.3725model_form_blend
predicted_SO1.09701.04501.0743model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
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_AB2
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_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
gameID20260909_TB@ATL
game_typefull
mlbID621566
playerID621566
playerNameMatt Olson
pos1B
startedTrue
startingPosition1B
teamATL
teamID2
game_date2026-09-09
sl_k_percent25.6
sl_bb_percent9.6
sl_woba0.354
sl_xwoba0.353
sl_xba0.246
sl_xslg0.506
sl_sweet_spot_percent32.2
sl_barrel_batted_rate14.9
sl_hard_hit_percent50.5
sl_exit_velocity_avg92.6
sl_launch_angle_avg18.2
sl_whiff_percent25.5
sl_swing_percent46.2
Mauricio Dubón (643289) · BATTER · 2B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 501
All-history rows before 20260910: 501
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2654
Diff (system - data): 0.0016
System opponent_avg: 0.4340

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1820.0000.000Hitting_2B0.2020.000-0.2020.000
predicted_3B0.0150.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB3.7154.0004.000Hitting_AB3.8284.0000.1720.000
predicted_AVG0.2670.0000.250Hitting_AVG0.2650.250-0.265-0.250
predicted_BB0.2260.0000.000Hitting_BB0.2550.000-0.2550.000
predicted_CS-0.0000.000BaseRunning_CS0.0201.000-0.020-1.000
predicted_H0.9930.0001.000Hitting_H1.0161.000-1.016-1.000
predicted_HR0.0800.0000.000Hitting_HR0.0880.000-0.0880.000
predicted_OBP0.3090.0000.250Hitting_OBP0.3130.250-0.313-0.250
predicted_R0.4380.0000.000Hitting_R0.4670.000-0.4670.000
predicted_RBI0.4820.0001.000Hitting_RBI0.5290.000-0.5290.000
predicted_SB-0.0000.000BaseRunning_SB0.0540.000-0.0540.000
predicted_SLG0.3890.0000.250Hitting_SLG0.3960.250-0.396-0.250
predicted_SO0.4822.0000.000Hitting_SO0.5130.0001.4872.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.4820 -> 2.0000 (boost 1.5180, worse)
Biggest Deboostpredicted_H: 0.9930 -> 0.0000 (deboost -0.9930, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_RBI: 0.4820 -> 0.4198 (deboost -0.0622, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72534predicted_AB: 3.7311 -> 4.0000 (boost 0.2689, better)predicted_SO: 0.4771 -> 0.0000 (deboost -0.4771, better)AB rounded to 4 (raw=3.73), rates preserved: AVG=0.263 HR/AB=0.020
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600)
7consistency_constraints10101-predicted_R: 0.3843 -> 0.0000 (deboost -0.3843, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine66051predicted_RBI: 0.0000 -> 0.4962 (boost 0.4962, better)-Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_RBI: 0.4962 -> 1.0000 (boost 0.5038, better)predicted_SO: 0.4300 -> 0.0000 (deboost -0.4300, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3692 -> 0.4140 (boost 0.0448, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_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
12current_json_final30303-predicted_SLG: 0.4140 -> 0.3692 (deboost -0.0448, worse)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": "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.182,
        "predicted_3B": 0.015,
        "predicted_AB": 3.715,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.226,
        "predicted_H": 0.993,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.309,
        "predicted_R": 0.438,
        "predicted_RBI": 0.482,
        "predicted_SLG": 0.389,
        "predicted_SO": 0.482
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1768,
        "predicted_3B": 0.0124,
        "predicted_AB": 3.7311,
        "predicted_AVG": 0.2573,
        "predicted_BB": 0.1982,
        "predicted_H": 0.9604,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0765,
        "predicted_OBP": 0.2948,
        "predicted_R": 0.3924,
        "predicted_RBI": 0.4198,
        "predicted_SLG": 0.373,
        "predicted_SO": 0.4768
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.182,
          "after": 0.1768,
          "delta": -0.0052,
          "percent_delta": -0.0286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.0124,
          "delta": -0.0026,
          "percent_delta": -0.1733,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.715,
          "after": 3.7311,
          "delta": 0.0161,
          "percent_delta": 0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2573,
          "delta": -0.0097,
          "percent_delta": -0.0363,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.226,
          "after": 0.1982,
          "delta": -0.0278,
          "percent_delta": -0.123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.993,
          "after": 0.9604,
          "delta": -0.0326,
          "percent_delta": -0.0328,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0765,
          "delta": -0.0035,
          "percent_delta": -0.0438,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.309,
          "after": 0.2948,
          "delta": -0.0142,
          "percent_delta": -0.046,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.438,
          "after": 0.3924,
          "delta": -0.0456,
          "percent_delta": -0.1041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.482,
          "after": 0.4198,
          "delta": -0.0622,
          "percent_delta": -0.129,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.373,
          "delta": -0.016,
          "percent_delta": -0.0411,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.482,
          "after": 0.4768,
          "delta": -0.0052,
          "percent_delta": -0.0108,
          "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": 0.482,
          "after": 0.4198,
          "delta": -0.0622,
          "percent_delta": -0.129,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 137
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1768,
        "predicted_3B": 0.0124,
        "predicted_AB": 3.7311,
        "predicted_AVG": 0.2541,
        "predicted_BB": 0.1981,
        "predicted_H": 0.9482,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0759,
        "predicted_OBP": 0.2917,
        "predicted_R": 0.3843,
        "predicted_RBI": 0.4111,
        "predicted_SLG": 0.3692,
        "predicted_SO": 0.4771
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1768,
          "after": 0.1768,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0124,
          "after": 0.0124,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7311,
          "after": 3.7311,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2573,
          "after": 0.2541,
          "delta": -0.0032,
          "percent_delta": -0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1982,
          "after": 0.1981,
          "delta": -0.0001,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9604,
          "after": 0.9482,
          "delta": -0.0122,
          "percent_delta": -0.0127,
          "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.0765,
          "after": 0.0759,
          "delta": -0.0006,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2948,
          "after": 0.2917,
          "delta": -0.0031,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3924,
          "after": 0.3843,
          "delta": -0.0081,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4198,
          "after": 0.4111,
          "delta": -0.0087,
          "percent_delta": -0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.373,
          "after": 0.3692,
          "delta": -0.0038,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.4768,
          "after": 0.4771,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.73), rates preserved: AVG=0.263 HR/AB=0.020",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1768,
          "after": 0.0,
          "delta": -0.1768,
          "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": 3.7311,
          "after": 4.0,
          "delta": 0.2689,
          "percent_delta": 0.0721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1981,
          "after": 0.0,
          "delta": -0.1981,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9482,
          "after": 1.0,
          "delta": 0.0518,
          "percent_delta": 0.0546,
          "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.0759,
          "after": 0.0,
          "delta": -0.0759,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4111,
          "after": 0.0,
          "delta": -0.4111,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4771,
          "after": 0.0,
          "delta": -0.4771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.7311,
          "after": 4.0,
          "delta": 0.2689,
          "percent_delta": 0.0721,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4771,
          "after": 0.0,
          "delta": -0.4771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3843,
          "after": 0.0,
          "delta": -0.3843,
          "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.3843,
          "after": 0.0,
          "delta": -0.3843,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1615,
        "predicted_3B": 0.0116,
        "predicted_BB": 0.1867,
        "predicted_H": 1.0577,
        "predicted_HR": 0.0958,
        "predicted_RBI": 0.4962,
        "predicted_SO": 0.43
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1615,
          "delta": 0.1615,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0116,
          "delta": 0.0116,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1867,
          "delta": 0.1867,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0577,
          "delta": 0.0577,
          "percent_delta": 0.0577,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0958,
          "delta": 0.0958,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4962,
          "delta": 0.4962,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.43,
          "delta": 0.43,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4962,
          "delta": 0.4962,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1615,
          "after": 0.0,
          "delta": -0.1615,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0116,
          "after": 0.0,
          "delta": -0.0116,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1867,
          "after": 0.0,
          "delta": -0.1867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0577,
          "after": 1.0,
          "delta": -0.0577,
          "percent_delta": -0.0546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0958,
          "after": 0.0,
          "delta": -0.0958,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4962,
          "after": 1.0,
          "delta": 0.5038,
          "percent_delta": 1.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.43,
          "after": 0.0,
          "delta": -0.43,
          "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_RBI",
          "before": 0.4962,
          "after": 1.0,
          "delta": 0.5038,
          "percent_delta": 1.0153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.43,
          "after": 0.0,
          "delta": -0.43,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.287,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.326,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.414,
        "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.2541,
          "after": 0.287,
          "delta": 0.0329,
          "percent_delta": 0.1295,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2917,
          "after": 0.326,
          "delta": 0.0343,
          "percent_delta": 0.1176,
          "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.3692,
          "after": 0.414,
          "delta": 0.0448,
          "percent_delta": 0.1213,
          "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": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3692,
          "after": 0.414,
          "delta": 0.0448,
          "percent_delta": 0.1213,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2541,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2917,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3692,
        "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.287,
          "after": 0.2541,
          "delta": -0.0329,
          "percent_delta": -0.1145,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.326,
          "after": 0.2917,
          "delta": -0.0343,
          "percent_delta": -0.1051,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.414,
          "after": 0.3692,
          "delta": -0.0448,
          "percent_delta": -0.1083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.414,
          "after": 0.3692,
          "delta": -0.0448,
          "percent_delta": -0.1083,
          "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.015,
        "after": 0.0,
        "delta": -0.015,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.715,
        "after": 4.0,
        "delta": 0.285,
        "percent_delta": 0.0767,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.2541,
        "delta": -0.0129,
        "percent_delta": -0.0483,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.226,
        "after": 0.0,
        "delta": -0.226,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.993,
        "after": 0.0,
        "delta": -0.993,
        "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.309,
        "after": 0.2917,
        "delta": -0.0173,
        "percent_delta": -0.056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.438,
        "after": 0.0,
        "delta": -0.438,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.482,
        "after": 0.0,
        "delta": -0.482,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.389,
        "after": 0.3692,
        "delta": -0.0198,
        "percent_delta": -0.0509,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.482,
        "after": 2.0,
        "delta": 1.518,
        "percent_delta": 3.1494,
        "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.482,
        "after": 2.0,
        "delta": 1.518,
        "percent_delta": 3.1494,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.993,
        "after": 0.0,
        "delta": -0.993,
        "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.015-
predicted_AB3.715-
predicted_AVG0.267-
predicted_BB0.226-
predicted_H0.993-
predicted_HR0.080-
predicted_OBP0.309-
predicted_R0.438-
predicted_RBI0.482-
predicted_SLG0.389-
predicted_SO0.482-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.177-0.005
predicted_3B0.012-0.003
predicted_AB3.7310.016
predicted_AVG0.257-0.010
predicted_BB0.198-0.028
predicted_H0.960-0.033
predicted_HBP0.010-
predicted_HR0.076-0.004
predicted_OBP0.295-0.014
predicted_R0.392-0.046
predicted_RBI0.420-0.062
predicted_SLG0.373-0.016
predicted_SO0.477-0.005
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1770.000
predicted_3B0.0120.000
predicted_AB3.7310.000
predicted_AVG0.254-0.003
predicted_BB0.198-0.000
predicted_H0.948-0.012
predicted_HBP0.0100.000
predicted_HR0.076-0.001
predicted_OBP0.292-0.003
predicted_R0.384-0.008
predicted_RBI0.411-0.009
predicted_SLG0.369-0.004
predicted_SO0.4770.000
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1620.162
3B0.0120.012
BB0.1870.187
H1.0580.058
HR0.0960.096
RBI0.4960.496
SO0.4300.430
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.162
3B0.000-0.012
AB4.0000.000
BB0.000-0.187
H1.000-0.058
HR0.000-0.096
R0.0000.000
RBI1.0000.504
SO0.000-0.430
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.177
predicted_3B0.000-0.012
predicted_AB4.0000.269
predicted_AVG0.2870.033
predicted_BB0.000-0.198
predicted_H1.0000.052
predicted_HR0.000-0.076
predicted_OBP0.3260.034
predicted_R0.000-0.384
predicted_RBI0.000-0.411
predicted_SLG0.4140.045
predicted_SO0.000-0.477
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.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: 137
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0001.0000.0000.0000.0000.0000.0002.0000.21050.21050.26320.21050.00000.00000.00000.1053
last_100.2010-38.0008.0001.0000.0001.0002.0003.0001.0004.0000.21050.23080.31580.21050.02630.05260.02630.1053
season0.60137-509.000136.00025.0002.00011.00066.00060.00031.00066.0000.26720.31070.38900.26720.02160.12970.06090.1297
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1700
predicted_3B0.0090
predicted_AB3.7520
predicted_AVG0.2447
predicted_BB0.1620
predicted_H0.9180
predicted_HBP0.0100
predicted_HR0.0720
predicted_OBP0.2763
predicted_R0.3330
predicted_RBI0.3390
predicted_SLG0.3522
predicted_SO0.4700
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18200.17000.1768model_form_blend
predicted_3B0.01500.00900.0124model_form_blend
predicted_AB3.71503.75203.7311model_form_blend
predicted_AVG0.26700.24470.2573model_form_blend
predicted_BB0.22600.16200.1982model_form_blend
predicted_H0.99300.91800.9604model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.08000.07200.0765model_form_blend
predicted_OBP0.30900.27630.2948model_form_blend
predicted_R0.43800.33300.3924model_form_blend
predicted_RBI0.48200.33900.4198model_form_blend
predicted_SLG0.38900.35220.3730model_form_blend
predicted_SO0.48200.47000.4768model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS1
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_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_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
gameID20260909_TB@ATL
game_typefull
mlbID643289
playerID643289
playerNameMauricio Dubón
posLF
startedTrue
startingPositionSS
teamATL
teamID2
game_date2026-09-09
sl_k_percent12.0
sl_bb_percent5.6
sl_woba0.307
sl_xwoba0.304
sl_xba0.268
sl_xslg0.376
sl_sweet_spot_percent36.7
sl_barrel_batted_rate3.8
sl_hard_hit_percent29.7
sl_exit_velocity_avg86.5
sl_launch_angle_avg16.0
sl_whiff_percent15.6
sl_swing_percent53.8
Drake Baldwin (686948) · BATTER · C · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 482
All-history rows before 20260910: 482
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2807
Diff (system - data): -0.0037
System opponent_avg: 0.2860

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1231.0000.000Hitting_2B0.0980.0000.9021.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.6604.0004.000Hitting_AB3.9403.0000.0601.000
predicted_AVG0.2540.2500.250Hitting_AVG0.2810.333-0.031-0.083
predicted_BB0.4181.0001.000Hitting_BB0.4591.0000.5410.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.1801.0001.000Hitting_H1.1061.000-0.1060.000
predicted_HR0.2300.0000.000Hitting_HR0.2031.000-0.203-1.000
predicted_OBP0.3480.4000.400Hitting_OBP0.3650.5000.035-0.100
predicted_R0.6231.0001.000Hitting_R0.6722.0000.328-1.000
predicted_RBI0.5902.0001.000Hitting_RBI0.6291.0001.3711.000
predicted_SLG0.4790.5000.250Hitting_SLG0.4601.3330.040-0.833
predicted_SO0.9342.0001.000Hitting_SO0.9020.0001.0982.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_RBI: 0.5900 -> 2.0000 (boost 1.4100, better)
Biggest Deboostpredicted_AB: 4.6600 -> 4.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_blend31212predicted_AVG: 0.2540 -> 0.2659 (boost 0.0119, better)predicted_AB: 4.6600 -> 4.3628 (deboost -0.2972, worse)Final model input calibrated 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.4684 -> 0.4339 (deboost -0.0345, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60606-predicted_RBI: 0.5437 -> 0.0000 (deboost -0.5437, worse)AB rounded to 4 (raw=4.66), rates preserved: AVG=0.253 HR/AB=0.044
6consistency_constraints11010predicted_R: 0.5961 -> 1.0000 (boost 0.4039, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65160predicted_RBI: 0.0000 -> 0.5614 (boost 0.5614, better)predicted_SO: 1.0000 -> 0.7768 (deboost -0.2232, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_BB: 0.3290 -> 1.0000 (boost 0.6710, better)predicted_HR: 0.1861 -> 0.0000 (deboost -0.1861, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context53232predicted_SLG: 0.4339 -> 0.4540 (boost 0.0201, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference44031predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.4540 -> 0.4339 (deboost -0.0201, 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": "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.123,
        "predicted_3B": 0.0,
        "predicted_AB": 4.66,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.418,
        "predicted_H": 1.18,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.348,
        "predicted_R": 0.623,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.479,
        "predicted_SO": 0.934
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1443,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.3628,
        "predicted_AVG": 0.2659,
        "predicted_BB": 0.3798,
        "predicted_H": 1.1535,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.2048,
        "predicted_OBP": 0.345,
        "predicted_R": 0.6087,
        "predicted_RBI": 0.5552,
        "predicted_SLG": 0.4684,
        "predicted_SO": 0.9662
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.123,
          "after": 0.1443,
          "delta": 0.0213,
          "percent_delta": 0.1732,
          "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.66,
          "after": 4.3628,
          "delta": -0.2972,
          "percent_delta": -0.0638,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.2659,
          "delta": 0.0119,
          "percent_delta": 0.0469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.418,
          "after": 0.3798,
          "delta": -0.0382,
          "percent_delta": -0.0914,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.18,
          "after": 1.1535,
          "delta": -0.0265,
          "percent_delta": -0.0225,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.23,
          "after": 0.2048,
          "delta": -0.0252,
          "percent_delta": -0.1096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.348,
          "after": 0.345,
          "delta": -0.003,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.623,
          "after": 0.6087,
          "delta": -0.0143,
          "percent_delta": -0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.5552,
          "delta": -0.0348,
          "percent_delta": -0.059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.479,
          "after": 0.4684,
          "delta": -0.0106,
          "percent_delta": -0.0221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.934,
          "after": 0.9662,
          "delta": 0.0322,
          "percent_delta": 0.0345,
          "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.254,
          "after": 0.2659,
          "delta": 0.0119,
          "percent_delta": 0.0469,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.66,
          "after": 4.3628,
          "delta": -0.2972,
          "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": 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.1443,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.3628,
        "predicted_AVG": 0.261,
        "predicted_BB": 0.3796,
        "predicted_H": 1.1389,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.2031,
        "predicted_OBP": 0.3202,
        "predicted_R": 0.5961,
        "predicted_RBI": 0.5437,
        "predicted_SLG": 0.4339,
        "predicted_SO": 0.9668
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1443,
          "after": 0.1443,
          "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.3628,
          "after": 4.3628,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2659,
          "after": 0.261,
          "delta": -0.0049,
          "percent_delta": -0.0184,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3798,
          "after": 0.3796,
          "delta": -0.0002,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1535,
          "after": 1.1389,
          "delta": -0.0146,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.035,
          "after": 0.035,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2048,
          "after": 0.2031,
          "delta": -0.0017,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.3202,
          "delta": -0.0248,
          "percent_delta": -0.0719,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6087,
          "after": 0.5961,
          "delta": -0.0126,
          "percent_delta": -0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5552,
          "after": 0.5437,
          "delta": -0.0115,
          "percent_delta": -0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4684,
          "after": 0.4339,
          "delta": -0.0345,
          "percent_delta": -0.0737,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9662,
          "after": 0.9668,
          "delta": 0.0006,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4684,
          "after": 0.4339,
          "delta": -0.0345,
          "percent_delta": -0.0737,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.66), rates preserved: AVG=0.253 HR/AB=0.044",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1443,
          "after": 0.0,
          "delta": -0.1443,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3628,
          "after": 4.0,
          "delta": -0.3628,
          "percent_delta": -0.0832,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3796,
          "after": 0.0,
          "delta": -0.3796,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1389,
          "after": 1.0,
          "delta": -0.1389,
          "percent_delta": -0.122,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.035,
          "after": 0.0,
          "delta": -0.035,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2031,
          "after": 0.0,
          "delta": -0.2031,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5437,
          "after": 0.0,
          "delta": -0.5437,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9668,
          "after": 1.0,
          "delta": 0.0332,
          "percent_delta": 0.0343,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5437,
          "after": 0.0,
          "delta": -0.5437,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5961,
          "after": 1.0,
          "delta": 0.4039,
          "percent_delta": 0.6776,
          "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.5961,
          "after": 1.0,
          "delta": 0.4039,
          "percent_delta": 0.6776,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.164,
        "predicted_3B": 0.008,
        "predicted_BB": 0.329,
        "predicted_H": 1.094,
        "predicted_HR": 0.1861,
        "predicted_RBI": 0.5614,
        "predicted_SO": 0.7768
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.164,
          "delta": 0.164,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.008,
          "delta": 0.008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.329,
          "delta": 0.329,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.094,
          "delta": 0.094,
          "percent_delta": 0.094,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1861,
          "delta": 0.1861,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5614,
          "delta": 0.5614,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7768,
          "delta": -0.2232,
          "percent_delta": -0.2232,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5614,
          "delta": 0.5614,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7768,
          "delta": -0.2232,
          "percent_delta": -0.2232,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.0,
          "delta": -0.164,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0,
          "delta": -0.008,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.329,
          "after": 1.0,
          "delta": 0.671,
          "percent_delta": 2.0395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.094,
          "after": 1.0,
          "delta": -0.094,
          "percent_delta": -0.0859,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_R",
          "before": 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.5614,
          "after": 1.0,
          "delta": 0.4386,
          "percent_delta": 0.7813,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7768,
          "after": 1.0,
          "delta": 0.2232,
          "percent_delta": 0.2873,
          "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.329,
          "after": 1.0,
          "delta": 0.671,
          "percent_delta": 2.0395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1861,
          "after": 0.0,
          "delta": -0.1861,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.271,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.332,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.454,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.271,
          "delta": 0.01,
          "percent_delta": 0.0383,
          "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.3202,
          "after": 0.332,
          "delta": 0.0118,
          "percent_delta": 0.0369,
          "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.4339,
          "after": 0.454,
          "delta": 0.0201,
          "percent_delta": 0.0463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4339,
          "after": 0.454,
          "delta": 0.0201,
          "percent_delta": 0.0463,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.261,
        "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.3202,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4339,
        "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.271,
          "after": 0.261,
          "delta": -0.01,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.3202,
          "delta": -0.0118,
          "percent_delta": -0.0356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.454,
          "after": 0.4339,
          "delta": -0.0201,
          "percent_delta": -0.0442,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.454,
          "after": 0.4339,
          "delta": -0.0201,
          "percent_delta": -0.0442,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.123,
        "after": 1.0,
        "delta": 0.877,
        "percent_delta": 7.1301,
        "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.66,
        "after": 4.0,
        "delta": -0.66,
        "percent_delta": -0.1416,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.254,
        "after": 0.261,
        "delta": 0.007,
        "percent_delta": 0.0276,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.418,
        "after": 1.0,
        "delta": 0.582,
        "percent_delta": 1.3923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.18,
        "after": 1.0,
        "delta": -0.18,
        "percent_delta": -0.1525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.348,
        "after": 0.3202,
        "delta": -0.0278,
        "percent_delta": -0.0799,
        "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.59,
        "after": 2.0,
        "delta": 1.41,
        "percent_delta": 2.3898,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.479,
        "after": 0.4339,
        "delta": -0.0451,
        "percent_delta": -0.0942,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.934,
        "after": 2.0,
        "delta": 1.066,
        "percent_delta": 1.1413,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 2.0,
        "delta": 1.41,
        "percent_delta": 2.3898,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.66,
        "after": 4.0,
        "delta": -0.66,
        "percent_delta": -0.1416,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.123-
predicted_3B0.000-
predicted_AB4.660-
predicted_AVG0.254-
predicted_BB0.418-
predicted_H1.180-
predicted_HR0.230-
predicted_OBP0.348-
predicted_R0.623-
predicted_RBI0.590-
predicted_SLG0.479-
predicted_SO0.934-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1440.021
predicted_3B0.0000.000
predicted_AB4.363-0.297
predicted_AVG0.2660.012
predicted_BB0.380-0.038
predicted_H1.153-0.026
predicted_HBP0.035-
predicted_HR0.205-0.025
predicted_OBP0.345-0.003
predicted_R0.609-0.014
predicted_RBI0.555-0.035
predicted_SLG0.468-0.011
predicted_SO0.9660.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.1440.000
predicted_3B0.0000.000
predicted_AB4.3630.000
predicted_AVG0.261-0.005
predicted_BB0.380-0.000
predicted_H1.139-0.015
predicted_HBP0.0350.000
predicted_HR0.203-0.002
predicted_OBP0.320-0.025
predicted_R0.596-0.013
predicted_RBI0.544-0.012
predicted_SLG0.434-0.034
predicted_SO0.9670.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1640.164
3B0.0080.008
BB0.3290.329
H1.0940.094
HR0.1860.186
RBI0.5610.561
SO0.777-0.223
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.164
3B0.000-0.008
AB4.0000.000
BB1.0000.671
H1.000-0.094
HR0.000-0.186
R1.0000.000
RBI1.0000.439
SO1.0000.223
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.144
predicted_3B0.000-0.000
predicted_AB4.000-0.363
predicted_AVG0.2710.010
predicted_BB0.000-0.380
predicted_H1.000-0.139
predicted_HR0.000-0.203
predicted_OBP0.3320.012
predicted_R1.0000.404
predicted_RBI0.000-0.544
predicted_SLG0.4540.020
predicted_SO1.0000.033
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
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: 122
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-20.0006.0001.0000.0001.0002.0003.0001.0005.0000.30000.33330.50000.30000.05000.10000.05000.2500
last_100.2010-42.00012.0003.0000.0001.0004.0005.0002.00013.0000.28570.31820.42860.28570.02380.09520.04760.3095
season0.60122-477.000132.00015.0000.00023.00071.00076.00051.000114.0000.27670.35450.45280.27670.04820.14890.10690.2390
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1720
predicted_3B0.0010
predicted_AB3.9760
predicted_AVG0.2813
predicted_BB0.3300
predicted_H1.1190
predicted_HBP0.0350
predicted_HR0.1720
predicted_OBP0.3410
predicted_R0.5900
predicted_RBI0.5100
predicted_SLG0.4547
predicted_SO1.0080
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12300.17200.1443model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.66003.97604.3628model_form_blend
predicted_AVG0.25400.28130.2659model_form_blend
predicted_BB0.41800.33000.3798model_form_blend
predicted_H1.18001.11901.1535model_form_blend
predicted_HBP-0.03500.0350form_only
predicted_HR0.23000.17200.2048model_form_blend
predicted_OBP0.34800.34100.3450model_form_blend
predicted_R0.62300.59000.6087model_form_blend
predicted_RBI0.59000.51000.5552model_form_blend
predicted_SLG0.47900.45470.4684model_form_blend
predicted_SO0.93401.00800.9662model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date482
Season rows before report date482
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
AB4
H1
2B1
3B0
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_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R2
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_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
gameID20260909_TB@ATL
game_typefull
mlbID686948
playerID686948
playerNameDrake Baldwin
posC
startedTrue
startingPositionDH
teamATL
teamID2
game_date2026-09-09
sl_k_percent21.7
sl_bb_percent9.3
sl_woba0.35
sl_xwoba0.363
sl_xba0.275
sl_xslg0.488
sl_sweet_spot_percent36.6
sl_barrel_batted_rate12.6
sl_hard_hit_percent50.8
sl_exit_velocity_avg91.5
sl_launch_angle_avg11.0
sl_whiff_percent25.1
sl_swing_percent50.7
Ronald Acuña Jr. (660670) · BATTER · RF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 345
All-history rows before 20260910: 345
System season_avg: 0.2550
Data season_avg (2026 season-to-date): 0.2440
Diff (system - data): 0.0110
System opponent_avg: 0.2530

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1740.0000.000Hitting_2B0.1681.000-0.168-1.000
predicted_3B0.0110.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB4.4105.0004.000Hitting_AB3.8494.0001.1511.000
predicted_AVG0.2630.2000.250Hitting_AVG0.2440.250-0.044-0.050
predicted_BB0.5110.0001.000Hitting_BB0.5570.000-0.5570.000
predicted_CS-0.0000.000BaseRunning_CS0.0870.000-0.0870.000
predicted_H1.1601.0001.000Hitting_H0.9391.0000.0610.000
predicted_HR0.2300.0000.000Hitting_HR0.1880.000-0.1880.000
predicted_OBP0.3450.2000.400Hitting_OBP0.3450.250-0.145-0.050
predicted_R0.5761.0001.000Hitting_R0.5800.0000.4201.000
predicted_RBI0.7200.0000.000Hitting_RBI0.5010.000-0.5010.000
predicted_SLG0.5200.2000.250Hitting_SLG0.4410.500-0.241-0.300
predicted_SO1.0001.0001.000Hitting_SO1.0201.000-0.0200.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_AB: 4.4100 -> 5.0000 (boost 0.5900, better)
Biggest Deboostpredicted_RBI: 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_blend53241predicted_AVG: 0.2630 -> 0.2760 (boost 0.0130, better)predicted_AB: 4.4100 -> 4.1384 (deboost -0.2716, worse)Final model input calibrated 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.5329 -> 0.4927 (deboost -0.0402, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_RBI: 0.6886 -> 1.0000 (boost 0.3114, better)predicted_BB: 0.4613 -> 0.0000 (deboost -0.4613, worse)AB rounded to 4 (raw=4.41), rates preserved: AVG=0.263 HR/AB=0.052
6consistency_constraints11010predicted_R: 0.5657 -> 1.0000 (boost 0.4343, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53241predicted_BB: 0.0000 -> 0.3453 (boost 0.3453, better)predicted_RBI: 1.0000 -> 0.4822 (deboost -0.5178, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation52314predicted_BB: 0.3453 -> 1.0000 (boost 0.6547, better)predicted_RBI: 0.4822 -> 0.0000 (deboost -0.4822, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context51414predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.4280 -> 0.4927 (boost 0.0647, 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.174,
        "predicted_3B": 0.011,
        "predicted_AB": 4.41,
        "predicted_AVG": 0.263,
        "predicted_BB": 0.511,
        "predicted_H": 1.16,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.345,
        "predicted_R": 0.576,
        "predicted_RBI": 0.72,
        "predicted_SLG": 0.52,
        "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.2028,
        "predicted_3B": 0.0093,
        "predicted_AB": 4.1384,
        "predicted_AVG": 0.276,
        "predicted_BB": 0.4616,
        "predicted_H": 1.1377,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.2334,
        "predicted_OBP": 0.3511,
        "predicted_R": 0.5777,
        "predicted_RBI": 0.7032,
        "predicted_SLG": 0.5329,
        "predicted_SO": 0.939
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.2028,
          "delta": 0.0288,
          "percent_delta": 0.1655,
          "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": 4.41,
          "after": 4.1384,
          "delta": -0.2716,
          "percent_delta": -0.0616,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.276,
          "delta": 0.013,
          "percent_delta": 0.0494,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.511,
          "after": 0.4616,
          "delta": -0.0494,
          "percent_delta": -0.0967,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.16,
          "after": 1.1377,
          "delta": -0.0223,
          "percent_delta": -0.0192,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.23,
          "after": 0.2334,
          "delta": 0.0034,
          "percent_delta": 0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.3511,
          "delta": 0.0061,
          "percent_delta": 0.0177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.576,
          "after": 0.5777,
          "delta": 0.0017,
          "percent_delta": 0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.72,
          "after": 0.7032,
          "delta": -0.0168,
          "percent_delta": -0.0233,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.52,
          "after": 0.5329,
          "delta": 0.0129,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.939,
          "delta": -0.061,
          "percent_delta": -0.061,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.263,
          "after": 0.276,
          "delta": 0.013,
          "percent_delta": 0.0494,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.41,
          "after": 4.1384,
          "delta": -0.2716,
          "percent_delta": -0.0616,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 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.2028,
        "predicted_3B": 0.0093,
        "predicted_AB": 4.1384,
        "predicted_AVG": 0.2714,
        "predicted_BB": 0.4613,
        "predicted_H": 1.1233,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.2314,
        "predicted_OBP": 0.3445,
        "predicted_R": 0.5657,
        "predicted_RBI": 0.6886,
        "predicted_SLG": 0.4927,
        "predicted_SO": 0.9396
      },
      "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.0093,
          "after": 0.0093,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1384,
          "after": 4.1384,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.276,
          "after": 0.2714,
          "delta": -0.0046,
          "percent_delta": -0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4616,
          "after": 0.4613,
          "delta": -0.0003,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1377,
          "after": 1.1233,
          "delta": -0.0144,
          "percent_delta": -0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.033,
          "after": 0.033,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2334,
          "after": 0.2314,
          "delta": -0.002,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3511,
          "after": 0.3445,
          "delta": -0.0066,
          "percent_delta": -0.0188,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5777,
          "after": 0.5657,
          "delta": -0.012,
          "percent_delta": -0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7032,
          "after": 0.6886,
          "delta": -0.0146,
          "percent_delta": -0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5329,
          "after": 0.4927,
          "delta": -0.0402,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.939,
          "after": 0.9396,
          "delta": 0.0006,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5329,
          "after": 0.4927,
          "delta": -0.0402,
          "percent_delta": -0.0754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.41), rates preserved: AVG=0.263 HR/AB=0.052",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2028,
          "after": 0.0,
          "delta": -0.2028,
          "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": 4.1384,
          "after": 4.0,
          "delta": -0.1384,
          "percent_delta": -0.0334,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4613,
          "after": 0.0,
          "delta": -0.4613,
          "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.033,
          "after": 0.0,
          "delta": -0.033,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2314,
          "after": 0.0,
          "delta": -0.2314,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6886,
          "after": 1.0,
          "delta": 0.3114,
          "percent_delta": 0.4522,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9396,
          "after": 1.0,
          "delta": 0.0604,
          "percent_delta": 0.0643,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.6886,
          "after": 1.0,
          "delta": 0.3114,
          "percent_delta": 0.4522,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4613,
          "after": 0.0,
          "delta": -0.4613,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5657,
          "after": 1.0,
          "delta": 0.4343,
          "percent_delta": 0.7677,
          "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.5657,
          "after": 1.0,
          "delta": 0.4343,
          "percent_delta": 0.7677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1677,
        "predicted_3B": 0.0113,
        "predicted_BB": 0.3453,
        "predicted_H": 0.9951,
        "predicted_HR": 0.1601,
        "predicted_RBI": 0.4822,
        "predicted_SO": 0.8169
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1677,
          "delta": 0.1677,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0113,
          "delta": 0.0113,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3453,
          "delta": 0.3453,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9951,
          "delta": -0.0049,
          "percent_delta": -0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1601,
          "delta": 0.1601,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4822,
          "delta": -0.5178,
          "percent_delta": -0.5178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8169,
          "delta": -0.1831,
          "percent_delta": -0.1831,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3453,
          "delta": 0.3453,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4822,
          "delta": -0.5178,
          "percent_delta": -0.5178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1677,
          "after": 0.0,
          "delta": -0.1677,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0113,
          "after": 0.0,
          "delta": -0.0113,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3453,
          "after": 1.0,
          "delta": 0.6547,
          "percent_delta": 1.896,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9951,
          "after": 1.0,
          "delta": 0.0049,
          "percent_delta": 0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1601,
          "after": 0.0,
          "delta": -0.1601,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4822,
          "after": 0.0,
          "delta": -0.4822,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8169,
          "after": 1.0,
          "delta": 0.1831,
          "percent_delta": 0.2241,
          "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.3453,
          "after": 1.0,
          "delta": 0.6547,
          "percent_delta": 1.896,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4822,
          "after": 0.0,
          "delta": -0.4822,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.256,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2714,
          "after": 0.256,
          "delta": -0.0154,
          "percent_delta": -0.0567,
          "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.3445,
          "after": 0.322,
          "delta": -0.0225,
          "percent_delta": -0.0653,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4927,
          "after": 0.428,
          "delta": -0.0647,
          "percent_delta": -0.1313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 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": 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": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2714,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3445,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4927,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.256,
          "after": 0.2714,
          "delta": 0.0154,
          "percent_delta": 0.0602,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3445,
          "delta": 0.0225,
          "percent_delta": 0.0699,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 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.4927,
          "delta": 0.0647,
          "percent_delta": 0.1512,
          "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.428,
          "after": 0.4927,
          "delta": 0.0647,
          "percent_delta": 0.1512,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.174,
        "after": 0.0,
        "delta": -0.174,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.011,
        "after": 0.0,
        "delta": -0.011,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.41,
        "after": 5.0,
        "delta": 0.59,
        "percent_delta": 0.1338,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.263,
        "after": 0.2714,
        "delta": 0.0084,
        "percent_delta": 0.0319,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.511,
        "after": 0.0,
        "delta": -0.511,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.16,
        "after": 1.0,
        "delta": -0.16,
        "percent_delta": -0.1379,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.345,
        "after": 0.3445,
        "delta": -0.0005,
        "percent_delta": -0.0014,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.576,
        "after": 1.0,
        "delta": 0.424,
        "percent_delta": 0.7361,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.72,
        "after": 0.0,
        "delta": -0.72,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.52,
        "after": 0.4927,
        "delta": -0.0273,
        "percent_delta": -0.0525,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "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": 3,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 4.41,
        "after": 5.0,
        "delta": 0.59,
        "percent_delta": 0.1338,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "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.174-
predicted_3B0.011-
predicted_AB4.410-
predicted_AVG0.263-
predicted_BB0.511-
predicted_H1.160-
predicted_HR0.230-
predicted_OBP0.345-
predicted_R0.576-
predicted_RBI0.720-
predicted_SLG0.520-
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.2030.029
predicted_3B0.009-0.002
predicted_AB4.138-0.272
predicted_AVG0.2760.013
predicted_BB0.462-0.049
predicted_H1.138-0.022
predicted_HBP0.033-
predicted_HR0.2330.003
predicted_OBP0.3510.006
predicted_R0.5780.002
predicted_RBI0.703-0.017
predicted_SLG0.5330.013
predicted_SO0.939-0.061
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2030.000
predicted_3B0.0090.000
predicted_AB4.1380.000
predicted_AVG0.271-0.005
predicted_BB0.461-0.000
predicted_H1.123-0.014
predicted_HBP0.0330.000
predicted_HR0.231-0.002
predicted_OBP0.344-0.007
predicted_R0.566-0.012
predicted_RBI0.689-0.015
predicted_SLG0.493-0.040
predicted_SO0.9400.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.41), rates preserved: AVG=0.263 HR/AB=0.052

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1680.168
3B0.0110.011
BB0.3450.345
H0.995-0.005
HR0.1600.160
RBI0.482-0.518
SO0.817-0.183
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.168
3B0.000-0.011
AB4.0000.000
BB1.0000.655
H1.0000.005
HR0.000-0.160
R1.0000.000
RBI0.000-0.482
SO1.0000.183
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.203
predicted_3B0.000-0.009
predicted_AB4.000-0.138
predicted_AVG0.256-0.015
predicted_BB0.000-0.461
predicted_H1.000-0.123
predicted_HR0.000-0.231
predicted_OBP0.322-0.022
predicted_R1.0000.434
predicted_RBI1.0000.311
predicted_SLG0.428-0.065
predicted_SO1.0000.060
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
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: 92
Reference playing time: 4.410
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.0002.0005.0003.0001.0003.0000.33330.35000.77780.33330.11110.27780.05560.1667
last_100.2010-39.00015.0003.0000.0003.00010.0006.0003.0007.0000.38460.41860.69230.38460.07690.25640.07690.1795
season0.6092-349.00089.00016.0001.00016.00045.00053.00047.00092.0000.25500.34900.44410.25500.04590.12890.13470.2636
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2410
predicted_3B0.0070
predicted_AB3.7780
predicted_AVG0.2932
predicted_BB0.3960
predicted_H1.1080
predicted_HBP0.0330
predicted_HR0.2380
predicted_OBP0.3591
predicted_R0.5800
predicted_RBI0.6810
predicted_SLG0.5499
predicted_SO0.8580
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17400.24100.2028model_form_blend
predicted_3B0.01100.00700.0093model_form_blend
predicted_AB4.41003.77804.1384model_form_blend
predicted_AVG0.26300.29320.2760model_form_blend
predicted_BB0.51100.39600.4616model_form_blend
predicted_H1.16001.10801.1377model_form_blend
predicted_HBP-0.03300.0330form_only
predicted_HR0.23000.23800.2334model_form_blend
predicted_OBP0.34500.35910.3511model_form_blend
predicted_R0.57600.58000.5777model_form_blend
predicted_RBI0.72000.68100.7032model_form_blend
predicted_SLG0.52000.54990.5329model_form_blend
predicted_SO1.00000.85800.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 date345
Season rows before report date345
Report year2026
Profile rows used92
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260909_TB@ATL
game_typefull
mlbID660670
playerID660670
playerNameRonald Acuña Jr.
posRF
startedTrue
startingPositionRF
teamATL
teamID2
game_date2026-09-09
sl_k_percent22.8
sl_bb_percent11.9
sl_woba0.346
sl_xwoba0.364
sl_xba0.258
sl_xslg0.482
sl_sweet_spot_percent33.2
sl_barrel_batted_rate12.4
sl_hard_hit_percent45.9
sl_exit_velocity_avg90.5
sl_launch_angle_avg15.7
sl_whiff_percent30.1
sl_swing_percent48.7
Brewer Hicklen (676551) · BATTER · DH · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 28
All-history rows before 20260910: 28
System season_avg: 0.3640
Data season_avg (2026 season-to-date): 0.3750
Diff (system - data): -0.0110
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.5710.0000.000Hitting_2B0.6070.000-0.6070.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1434.0003.000Hitting_AB2.8570.0001.1434.000
predicted_AVG0.3640.0000.333Hitting_AVG0.375--0.375-
predicted_BB0.5710.0000.000Hitting_BB0.5711.000-0.571-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1430.0001.000Hitting_H1.0710.000-1.0710.000
predicted_HR0.0000.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.4620.0000.333Hitting_OBP0.4791.000-0.479-1.000
predicted_R0.7140.0001.000Hitting_R0.7500.000-0.7500.000
predicted_RBI0.4290.0000.000Hitting_RBI0.4290.000-0.4290.000
predicted_SLG0.5450.0000.333Hitting_SLG0.588--0.588-
predicted_SO1.4292.0001.000Hitting_SO1.1430.0000.8572.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_AB: 3.1430 -> 4.0000 (boost 0.8570, better)
Biggest Deboostpredicted_H: 1.1430 -> 0.0000 (deboost -1.1430, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61524predicted_AB: 3.1430 -> 3.2131 (boost 0.0701, better)predicted_2B: 0.5710 -> 0.4994 (deboost -0.0716, worse)Final model input calibrated 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.3451 -> 0.3395 (deboost -0.0056, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61524predicted_2B: 0.4994 -> 1.0000 (boost 0.5006, better)predicted_BB: 0.5346 -> 0.0000 (deboost -0.5346, worse)AB rounded to 3 (raw=3.21), rates preserved: AVG=0.351 HR/AB=0.006
6consistency_constraints11010predicted_R: 0.6610 -> 1.0000 (boost 0.3390, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_RBI: 0.0000 -> 0.4225 (boost 0.4225, better)predicted_2B: 1.0000 -> 0.1559 (deboost -0.8441, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62415predicted_SO: 0.8565 -> 1.0000 (boost 0.1435, worse)predicted_RBI: 0.4225 -> 0.0000 (deboost -0.4225, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context41313predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.4337 -> 0.3200 (deboost -0.1137, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference52314predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_OBP: 0.3200 -> 0.4337 (boost 0.1137, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676551",
  "player_name": "Brewer Hicklen",
  "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.571,
        "predicted_3B": 0.0,
        "predicted_AB": 3.143,
        "predicted_AVG": 0.364,
        "predicted_BB": 0.571,
        "predicted_H": 1.143,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.462,
        "predicted_R": 0.714,
        "predicted_RBI": 0.429,
        "predicted_SLG": 0.545,
        "predicted_SO": 1.429
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.4994,
        "predicted_3B": 0.0021,
        "predicted_AB": 3.2131,
        "predicted_AVG": 0.3451,
        "predicted_BB": 0.5349,
        "predicted_H": 1.1049,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0185,
        "predicted_OBP": 0.4382,
        "predicted_R": 0.675,
        "predicted_RBI": 0.4355,
        "predicted_SLG": 0.519,
        "predicted_SO": 1.3762
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.571,
          "after": 0.4994,
          "delta": -0.0716,
          "percent_delta": -0.1254,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0021,
          "delta": 0.0021,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.143,
          "after": 3.2131,
          "delta": 0.0701,
          "percent_delta": 0.0223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.364,
          "after": 0.3451,
          "delta": -0.0189,
          "percent_delta": -0.0519,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.571,
          "after": 0.5349,
          "delta": -0.0361,
          "percent_delta": -0.0632,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.143,
          "after": 1.1049,
          "delta": -0.0381,
          "percent_delta": -0.0333,
          "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.462,
          "after": 0.4382,
          "delta": -0.0238,
          "percent_delta": -0.0515,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.714,
          "after": 0.675,
          "delta": -0.039,
          "percent_delta": -0.0546,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.429,
          "after": 0.4355,
          "delta": 0.0065,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.545,
          "after": 0.519,
          "delta": -0.026,
          "percent_delta": -0.0477,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.429,
          "after": 1.3762,
          "delta": -0.0528,
          "percent_delta": -0.0369,
          "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.143,
          "after": 3.2131,
          "delta": 0.0701,
          "percent_delta": 0.0223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.571,
          "after": 0.4994,
          "delta": -0.0716,
          "percent_delta": -0.1254,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 7,
        "season": 7
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.4994,
        "predicted_3B": 0.0021,
        "predicted_AB": 3.2131,
        "predicted_AVG": 0.3395,
        "predicted_BB": 0.5346,
        "predicted_H": 1.0909,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0183,
        "predicted_OBP": 0.4337,
        "predicted_R": 0.661,
        "predicted_RBI": 0.4265,
        "predicted_SLG": 0.5134,
        "predicted_SO": 1.377
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4994,
          "after": 0.4994,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0021,
          "after": 0.0021,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2131,
          "after": 3.2131,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3451,
          "after": 0.3395,
          "delta": -0.0056,
          "percent_delta": -0.0162,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5349,
          "after": 0.5346,
          "delta": -0.0003,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1049,
          "after": 1.0909,
          "delta": -0.014,
          "percent_delta": -0.0127,
          "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.0185,
          "after": 0.0183,
          "delta": -0.0002,
          "percent_delta": -0.0108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4382,
          "after": 0.4337,
          "delta": -0.0045,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.675,
          "after": 0.661,
          "delta": -0.014,
          "percent_delta": -0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4355,
          "after": 0.4265,
          "delta": -0.009,
          "percent_delta": -0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.519,
          "after": 0.5134,
          "delta": -0.0056,
          "percent_delta": -0.0108,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3762,
          "after": 1.377,
          "delta": 0.0008,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.3451,
          "after": 0.3395,
          "delta": -0.0056,
          "percent_delta": -0.0162,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.21), rates preserved: AVG=0.351 HR/AB=0.006",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.4994,
          "after": 1.0,
          "delta": 0.5006,
          "percent_delta": 1.0024,
          "direction": "boost",
          "projection_effect": "better",
          "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": 3.2131,
          "after": 3.0,
          "delta": -0.2131,
          "percent_delta": -0.0663,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5346,
          "after": 0.0,
          "delta": -0.5346,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0909,
          "after": 1.0,
          "delta": -0.0909,
          "percent_delta": -0.0833,
          "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.0183,
          "after": 0.0,
          "delta": -0.0183,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4265,
          "after": 0.0,
          "delta": -0.4265,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.377,
          "after": 1.0,
          "delta": -0.377,
          "percent_delta": -0.2738,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.4994,
          "after": 1.0,
          "delta": 0.5006,
          "percent_delta": 1.0024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5346,
          "after": 0.0,
          "delta": -0.5346,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.661,
          "after": 1.0,
          "delta": 0.339,
          "percent_delta": 0.5129,
          "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.661,
          "after": 1.0,
          "delta": 0.339,
          "percent_delta": 0.5129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1559,
        "predicted_3B": 0.0105,
        "predicted_BB": 0.2693,
        "predicted_H": 0.8702,
        "predicted_HR": 0.1062,
        "predicted_RBI": 0.4225,
        "predicted_SO": 0.8565
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.1559,
          "delta": -0.8441,
          "percent_delta": -0.8441,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0105,
          "delta": 0.0105,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2693,
          "delta": 0.2693,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8702,
          "delta": -0.1298,
          "percent_delta": -0.1298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1062,
          "delta": 0.1062,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4225,
          "delta": 0.4225,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8565,
          "delta": -0.1435,
          "percent_delta": -0.1435,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4225,
          "delta": 0.4225,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.1559,
          "delta": -0.8441,
          "percent_delta": -0.8441,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1559,
          "after": 0.0,
          "delta": -0.1559,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0105,
          "after": 0.0,
          "delta": -0.0105,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2693,
          "after": 0.0,
          "delta": -0.2693,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8702,
          "after": 1.0,
          "delta": 0.1298,
          "percent_delta": 0.1492,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1062,
          "after": 0.0,
          "delta": -0.1062,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4225,
          "after": 0.0,
          "delta": -0.4225,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8565,
          "after": 1.0,
          "delta": 0.1435,
          "percent_delta": 0.1675,
          "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.8565,
          "after": 1.0,
          "delta": 0.1435,
          "percent_delta": 0.1675,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4225,
          "after": 0.0,
          "delta": -0.4225,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.32,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.407,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 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_AVG",
          "before": 0.3395,
          "after": 0.259,
          "delta": -0.0805,
          "percent_delta": -0.2371,
          "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.4337,
          "after": 0.32,
          "delta": -0.1137,
          "percent_delta": -0.2622,
          "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.5134,
          "after": 0.407,
          "delta": -0.1064,
          "percent_delta": -0.2072,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4337,
          "after": 0.32,
          "delta": -0.1137,
          "percent_delta": -0.2622,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 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": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "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_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "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.3395,
        "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.4337,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5134,
        "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.259,
          "after": 0.3395,
          "delta": 0.0805,
          "percent_delta": 0.3108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.32,
          "after": 0.4337,
          "delta": 0.1137,
          "percent_delta": 0.3554,
          "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.407,
          "after": 0.5134,
          "delta": 0.1064,
          "percent_delta": 0.2613,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.4337,
          "delta": 0.1137,
          "percent_delta": 0.3554,
          "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.571,
        "after": 0.0,
        "delta": -0.571,
        "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.364,
        "after": 0.3395,
        "delta": -0.0245,
        "percent_delta": -0.0673,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.571,
        "after": 0.0,
        "delta": -0.571,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.143,
        "after": 0.0,
        "delta": -1.143,
        "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.462,
        "after": 0.4337,
        "delta": -0.0283,
        "percent_delta": -0.0613,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.714,
        "after": 0.0,
        "delta": -0.714,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.429,
        "after": 0.0,
        "delta": -0.429,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.545,
        "after": 0.5134,
        "delta": -0.0316,
        "percent_delta": -0.058,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.429,
        "after": 2.0,
        "delta": 0.571,
        "percent_delta": 0.3996,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.143,
        "after": 4.0,
        "delta": 0.857,
        "percent_delta": 0.2727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.143,
        "after": 0.0,
        "delta": -1.143,
        "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.571-
predicted_3B0.000-
predicted_AB3.143-
predicted_AVG0.364-
predicted_BB0.571-
predicted_H1.143-
predicted_HR0.000-
predicted_OBP0.462-
predicted_R0.714-
predicted_RBI0.429-
predicted_SLG0.545-
predicted_SO1.429-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.499-0.072
predicted_3B0.0020.002
predicted_AB3.2130.070
predicted_AVG0.345-0.019
predicted_BB0.535-0.036
predicted_H1.105-0.038
predicted_HBP0.016-
predicted_HR0.0180.018
predicted_OBP0.438-0.024
predicted_R0.675-0.039
predicted_RBI0.4350.007
predicted_SLG0.519-0.026
predicted_SO1.376-0.053
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.4990.000
predicted_3B0.0020.000
predicted_AB3.2130.000
predicted_AVG0.340-0.006
predicted_BB0.535-0.000
predicted_H1.091-0.014
predicted_HBP0.0160.000
predicted_HR0.018-0.000
predicted_OBP0.434-0.005
predicted_R0.661-0.014
predicted_RBI0.426-0.009
predicted_SLG0.513-0.006
predicted_SO1.3770.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.156-0.844
3B0.0110.011
BB0.2690.269
H0.870-0.130
HR0.1060.106
RBI0.4220.422
SO0.857-0.143
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.156
3B0.000-0.011
AB3.0000.000
BB0.000-0.269
H1.0000.130
HR0.000-0.106
R1.0000.000
RBI0.000-0.422
SO1.0000.143
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.501
predicted_3B0.000-0.002
predicted_AB3.000-0.213
predicted_AVG0.259-0.081
predicted_BB0.000-0.535
predicted_H1.000-0.091
predicted_HR0.000-0.018
predicted_OBP0.320-0.114
predicted_R1.0000.339
predicted_RBI0.000-0.426
predicted_SLG0.407-0.106
predicted_SO1.000-0.377
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 7
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.0000.0002.0003.0003.0008.0000.35710.47060.50000.35710.00000.14290.21430.5714
last_100.207-22.0008.0004.0000.0000.0003.0005.0004.00010.0000.36360.46150.54550.36360.00000.13640.18180.4546
season0.607-22.0008.0004.0000.0000.0003.0005.0004.00010.0000.36360.46150.54550.36360.00000.13640.18180.4546
Weighted Prediction From Real Data
MetricValue
predicted_2B0.3270
predicted_3B0.0070
predicted_AB3.3820
predicted_AVG0.2995
predicted_BB0.4480
predicted_H1.0130
predicted_HBP0.0160
predicted_HR0.0630
predicted_OBP0.3809
predicted_R0.5810
predicted_RBI0.4510
predicted_SLG0.4564
predicted_SO1.2490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.57100.32700.4994model_form_blend
predicted_3B0.00000.00700.0021model_form_blend
predicted_AB3.14303.38203.2131model_form_blend
predicted_AVG0.36400.29950.3451model_form_blend
predicted_BB0.57100.44800.5349model_form_blend
predicted_H1.14301.01301.1049model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.00000.06300.0185model_form_blend
predicted_OBP0.46200.38090.4382model_form_blend
predicted_R0.71400.58100.6750model_form_blend
predicted_RBI0.42900.45100.4355model_form_blend
predicted_SLG0.54500.45640.5190model_form_blend
predicted_SO1.42901.24901.3762model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date28
Season rows before report date28
Report year2026
Profile rows used7
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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_AB0
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_battingOrder5
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-CF
gameID20260902_ATL@WAS
game_typeph
mlbID676551
noteWalked for Harris II in the 9th.
playerID676551
playerNameBrewer Hicklen
posRF
startedFalse
startingPositionPH
teamATL
teamID2
game_date2026-09-02
sl_k_percent35.7
sl_bb_percent21.4
sl_woba0.457
sl_xwoba0.368
sl_xba0.26
sl_xslg0.39
sl_sweet_spot_percent50.0
sl_barrel_batted_rate8.3
sl_hard_hit_percent50.0
sl_exit_velocity_avg93.3
sl_launch_angle_avg7.9
sl_whiff_percent44.2
sl_swing_percent46.0
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 20260910: 504
All-history rows before 20260910: 504
System season_avg: 0.2900
Data season_avg (2026 season-to-date): 0.2934
Diff (system - data): -0.0034
System opponent_avg: 0.2030

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2300.0001.000Hitting_2B0.2400.000-0.2400.000
predicted_3B0.0070.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB5.0304.0004.000Hitting_AB4.0383.000-0.0381.000
predicted_AVG0.2220.0000.250Hitting_AVG0.2930.000-0.2930.000
predicted_BB0.1370.0000.000Hitting_BB0.1471.000-0.147-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H1.1100.0001.000Hitting_H1.1850.000-1.1850.000
predicted_HR0.1600.0000.000Hitting_HR0.1730.000-0.1730.000
predicted_OBP0.2760.0000.250Hitting_OBP0.3190.250-0.319-0.250
predicted_R0.4890.0000.000Hitting_R0.5400.000-0.5400.000
predicted_RBI0.5300.0001.000Hitting_RBI0.5930.000-0.5930.000
predicted_SLG0.4000.0000.500Hitting_SLG0.4860.000-0.4860.000
predicted_SO0.7991.0000.000Hitting_SO0.8291.0000.1710.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.7990 -> 1.0000 (boost 0.2010, worse)
Biggest Deboostpredicted_H: 1.1100 -> 0.0000 (deboost -1.1100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 5.0300 -> 4.4516 (deboost -0.5784, worse)Final model input calibrated 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.3943 -> 0.3691 (deboost -0.0252, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.8099 -> 1.0000 (boost 0.1901, worse)predicted_RBI: 0.4654 -> 0.0000 (deboost -0.4654, worse)AB rounded to 4 (raw=5.03), rates preserved: AVG=0.203 HR/AB=0.030
6consistency_constraints10101-predicted_R: 0.4227 -> 0.0000 (deboost -0.4227, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65160predicted_RBI: 0.0000 -> 0.5567 (boost 0.5567, better)predicted_SO: 1.0000 -> 0.6846 (deboost -0.3154, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62433predicted_2B: 0.1935 -> 1.0000 (boost 0.8065, better)predicted_SO: 0.6846 -> 0.0000 (deboost -0.6846, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context64233predicted_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
10simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.4860 -> 0.3691 (deboost -0.1169, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "671739",
  "player_name": "Michael Harris II",
  "position": "CF",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.23,
        "predicted_3B": 0.007,
        "predicted_AB": 5.03,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.137,
        "predicted_H": 1.11,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.276,
        "predicted_R": 0.489,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.4,
        "predicted_SO": 0.799
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1896,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.4516,
        "predicted_AVG": 0.2262,
        "predicted_BB": 0.1505,
        "predicted_H": 1.0,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1526,
        "predicted_OBP": 0.2718,
        "predicted_R": 0.4316,
        "predicted_RBI": 0.4752,
        "predicted_SLG": 0.3943,
        "predicted_SO": 0.8094
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.23,
          "after": 0.1896,
          "delta": -0.0404,
          "percent_delta": -0.1757,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.03,
          "after": 4.4516,
          "delta": -0.5784,
          "percent_delta": -0.115,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2262,
          "delta": 0.0042,
          "percent_delta": 0.0189,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.137,
          "after": 0.1505,
          "delta": 0.0135,
          "percent_delta": 0.0985,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.11,
          "after": 1.0,
          "delta": -0.11,
          "percent_delta": -0.0991,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1526,
          "delta": -0.0074,
          "percent_delta": -0.0462,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.276,
          "after": 0.2718,
          "delta": -0.0042,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.489,
          "after": 0.4316,
          "delta": -0.0574,
          "percent_delta": -0.1174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 0.4752,
          "delta": -0.0548,
          "percent_delta": -0.1034,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4,
          "after": 0.3943,
          "delta": -0.0057,
          "percent_delta": -0.0143,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.799,
          "after": 0.8094,
          "delta": 0.0104,
          "percent_delta": 0.013,
          "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": 5.03,
          "after": 4.4516,
          "delta": -0.5784,
          "percent_delta": -0.115,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 139
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1896,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.4516,
        "predicted_AVG": 0.2218,
        "predicted_BB": 0.1504,
        "predicted_H": 0.9873,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1513,
        "predicted_OBP": 0.2472,
        "predicted_R": 0.4227,
        "predicted_RBI": 0.4654,
        "predicted_SLG": 0.3691,
        "predicted_SO": 0.8099
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1896,
          "after": 0.1896,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4516,
          "after": 4.4516,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2262,
          "after": 0.2218,
          "delta": -0.0044,
          "percent_delta": -0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1505,
          "after": 0.1504,
          "delta": -0.0001,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9873,
          "delta": -0.0127,
          "percent_delta": -0.0127,
          "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.1526,
          "after": 0.1513,
          "delta": -0.0013,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2718,
          "after": 0.2472,
          "delta": -0.0246,
          "percent_delta": -0.0905,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4316,
          "after": 0.4227,
          "delta": -0.0089,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4752,
          "after": 0.4654,
          "delta": -0.0098,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3943,
          "after": 0.3691,
          "delta": -0.0252,
          "percent_delta": -0.0639,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8094,
          "after": 0.8099,
          "delta": 0.0005,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3943,
          "after": 0.3691,
          "delta": -0.0252,
          "percent_delta": -0.0639,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.03), rates preserved: AVG=0.203 HR/AB=0.030",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1896,
          "after": 0.0,
          "delta": -0.1896,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4516,
          "after": 4.0,
          "delta": -0.4516,
          "percent_delta": -0.1014,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1504,
          "after": 0.0,
          "delta": -0.1504,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9873,
          "after": 1.0,
          "delta": 0.0127,
          "percent_delta": 0.0129,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.01,
          "after": 0.0,
          "delta": -0.01,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1513,
          "after": 0.0,
          "delta": -0.1513,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4654,
          "after": 0.0,
          "delta": -0.4654,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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": 1,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 6,
        "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_RBI",
          "before": 0.4654,
          "after": 0.0,
          "delta": -0.4654,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4227,
          "after": 0.0,
          "delta": -0.4227,
          "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.4227,
          "after": 0.0,
          "delta": -0.4227,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1935,
        "predicted_3B": 0.0095,
        "predicted_BB": 0.1428,
        "predicted_H": 1.0785,
        "predicted_HR": 0.1746,
        "predicted_RBI": 0.5567,
        "predicted_SO": 0.6846
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1935,
          "delta": 0.1935,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0095,
          "delta": 0.0095,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1428,
          "delta": 0.1428,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0785,
          "delta": 0.0785,
          "percent_delta": 0.0785,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1746,
          "delta": 0.1746,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5567,
          "delta": 0.5567,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6846,
          "delta": -0.3154,
          "percent_delta": -0.3154,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5567,
          "delta": 0.5567,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6846,
          "delta": -0.3154,
          "percent_delta": -0.3154,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.1935,
          "after": 1.0,
          "delta": 0.8065,
          "percent_delta": 4.168,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0095,
          "after": 0.0,
          "delta": -0.0095,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1428,
          "after": 0.0,
          "delta": -0.1428,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0785,
          "after": 1.0,
          "delta": -0.0785,
          "percent_delta": -0.0728,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1746,
          "after": 0.0,
          "delta": -0.1746,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5567,
          "after": 1.0,
          "delta": 0.4433,
          "percent_delta": 0.7963,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6846,
          "after": 0.0,
          "delta": -0.6846,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1935,
          "after": 1.0,
          "delta": 0.8065,
          "percent_delta": 4.168,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.6846,
          "after": 0.0,
          "delta": -0.6846,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.289,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.321,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.486,
        "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.2218,
          "after": 0.289,
          "delta": 0.0672,
          "percent_delta": 0.303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2472,
          "after": 0.321,
          "delta": 0.0738,
          "percent_delta": 0.2985,
          "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.3691,
          "after": 0.486,
          "delta": 0.1169,
          "percent_delta": 0.3167,
          "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": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "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_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2218,
        "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.2472,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3691,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2218,
          "delta": -0.0672,
          "percent_delta": -0.2326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.321,
          "after": 0.2472,
          "delta": -0.0738,
          "percent_delta": -0.2298,
          "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.486,
          "after": 0.3691,
          "delta": -0.1169,
          "percent_delta": -0.2405,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.486,
          "after": 0.3691,
          "delta": -0.1169,
          "percent_delta": -0.2405,
          "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.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.03,
        "after": 4.0,
        "delta": -1.03,
        "percent_delta": -0.2048,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.2218,
        "delta": -0.0002,
        "percent_delta": -0.0009,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.137,
        "after": 0.0,
        "delta": -0.137,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.11,
        "after": 0.0,
        "delta": -1.11,
        "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.276,
        "after": 0.2472,
        "delta": -0.0288,
        "percent_delta": -0.1043,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.489,
        "after": 0.0,
        "delta": -0.489,
        "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.4,
        "after": 0.3691,
        "delta": -0.0309,
        "percent_delta": -0.0773,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.799,
        "after": 1.0,
        "delta": 0.201,
        "percent_delta": 0.2516,
        "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.799,
        "after": 1.0,
        "delta": 0.201,
        "percent_delta": 0.2516,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.11,
        "after": 0.0,
        "delta": -1.11,
        "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.007-
predicted_AB5.030-
predicted_AVG0.222-
predicted_BB0.137-
predicted_H1.110-
predicted_HR0.160-
predicted_OBP0.276-
predicted_R0.489-
predicted_RBI0.530-
predicted_SLG0.400-
predicted_SO0.799-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.190-0.040
predicted_3B0.006-0.001
predicted_AB4.452-0.578
predicted_AVG0.2260.004
predicted_BB0.1500.013
predicted_H1.000-0.110
predicted_HBP0.010-
predicted_HR0.153-0.007
predicted_OBP0.272-0.004
predicted_R0.432-0.057
predicted_RBI0.475-0.055
predicted_SLG0.394-0.006
predicted_SO0.8090.010
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1900.000
predicted_3B0.0060.000
predicted_AB4.4520.000
predicted_AVG0.222-0.004
predicted_BB0.150-0.000
predicted_H0.987-0.013
predicted_HBP0.0100.000
predicted_HR0.151-0.001
predicted_OBP0.247-0.025
predicted_R0.423-0.009
predicted_RBI0.465-0.010
predicted_SLG0.369-0.025
predicted_SO0.8100.000
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1940.194
3B0.0090.009
BB0.1430.143
H1.0790.079
HR0.1750.175
RBI0.5570.557
SO0.685-0.315
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.806
3B0.000-0.009
AB4.0000.000
BB0.000-0.143
H1.000-0.079
HR0.000-0.175
R0.0000.000
RBI1.0000.443
SO0.000-0.685
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.190
predicted_3B0.000-0.006
predicted_AB4.000-0.452
predicted_AVG0.2890.067
predicted_BB0.000-0.150
predicted_H1.0000.013
predicted_HR0.000-0.151
predicted_OBP0.3210.074
predicted_R0.000-0.423
predicted_RBI0.000-0.465
predicted_SLG0.4860.117
predicted_SO1.0000.190
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 139
Reference playing time: 5.030
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0002.0000.0000.0000.0000.0000.0001.0004.0000.11110.15790.11110.11110.00000.00000.05560.2222
last_100.2010-35.0006.0000.0000.0002.0003.0003.0002.0009.0000.17140.21620.34290.17140.05710.08570.05710.2571
season0.60139-527.000153.00032.0001.00024.00080.00068.00019.000111.0000.29030.31580.49150.29030.04550.15180.03600.2106
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1370
predicted_3B0.0050
predicted_AB3.7000
predicted_AVG0.2316
predicted_BB0.1680
predicted_H0.8570
predicted_HBP0.0100
predicted_HR0.1430
predicted_OBP0.2664
predicted_R0.3570
predicted_RBI0.4040
predicted_SLG0.3868
predicted_SO0.8230
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23000.13700.1896model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB5.03003.70004.4516model_form_blend
predicted_AVG0.22200.23160.2262model_form_blend
predicted_BB0.13700.16800.1505model_form_blend
predicted_H1.11000.85701.0000model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.16000.14300.1526model_form_blend
predicted_OBP0.27600.26640.2718model_form_blend
predicted_R0.48900.35700.4316model_form_blend
predicted_RBI0.53000.40400.4752model_form_blend
predicted_SLG0.40000.38680.3943model_form_blend
predicted_SO0.79900.82300.8094model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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.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
allPositionsPlayedCF
gameID20260909_TB@ATL
game_typefull
mlbID671739
playerID671739
playerNameMichael Harris II
posCF
startedTrue
startingPositionCF
teamATL
teamID2
game_date2026-09-09
sl_k_percent19.9
sl_bb_percent3.6
sl_woba0.346
sl_xwoba0.34
sl_xba0.286
sl_xslg0.476
sl_sweet_spot_percent30.6
sl_barrel_batted_rate10.5
sl_hard_hit_percent48.2
sl_exit_velocity_avg90.4
sl_launch_angle_avg9.5
sl_whiff_percent24.8
sl_swing_percent56.0
Lane Thomas (657041) · BATTER · LF · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 32
All-history rows before 20260910: 32
System season_avg: 0.2240
Data season_avg (2026 season-to-date): 0.1940
Diff (system - data): 0.0300
System opponent_avg: 0.1450
System season_avg diverges from 2026 season-to-date by 0.0300. 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.1731.0000.000Hitting_2B0.2190.0000.7811.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9644.0003.000Hitting_AB2.0943.0001.9061.000
predicted_AVG0.1860.7500.333Hitting_AVG0.1940.0000.5560.750
predicted_BB0.3730.0000.000Hitting_BB0.2190.000-0.2190.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5203.0001.000Hitting_H0.4060.0002.5943.000
predicted_HR0.0700.0000.000Hitting_HR0.0620.000-0.0620.000
predicted_OBP0.2730.7500.333Hitting_OBP0.2700.0000.4800.750
predicted_R0.3181.0000.000Hitting_R0.3440.0000.6561.000
predicted_RBI0.1900.0000.000Hitting_RBI0.2190.000-0.2190.000
predicted_SLG0.2961.0000.333Hitting_SLG0.3880.0000.6121.000
predicted_SO0.8451.0001.000Hitting_SO0.8442.0000.156-1.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_H: 0.5200 -> 3.0000 (boost 2.4800, better)
Biggest Deboostpredicted_BB: 0.3730 -> 0.0000 (deboost -0.3730, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 2.9640 -> 2.8775 (deboost -0.0865, worse)Final model input calibrated 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.1779 -> 0.1697 (deboost -0.0082, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.4884 -> 1.0000 (boost 0.5116, better)predicted_BB: 0.3702 -> 0.0000 (deboost -0.3702, worse)AB rounded to 3 (raw=2.96), rates preserved: AVG=0.170 HR/AB=0.022
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
7consistency_constraints10101-predicted_R: 0.2967 -> 0.0000 (deboost -0.2967, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4272 (boost 0.4272, better)predicted_SO: 1.0000 -> 0.7300 (deboost -0.2700, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_SO: 0.7300 -> 1.0000 (boost 0.2700, worse)predicted_RBI: 0.4272 -> 0.0000 (deboost -0.4272, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.2899 -> 0.3870 (boost 0.0971, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference44040predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3870 -> 0.2899 (deboost -0.0971, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "657041",
  "player_name": "Lane Thomas",
  "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.173,
        "predicted_3B": 0.0,
        "predicted_AB": 2.964,
        "predicted_AVG": 0.186,
        "predicted_BB": 0.373,
        "predicted_H": 0.52,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.273,
        "predicted_R": 0.318,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.296,
        "predicted_SO": 0.845
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1507,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8775,
        "predicted_AVG": 0.1779,
        "predicted_BB": 0.3704,
        "predicted_H": 0.4947,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0653,
        "predicted_OBP": 0.2709,
        "predicted_R": 0.303,
        "predicted_RBI": 0.1986,
        "predicted_SLG": 0.2872,
        "predicted_SO": 0.8467
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.173,
          "after": 0.1507,
          "delta": -0.0223,
          "percent_delta": -0.1289,
          "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.964,
          "after": 2.8775,
          "delta": -0.0865,
          "percent_delta": -0.0292,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.186,
          "after": 0.1779,
          "delta": -0.0081,
          "percent_delta": -0.0435,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.373,
          "after": 0.3704,
          "delta": -0.0026,
          "percent_delta": -0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.52,
          "after": 0.4947,
          "delta": -0.0253,
          "percent_delta": -0.0487,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0653,
          "delta": -0.0047,
          "percent_delta": -0.0671,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.273,
          "after": 0.2709,
          "delta": -0.0021,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.318,
          "after": 0.303,
          "delta": -0.015,
          "percent_delta": -0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.1986,
          "delta": 0.0086,
          "percent_delta": 0.0453,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.296,
          "after": 0.2872,
          "delta": -0.0088,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.845,
          "after": 0.8467,
          "delta": 0.0017,
          "percent_delta": 0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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": 2.964,
          "after": 2.8775,
          "delta": -0.0865,
          "percent_delta": -0.0292,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1507,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8775,
        "predicted_AVG": 0.1697,
        "predicted_BB": 0.3702,
        "predicted_H": 0.4884,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0648,
        "predicted_OBP": 0.2644,
        "predicted_R": 0.2967,
        "predicted_RBI": 0.1945,
        "predicted_SLG": 0.2899,
        "predicted_SO": 0.8472
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1507,
          "after": 0.1507,
          "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.8775,
          "after": 2.8775,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1779,
          "after": 0.1697,
          "delta": -0.0082,
          "percent_delta": -0.0461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3704,
          "after": 0.3702,
          "delta": -0.0002,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4947,
          "after": 0.4884,
          "delta": -0.0063,
          "percent_delta": -0.0127,
          "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.0653,
          "after": 0.0648,
          "delta": -0.0005,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2709,
          "after": 0.2644,
          "delta": -0.0065,
          "percent_delta": -0.024,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.303,
          "after": 0.2967,
          "delta": -0.0063,
          "percent_delta": -0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1986,
          "after": 0.1945,
          "delta": -0.0041,
          "percent_delta": -0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2872,
          "after": 0.2899,
          "delta": 0.0027,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8467,
          "after": 0.8472,
          "delta": 0.0005,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.1779,
          "after": 0.1697,
          "delta": -0.0082,
          "percent_delta": -0.0461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.96), rates preserved: AVG=0.170 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.1507,
          "after": 0.0,
          "delta": -0.1507,
          "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.8775,
          "after": 3.0,
          "delta": 0.1225,
          "percent_delta": 0.0426,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3702,
          "after": 0.0,
          "delta": -0.3702,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4884,
          "after": 1.0,
          "delta": 0.5116,
          "percent_delta": 1.0475,
          "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.0648,
          "after": 0.0,
          "delta": -0.0648,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1945,
          "after": 0.0,
          "delta": -0.1945,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8472,
          "after": 1.0,
          "delta": 0.1528,
          "percent_delta": 0.1804,
          "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.4884,
          "after": 1.0,
          "delta": 0.5116,
          "percent_delta": 1.0475,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3702,
          "after": 0.0,
          "delta": -0.3702,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.2967,
          "after": 0.0,
          "delta": -0.2967,
          "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.2967,
          "after": 0.0,
          "delta": -0.2967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1476,
        "predicted_3B": 0.0074,
        "predicted_BB": 0.2848,
        "predicted_H": 0.8067,
        "predicted_HR": 0.1092,
        "predicted_RBI": 0.4272,
        "predicted_SO": 0.73
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1476,
          "delta": 0.1476,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0074,
          "delta": 0.0074,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2848,
          "delta": 0.2848,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8067,
          "delta": -0.1933,
          "percent_delta": -0.1933,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1092,
          "delta": 0.1092,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4272,
          "delta": 0.4272,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.73,
          "delta": -0.27,
          "percent_delta": -0.27,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4272,
          "delta": 0.4272,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.73,
          "delta": -0.27,
          "percent_delta": -0.27,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1476,
          "after": 0.0,
          "delta": -0.1476,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0074,
          "after": 0.0,
          "delta": -0.0074,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2848,
          "after": 0.0,
          "delta": -0.2848,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8067,
          "after": 1.0,
          "delta": 0.1933,
          "percent_delta": 0.2396,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1092,
          "after": 0.0,
          "delta": -0.1092,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4272,
          "after": 0.0,
          "delta": -0.4272,
          "percent_delta": -1.0,
          "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": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.73,
          "after": 1.0,
          "delta": 0.27,
          "percent_delta": 0.3699,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4272,
          "after": 0.0,
          "delta": -0.4272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "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.1697,
          "after": 0.241,
          "delta": 0.0713,
          "percent_delta": 0.4202,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2644,
          "after": 0.306,
          "delta": 0.0416,
          "percent_delta": 0.1573,
          "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.2899,
          "after": 0.387,
          "delta": 0.0971,
          "percent_delta": 0.3349,
          "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.2899,
          "after": 0.387,
          "delta": 0.0971,
          "percent_delta": 0.3349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 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": 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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1697,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2644,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2899,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.1697,
          "delta": -0.0713,
          "percent_delta": -0.2957,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.2644,
          "delta": -0.0416,
          "percent_delta": -0.136,
          "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.387,
          "after": 0.2899,
          "delta": -0.0971,
          "percent_delta": -0.2509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.387,
          "after": 0.2899,
          "delta": -0.0971,
          "percent_delta": -0.2509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.173,
        "after": 1.0,
        "delta": 0.827,
        "percent_delta": 4.7803,
        "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.964,
        "after": 4.0,
        "delta": 1.036,
        "percent_delta": 0.3495,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.186,
        "after": 0.1697,
        "delta": -0.0163,
        "percent_delta": -0.0876,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.373,
        "after": 0.0,
        "delta": -0.373,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.52,
        "after": 3.0,
        "delta": 2.48,
        "percent_delta": 4.7692,
        "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.273,
        "after": 0.2644,
        "delta": -0.0086,
        "percent_delta": -0.0315,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.318,
        "after": 1.0,
        "delta": 0.682,
        "percent_delta": 2.1447,
        "direction": "boost",
        "projection_effect": "better",
        "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.296,
        "after": 0.2899,
        "delta": -0.0061,
        "percent_delta": -0.0206,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.845,
        "after": 1.0,
        "delta": 0.155,
        "percent_delta": 0.1834,
        "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_H",
        "before": 0.52,
        "after": 3.0,
        "delta": 2.48,
        "percent_delta": 4.7692,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.373,
        "after": 0.0,
        "delta": -0.373,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.173-
predicted_3B0.000-
predicted_AB2.964-
predicted_AVG0.186-
predicted_BB0.373-
predicted_H0.520-
predicted_HR0.070-
predicted_OBP0.273-
predicted_R0.318-
predicted_RBI0.190-
predicted_SLG0.296-
predicted_SO0.845-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.151-0.022
predicted_3B0.0000.000
predicted_AB2.877-0.087
predicted_AVG0.178-0.008
predicted_BB0.370-0.003
predicted_H0.495-0.025
predicted_HBP0.011-
predicted_HR0.065-0.005
predicted_OBP0.271-0.002
predicted_R0.303-0.015
predicted_RBI0.1990.009
predicted_SLG0.287-0.009
predicted_SO0.8470.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.1510.000
predicted_3B0.0000.000
predicted_AB2.8770.000
predicted_AVG0.170-0.008
predicted_BB0.370-0.000
predicted_H0.488-0.006
predicted_HBP0.0110.000
predicted_HR0.065-0.001
predicted_OBP0.264-0.006
predicted_R0.297-0.006
predicted_RBI0.195-0.004
predicted_SLG0.2900.003
predicted_SO0.8470.000
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1480.148
3B0.0070.007
BB0.2850.285
H0.807-0.193
HR0.1090.109
RBI0.4270.427
SO0.730-0.270
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.148
3B0.000-0.007
AB3.0000.000
BB0.000-0.285
H1.0000.193
HR0.000-0.109
R0.0000.000
RBI0.000-0.427
SO1.0000.270
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.151
predicted_3B0.000-0.000
predicted_AB3.0000.123
predicted_AVG0.2410.071
predicted_BB0.000-0.370
predicted_H1.0000.512
predicted_HR0.000-0.065
predicted_OBP0.3060.042
predicted_R0.000-0.297
predicted_RBI0.000-0.195
predicted_SLG0.3870.097
predicted_SO1.0000.153
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H3.0002.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: 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-11.0000.0000.0000.0000.0000.0001.0002.0005.0000.00000.15380.00000.00000.00000.00000.18180.4546
last_100.2010-23.0003.0001.0000.0000.0000.0002.0003.0006.0000.13040.23080.17390.13040.00000.00000.13040.2609
season0.60110-326.00073.00019.0000.00011.00039.00035.00041.00093.0000.22390.31350.38340.22390.03370.11960.12580.2853
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1210
predicted_3B0.0010
predicted_AB2.7620
predicted_AVG0.1670
predicted_BB0.3670
predicted_H0.4610
predicted_HBP0.0110
predicted_HR0.0590
predicted_OBP0.2680
predicted_R0.2830
predicted_RBI0.2100
predicted_SLG0.2755
predicted_SO0.8490
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17300.12100.1507model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.96402.76202.8775model_form_blend
predicted_AVG0.18600.16700.1779model_form_blend
predicted_BB0.37300.36700.3704model_form_blend
predicted_H0.52000.46100.4947model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.07000.05900.0653model_form_blend
predicted_OBP0.27300.26800.2709model_form_blend
predicted_R0.31800.28300.3030model_form_blend
predicted_RBI0.19000.21000.1986model_form_blend
predicted_SLG0.29600.27550.2872model_form_blend
predicted_SO0.84500.84900.8467model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20260907_ATL@PHI
game_typefull
mlbID657041
playerID657041
playerNameLane Thomas
posLF
startedTrue
startingPositionRF
teamATL
teamID2
game_date2026-09-07
sl_k_percent24.9
sl_bb_percent11.8
sl_woba0.313
sl_xwoba0.311
sl_xba0.238
sl_xslg0.365
sl_sweet_spot_percent36.2
sl_barrel_batted_rate6.4
sl_hard_hit_percent40.9
sl_exit_velocity_avg89.3
sl_launch_angle_avg17.4
sl_whiff_percent22.9
sl_swing_percent41.3
Austin Riley (663586) · BATTER · 3B · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 521
All-history rows before 20260910: 521
System season_avg: 0.2230
Data season_avg (2026 season-to-date): 0.2259
Diff (system - data): -0.0029
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.1401.0000.000Hitting_2B0.1480.0000.8521.000
predicted_3B0.0140.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.5384.0003.000Hitting_AB3.6373.0000.3631.000
predicted_AVG0.2100.7500.333Hitting_AVG0.2260.0000.5240.750
predicted_BB0.2940.0000.000Hitting_BB0.3110.000-0.3110.000
predicted_CS-0.0000.000BaseRunning_CS0.0120.000-0.0120.000
predicted_H0.7403.0001.000Hitting_H0.8210.0002.1793.000
predicted_HR0.1301.0000.000Hitting_HR0.1170.0000.8831.000
predicted_OBP0.2800.7500.333Hitting_OBP0.3020.0000.4480.750
predicted_R0.3991.0000.000Hitting_R0.4510.0000.5491.000
predicted_RBI0.4903.0000.000Hitting_RBI0.4760.0002.5243.000
predicted_SLG0.4051.7500.333Hitting_SLG0.3680.0001.3821.750
predicted_SO1.2380.0001.000Hitting_SO1.2841.000-1.284-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.4900 -> 3.0000 (boost 2.5100, better)
Biggest Deboostpredicted_SO: 1.2380 -> 0.0000 (deboost -1.2380, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AVG: 0.2100 -> 0.2172 (boost 0.0072, better)predicted_BB: 0.2940 -> 0.2422 (deboost -0.0518, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.4078 -> 0.3822 (deboost -0.0256, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81726predicted_H: 0.7478 -> 1.0000 (boost 0.2522, better)predicted_AB: 3.4962 -> 3.0000 (deboost -0.4962, worse)AB rounded to 3 (raw=3.54), rates preserved: AVG=0.218 HR/AB=0.036
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)
7consistency_constraints10101-predicted_R: 0.3668 -> 0.0000 (deboost -0.3668, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4298 (boost 0.4298, better)predicted_H: 1.0000 -> 0.8256 (deboost -0.1744, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_H: 0.8256 -> 1.0000 (boost 0.1744, better)predicted_RBI: 0.4298 -> 0.0000 (deboost -0.4298, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context22020predicted_AVG: 0.2139 -> 0.2460 (boost 0.0321, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference76170predicted_RBI: 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
12current_json_final20202-predicted_AVG: 0.2460 -> 0.2139 (deboost -0.0321, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.14,
        "predicted_3B": 0.014,
        "predicted_AB": 3.538,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.294,
        "predicted_H": 0.74,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.28,
        "predicted_R": 0.399,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.238
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1243,
        "predicted_3B": 0.0388,
        "predicted_AB": 3.4962,
        "predicted_AVG": 0.2172,
        "predicted_BB": 0.2422,
        "predicted_H": 0.7574,
        "predicted_HBP": 0.106,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.2816,
        "predicted_R": 0.3746,
        "predicted_RBI": 0.4761,
        "predicted_SLG": 0.4078,
        "predicted_SO": 1.2367
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.14,
          "after": 0.1243,
          "delta": -0.0157,
          "percent_delta": -0.1121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0388,
          "delta": 0.0248,
          "percent_delta": 1.7714,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.538,
          "after": 3.4962,
          "delta": -0.0418,
          "percent_delta": -0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.2172,
          "delta": 0.0072,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.294,
          "after": 0.2422,
          "delta": -0.0518,
          "percent_delta": -0.1762,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.74,
          "after": 0.7574,
          "delta": 0.0174,
          "percent_delta": 0.0235,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.13,
          "after": 0.13,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.28,
          "after": 0.2816,
          "delta": 0.0016,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.399,
          "after": 0.3746,
          "delta": -0.0244,
          "percent_delta": -0.0612,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.4761,
          "delta": -0.0139,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4078,
          "delta": 0.0028,
          "percent_delta": 0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.238,
          "after": 1.2367,
          "delta": -0.0013,
          "percent_delta": -0.0011,
          "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.21,
          "after": 0.2172,
          "delta": 0.0072,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.294,
          "after": 0.2422,
          "delta": -0.0518,
          "percent_delta": -0.1762,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 143
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1243,
        "predicted_3B": 0.0388,
        "predicted_AB": 3.4962,
        "predicted_AVG": 0.2139,
        "predicted_BB": 0.2421,
        "predicted_H": 0.7478,
        "predicted_HBP": 0.106,
        "predicted_HR": 0.1289,
        "predicted_OBP": 0.2648,
        "predicted_R": 0.3668,
        "predicted_RBI": 0.4662,
        "predicted_SLG": 0.3822,
        "predicted_SO": 1.2374
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1243,
          "after": 0.1243,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0388,
          "after": 0.0388,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4962,
          "after": 3.4962,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2172,
          "after": 0.2139,
          "delta": -0.0033,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2422,
          "after": 0.2421,
          "delta": -0.0001,
          "percent_delta": -0.0004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7574,
          "after": 0.7478,
          "delta": -0.0096,
          "percent_delta": -0.0127,
          "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.13,
          "after": 0.1289,
          "delta": -0.0011,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2816,
          "after": 0.2648,
          "delta": -0.0168,
          "percent_delta": -0.0597,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3746,
          "after": 0.3668,
          "delta": -0.0078,
          "percent_delta": -0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4761,
          "after": 0.4662,
          "delta": -0.0099,
          "percent_delta": -0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4078,
          "after": 0.3822,
          "delta": -0.0256,
          "percent_delta": -0.0628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2367,
          "after": 1.2374,
          "delta": 0.0007,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4078,
          "after": 0.3822,
          "delta": -0.0256,
          "percent_delta": -0.0628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.54), rates preserved: AVG=0.218 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.1243,
          "after": 0.0,
          "delta": -0.1243,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0388,
          "after": 0.0,
          "delta": -0.0388,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4962,
          "after": 3.0,
          "delta": -0.4962,
          "percent_delta": -0.1419,
          "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.7478,
          "after": 1.0,
          "delta": 0.2522,
          "percent_delta": 0.3373,
          "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.1289,
          "after": 0.0,
          "delta": -0.1289,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4662,
          "after": 0.0,
          "delta": -0.4662,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2374,
          "after": 1.0,
          "delta": -0.2374,
          "percent_delta": -0.1919,
          "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.7478,
          "after": 1.0,
          "delta": 0.2522,
          "percent_delta": 0.3373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.4962,
          "after": 3.0,
          "delta": -0.4962,
          "percent_delta": -0.1419,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.286)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3668,
          "after": 0.0,
          "delta": -0.3668,
          "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.3668,
          "after": 0.0,
          "delta": -0.3668,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.132,
        "predicted_3B": 0.0102,
        "predicted_BB": 0.2089,
        "predicted_H": 0.8256,
        "predicted_HR": 0.1055,
        "predicted_RBI": 0.4298,
        "predicted_SO": 0.9378
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.132,
          "delta": 0.132,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0102,
          "delta": 0.0102,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2089,
          "delta": 0.2089,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8256,
          "delta": -0.1744,
          "percent_delta": -0.1744,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1055,
          "delta": 0.1055,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4298,
          "delta": 0.4298,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9378,
          "delta": -0.0622,
          "percent_delta": -0.0622,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4298,
          "delta": 0.4298,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8256,
          "delta": -0.1744,
          "percent_delta": -0.1744,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.132,
          "after": 0.0,
          "delta": -0.132,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0102,
          "after": 0.0,
          "delta": -0.0102,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2089,
          "after": 0.0,
          "delta": -0.2089,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8256,
          "after": 1.0,
          "delta": 0.1744,
          "percent_delta": 0.2112,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1055,
          "after": 0.0,
          "delta": -0.1055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4298,
          "after": 0.0,
          "delta": -0.4298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9378,
          "after": 1.0,
          "delta": 0.0622,
          "percent_delta": 0.0663,
          "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.8256,
          "after": 1.0,
          "delta": 0.1744,
          "percent_delta": 0.2112,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4298,
          "after": 0.0,
          "delta": -0.4298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.246,
        "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.386,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2139,
          "after": 0.246,
          "delta": 0.0321,
          "percent_delta": 0.1501,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2648,
          "after": 0.296,
          "delta": 0.0312,
          "percent_delta": 0.1178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3822,
          "after": 0.386,
          "delta": 0.0038,
          "percent_delta": 0.0099,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2139,
          "after": 0.246,
          "delta": 0.0321,
          "percent_delta": 0.1501,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 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": 1.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": 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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 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": 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": 6,
        "deboosted_metrics": 1,
        "better_metrics": 7,
        "worse_metrics": 0,
        "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": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2139,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.2648,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3822,
        "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.246,
          "after": 0.2139,
          "delta": -0.0321,
          "percent_delta": -0.1306,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.2648,
          "delta": -0.0312,
          "percent_delta": -0.1055,
          "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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.386,
          "after": 0.3822,
          "delta": -0.0038,
          "percent_delta": -0.0097,
          "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_AVG",
          "before": 0.246,
          "after": 0.2139,
          "delta": -0.0321,
          "percent_delta": -0.1306,
          "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.014,
        "after": 0.0,
        "delta": -0.014,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.538,
        "after": 4.0,
        "delta": 0.462,
        "percent_delta": 0.1306,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.21,
        "after": 0.2139,
        "delta": 0.0039,
        "percent_delta": 0.0186,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.294,
        "after": 0.0,
        "delta": -0.294,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 3.0,
        "delta": 2.26,
        "percent_delta": 3.0541,
        "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.28,
        "after": 0.2648,
        "delta": -0.0152,
        "percent_delta": -0.0543,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.399,
        "after": 1.0,
        "delta": 0.601,
        "percent_delta": 1.5063,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 3.0,
        "delta": 2.51,
        "percent_delta": 5.1224,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.405,
        "after": 0.3822,
        "delta": -0.0228,
        "percent_delta": -0.0563,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.238,
        "after": 0.0,
        "delta": -1.238,
        "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.49,
        "after": 3.0,
        "delta": 2.51,
        "percent_delta": 5.1224,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.238,
        "after": 0.0,
        "delta": -1.238,
        "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.140-
predicted_3B0.014-
predicted_AB3.538-
predicted_AVG0.210-
predicted_BB0.294-
predicted_H0.740-
predicted_HR0.130-
predicted_OBP0.280-
predicted_R0.399-
predicted_RBI0.490-
predicted_SLG0.405-
predicted_SO1.238-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.124-0.016
predicted_3B0.0390.025
predicted_AB3.496-0.042
predicted_AVG0.2170.007
predicted_BB0.242-0.052
predicted_H0.7570.017
predicted_HBP0.106-
predicted_HR0.1300.000
predicted_OBP0.2820.002
predicted_R0.375-0.024
predicted_RBI0.476-0.014
predicted_SLG0.4080.003
predicted_SO1.237-0.001
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1240.000
predicted_3B0.0390.000
predicted_AB3.4960.000
predicted_AVG0.214-0.003
predicted_BB0.242-0.000
predicted_H0.748-0.010
predicted_HBP0.1060.000
predicted_HR0.129-0.001
predicted_OBP0.265-0.017
predicted_R0.367-0.008
predicted_RBI0.466-0.010
predicted_SLG0.382-0.026
predicted_SO1.2370.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

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

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1320.132
3B0.0100.010
BB0.2090.209
H0.826-0.174
HR0.1050.105
RBI0.4300.430
SO0.938-0.062
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.132
3B0.000-0.010
AB3.0000.000
BB0.000-0.209
H1.0000.174
HR0.000-0.105
R0.0000.000
RBI0.000-0.430
SO1.0000.062
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.124
predicted_3B0.000-0.039
predicted_AB3.000-0.496
predicted_AVG0.2460.032
predicted_BB0.000-0.242
predicted_H1.0000.252
predicted_HR0.000-0.129
predicted_OBP0.2960.031
predicted_R0.000-0.367
predicted_RBI0.000-0.466
predicted_SLG0.3860.004
predicted_SO1.000-0.237
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H3.0002.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI3.0003.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: 143
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.0000.0001.0001.0002.0001.0000.0007.0000.20000.25000.53330.20000.06670.13330.00000.4667
last_100.2010-35.0009.0001.0001.0001.0005.0003.0000.00011.0000.25710.27780.42860.25710.02860.14290.00000.3143
season0.60143-506.000113.00020.0002.00016.00066.00057.00042.000177.0000.22330.29480.36560.22330.03160.13040.08300.3498
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1040
predicted_3B0.0710
predicted_AB3.4420
predicted_AVG0.2265
predicted_BB0.1750
predicted_H0.7800
predicted_HBP0.1060
predicted_HR0.1300
predicted_OBP0.2836
predicted_R0.3430
predicted_RBI0.4580
predicted_SLG0.4115
predicted_SO1.2350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14000.10400.1243model_form_blend
predicted_3B0.01400.07100.0388model_form_blend
predicted_AB3.53803.44203.4962model_form_blend
predicted_AVG0.21000.22650.2172model_form_blend
predicted_BB0.29400.17500.2422model_form_blend
predicted_H0.74000.78000.7574model_form_blend
predicted_HBP-0.10600.1060form_only
predicted_HR0.13000.13000.1300model_form_blend
predicted_OBP0.28000.28360.2816model_form_blend
predicted_R0.39900.34300.3746model_form_blend
predicted_RBI0.49000.45800.4761model_form_blend
predicted_SLG0.40500.41150.4078model_form_blend
predicted_SO1.23801.23501.2367model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date521
Season rows before report date521
Report year2026
Profile rows used143
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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
HR1
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_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
gameID20260909_TB@ATL
game_typefull
mlbID663586
playerID663586
playerNameAustin Riley
pos3B
startedTrue
startingPosition3B
teamATL
teamID2
game_date2026-09-09
sl_k_percent31.7
sl_bb_percent7.4
sl_woba0.293
sl_xwoba0.299
sl_xba0.214
sl_xslg0.396
sl_sweet_spot_percent33.8
sl_barrel_batted_rate12.3
sl_hard_hit_percent45.2
sl_exit_velocity_avg91.5
sl_launch_angle_avg19.4
sl_whiff_percent32.3
sl_swing_percent48.9
Ha-Seong Kim (673490) · BATTER · SS · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 102
All-history rows before 20260910: 102
System season_avg: 0.1100
Data season_avg (2026 season-to-date): 0.0928
Diff (system - data): 0.0172
System opponent_avg: 0.1100
System season_avg diverges from 2026 season-to-date by 0.0172. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0290.0000.000Hitting_2B0.0100.000-0.0100.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.9414.0003.000Hitting_AB2.8533.0001.1471.000
predicted_AVG0.1890.2500.000Hitting_AVG0.0930.0000.1570.250
predicted_BB0.2940.0000.000Hitting_BB0.3040.000-0.3040.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3801.0000.000Hitting_H0.2650.0000.7351.000
predicted_HR0.0300.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2470.2500.000Hitting_OBP0.1830.0000.0670.250
predicted_R0.1470.0000.000Hitting_R0.1960.000-0.1960.000
predicted_RBI0.2200.0000.000Hitting_RBI0.1670.000-0.1670.000
predicted_SLG0.2300.2500.000Hitting_SLG0.0960.0000.1540.250
predicted_SO0.8820.0001.000Hitting_SO0.8332.000-0.833-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics2
Deboosted Metrics7
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_AB: 2.9410 -> 4.0000 (boost 1.0590, better)
Biggest Deboostpredicted_SO: 0.8820 -> 0.0000 (deboost -0.8820, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_H: 0.3800 -> 0.4533 (boost 0.0733, 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.2353 -> 0.1968 (deboost -0.0385, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling51405predicted_SO: 0.8678 -> 1.0000 (boost 0.1322, worse)predicted_H: 0.4475 -> 0.0000 (deboost -0.4475, worse)AB rounded to 3 (raw=2.98), rates preserved: AVG=0.155 HR/AB=0.009
6consistency_constraints10101-predicted_R: 0.1679 -> 0.0000 (deboost -0.1679, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65160predicted_H: 0.0000 -> 0.6877 (boost 0.6877, better)predicted_SO: 1.0000 -> 0.6932 (deboost -0.3068, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation61506predicted_SO: 0.6932 -> 1.0000 (boost 0.3068, worse)predicted_H: 0.6877 -> 0.0000 (deboost -0.6877, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context33030predicted_SLG: 0.1968 -> 0.3530 (boost 0.1562, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference32130predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3530 -> 0.1968 (deboost -0.1562, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "673490",
  "player_name": "Ha-Seong Kim",
  "position": "SS",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.029,
        "predicted_3B": 0.0,
        "predicted_AB": 2.941,
        "predicted_AVG": 0.189,
        "predicted_BB": 0.294,
        "predicted_H": 0.38,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.247,
        "predicted_R": 0.147,
        "predicted_RBI": 0.22,
        "predicted_SLG": 0.23,
        "predicted_SO": 0.882
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0558,
        "predicted_3B": 0.0012,
        "predicted_AB": 2.9767,
        "predicted_AVG": 0.1884,
        "predicted_BB": 0.2734,
        "predicted_H": 0.4533,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.0269,
        "predicted_OBP": 0.2511,
        "predicted_R": 0.1714,
        "predicted_RBI": 0.2351,
        "predicted_SLG": 0.2353,
        "predicted_SO": 0.8673
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.029,
          "after": 0.0558,
          "delta": 0.0268,
          "percent_delta": 0.9241,
          "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.941,
          "after": 2.9767,
          "delta": 0.0357,
          "percent_delta": 0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.189,
          "after": 0.1884,
          "delta": -0.0006,
          "percent_delta": -0.0032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.294,
          "after": 0.2734,
          "delta": -0.0206,
          "percent_delta": -0.0701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.38,
          "after": 0.4533,
          "delta": 0.0733,
          "percent_delta": 0.1929,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0269,
          "delta": -0.0031,
          "percent_delta": -0.1033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.247,
          "after": 0.2511,
          "delta": 0.0041,
          "percent_delta": 0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.147,
          "after": 0.1714,
          "delta": 0.0244,
          "percent_delta": 0.166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.22,
          "after": 0.2351,
          "delta": 0.0151,
          "percent_delta": 0.0686,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.23,
          "after": 0.2353,
          "delta": 0.0053,
          "percent_delta": 0.023,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.882,
          "after": 0.8673,
          "delta": -0.0147,
          "percent_delta": -0.0167,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.38,
          "after": 0.4533,
          "delta": 0.0733,
          "percent_delta": 0.1929,
          "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": 34
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0558,
        "predicted_3B": 0.0012,
        "predicted_AB": 2.9767,
        "predicted_AVG": 0.1503,
        "predicted_BB": 0.2732,
        "predicted_H": 0.4475,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.0267,
        "predicted_OBP": 0.2218,
        "predicted_R": 0.1679,
        "predicted_RBI": 0.2302,
        "predicted_SLG": 0.1968,
        "predicted_SO": 0.8678
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0558,
          "after": 0.0558,
          "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.9767,
          "after": 2.9767,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1884,
          "after": 0.1503,
          "delta": -0.0381,
          "percent_delta": -0.2022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2734,
          "after": 0.2732,
          "delta": -0.0002,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4533,
          "after": 0.4475,
          "delta": -0.0058,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.039,
          "after": 0.039,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0269,
          "after": 0.0267,
          "delta": -0.0002,
          "percent_delta": -0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2511,
          "after": 0.2218,
          "delta": -0.0293,
          "percent_delta": -0.1167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.1714,
          "after": 0.1679,
          "delta": -0.0035,
          "percent_delta": -0.0204,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2351,
          "after": 0.2302,
          "delta": -0.0049,
          "percent_delta": -0.0208,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2353,
          "after": 0.1968,
          "delta": -0.0385,
          "percent_delta": -0.1636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8673,
          "after": 0.8678,
          "delta": 0.0005,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.2353,
          "after": 0.1968,
          "delta": -0.0385,
          "percent_delta": -0.1636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.98), rates preserved: AVG=0.155 HR/AB=0.009",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0558,
          "after": 0.0,
          "delta": -0.0558,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0012,
          "after": 0.0,
          "delta": -0.0012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9767,
          "after": 3.0,
          "delta": 0.0233,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2732,
          "after": 0.0,
          "delta": -0.2732,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4475,
          "after": 0.0,
          "delta": -0.4475,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.039,
          "after": 0.0,
          "delta": -0.039,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0267,
          "after": 0.0,
          "delta": -0.0267,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2302,
          "after": 0.0,
          "delta": -0.2302,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8678,
          "after": 1.0,
          "delta": 0.1322,
          "percent_delta": 0.1523,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.8678,
          "after": 1.0,
          "delta": 0.1322,
          "percent_delta": 0.1523,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4475,
          "after": 0.0,
          "delta": -0.4475,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.1679,
          "after": 0.0,
          "delta": -0.1679,
          "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.1679,
          "after": 0.0,
          "delta": -0.1679,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1189,
        "predicted_3B": 0.0084,
        "predicted_BB": 0.211,
        "predicted_H": 0.6877,
        "predicted_HR": 0.0716,
        "predicted_RBI": 0.3075,
        "predicted_SO": 0.6932
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1189,
          "delta": 0.1189,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0084,
          "delta": 0.0084,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.211,
          "delta": 0.211,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6877,
          "delta": 0.6877,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0716,
          "delta": 0.0716,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3075,
          "delta": 0.3075,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6932,
          "delta": -0.3068,
          "percent_delta": -0.3068,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6877,
          "delta": 0.6877,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6932,
          "delta": -0.3068,
          "percent_delta": -0.3068,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 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.1189,
          "after": 0.0,
          "delta": -0.1189,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0084,
          "after": 0.0,
          "delta": -0.0084,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.211,
          "after": 0.0,
          "delta": -0.211,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6877,
          "after": 0.0,
          "delta": -0.6877,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0716,
          "after": 0.0,
          "delta": -0.0716,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3075,
          "after": 0.0,
          "delta": -0.3075,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6932,
          "after": 1.0,
          "delta": 0.3068,
          "percent_delta": 0.4426,
          "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.6932,
          "after": 1.0,
          "delta": 0.3068,
          "percent_delta": 0.4426,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6877,
          "after": 0.0,
          "delta": -0.6877,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.234,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.291,
        "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.1503,
          "after": 0.234,
          "delta": 0.0837,
          "percent_delta": 0.5569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2218,
          "after": 0.291,
          "delta": 0.0692,
          "percent_delta": 0.312,
          "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.1968,
          "after": 0.353,
          "delta": 0.1562,
          "percent_delta": 0.7937,
          "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.1968,
          "after": 0.353,
          "delta": 0.1562,
          "percent_delta": 0.7937,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1503,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2218,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.1968,
        "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.234,
          "after": 0.1503,
          "delta": -0.0837,
          "percent_delta": -0.3575,
          "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.291,
          "after": 0.2218,
          "delta": -0.0692,
          "percent_delta": -0.2379,
          "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.1968,
          "delta": -0.1562,
          "percent_delta": -0.4425,
          "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.353,
          "after": 0.1968,
          "delta": -0.1562,
          "percent_delta": -0.4425,
          "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.941,
        "after": 4.0,
        "delta": 1.059,
        "percent_delta": 0.3601,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.189,
        "after": 0.1503,
        "delta": -0.0387,
        "percent_delta": -0.2048,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.294,
        "after": 0.0,
        "delta": -0.294,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.38,
        "after": 1.0,
        "delta": 0.62,
        "percent_delta": 1.6316,
        "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.247,
        "after": 0.2218,
        "delta": -0.0252,
        "percent_delta": -0.102,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.147,
        "after": 0.0,
        "delta": -0.147,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.23,
        "after": 0.1968,
        "delta": -0.0332,
        "percent_delta": -0.1443,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.882,
        "after": 0.0,
        "delta": -0.882,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.941,
        "after": 4.0,
        "delta": 1.059,
        "percent_delta": 0.3601,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.882,
        "after": 0.0,
        "delta": -0.882,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution 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.941-
predicted_AVG0.189-
predicted_BB0.294-
predicted_H0.380-
predicted_HR0.030-
predicted_OBP0.247-
predicted_R0.147-
predicted_RBI0.220-
predicted_SLG0.230-
predicted_SO0.882-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0560.027
predicted_3B0.0010.001
predicted_AB2.9770.036
predicted_AVG0.188-0.001
predicted_BB0.273-0.021
predicted_H0.4530.073
predicted_HBP0.039-
predicted_HR0.027-0.003
predicted_OBP0.2510.004
predicted_R0.1710.024
predicted_RBI0.2350.015
predicted_SLG0.2350.005
predicted_SO0.867-0.015
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0560.000
predicted_3B0.0010.000
predicted_AB2.9770.000
predicted_AVG0.150-0.038
predicted_BB0.273-0.000
predicted_H0.448-0.006
predicted_HBP0.0390.000
predicted_HR0.027-0.000
predicted_OBP0.222-0.029
predicted_R0.168-0.004
predicted_RBI0.230-0.005
predicted_SLG0.197-0.039
predicted_SO0.8680.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.98), rates preserved: AVG=0.155 HR/AB=0.009

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H0.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1190.119
3B0.0080.008
BB0.2110.211
H0.6880.688
HR0.0720.072
RBI0.3070.307
SO0.693-0.307
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.119
3B0.000-0.008
AB3.0000.000
BB0.000-0.211
H0.000-0.688
HR0.000-0.072
R0.0000.000
RBI0.000-0.307
SO1.0000.307
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.056
predicted_3B0.000-0.001
predicted_AB3.0000.023
predicted_AVG0.2340.084
predicted_BB0.000-0.273
predicted_H0.000-0.448
predicted_HR0.000-0.027
predicted_OBP0.2910.069
predicted_R0.000-0.168
predicted_RBI0.000-0.230
predicted_SLG0.3530.156
predicted_SO1.0000.132
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 34
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0004.0001.0000.0000.0001.0001.0001.0004.0000.28570.33330.35710.28570.00000.07140.07140.2857
last_100.2010-25.0006.0001.0000.0000.0003.0001.0001.0007.0000.24000.29630.28000.24000.00000.12000.04000.2800
season0.6034-100.00011.0001.0000.0000.0006.0005.00010.00030.0000.11000.19820.12000.11000.00000.06000.10000.3000
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0980
predicted_3B0.0030
predicted_AB3.0330
predicted_AVG0.1875
predicted_BB0.2410
predicted_H0.5690
predicted_HBP0.0390
predicted_HR0.0220
predicted_OBP0.2577
predicted_R0.2100
predicted_RBI0.2590
predicted_SLG0.2437
predicted_SO0.8440
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.02900.09800.0558model_form_blend
predicted_3B0.00000.00300.0012model_form_blend
predicted_AB2.94103.03302.9767model_form_blend
predicted_AVG0.18900.18750.1884model_form_blend
predicted_BB0.29400.24100.2734model_form_blend
predicted_H0.38000.56900.4533model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.03000.02200.0269model_form_blend
predicted_OBP0.24700.25770.2511model_form_blend
predicted_R0.14700.21000.1714model_form_blend
predicted_RBI0.22000.25900.2351model_form_blend
predicted_SLG0.23000.24370.2353model_form_blend
predicted_SO0.88200.84400.8673model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date102
Season rows before report date102
Report year2026
Profile rows used34
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_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
allPositionsPlayedSS
gameID20260907_ATL@PHI
game_typefull
mlbID673490
playerID673490
playerNameHa-Seong Kim
posSS
startedTrue
startingPositionSS
teamATL
teamID2
game_date2026-09-07
sl_k_percent27.0
sl_bb_percent9.0
sl_woba0.161
sl_xwoba0.212
sl_xba0.154
sl_xslg0.207
sl_sweet_spot_percent21.4
sl_barrel_batted_rate2.9
sl_hard_hit_percent24.3
sl_exit_velocity_avg86.0
sl_launch_angle_avg17.6
sl_whiff_percent20.8
sl_swing_percent43.4
Martín Pérez (527048) · PITCHER · Starter · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 28
All-history rows before 20260910: 28

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.9294.000-0.929-3.000
predicted_ER2.0002.0002.000Pitching_ER1.6074.0000.393-2.000
predicted_H4.0004.0004.000Pitching_H3.7147.0000.286-3.000
predicted_IP5.2005.2005.200Pitching_InningsPitched4.3613.2000.8392.000
predicted_SO4.0004.0004.000Pitching_SO3.3573.0000.6431.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_SO: 3.0000 -> 4.0000 (boost 1.0000, better)
Biggest Deboostpredicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail21111predicted_SO: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "527048",
  "player_name": "Martín Pérez",
  "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": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.2,
          "after": 5.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 4.0,
        "delta": 1.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 4.0,
        "delta": 1.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER2.000-
predicted_H4.000-
predicted_HR1.000-
predicted_IP5.667-
predicted_SO3.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER2.0000.000
predicted_H4.0000.000
predicted_HR1.0000.000
predicted_IP5.200-0.467
predicted_SO4.0001.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: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45524.10010.00029.00014.00016.0002.0003.69861.76710.41101.19180.57530.65750.0822
last_100.351047.20017.00045.00024.00033.0004.0003.20981.44760.35660.94410.50350.69230.0839
season0.2027124.20045.000104.00054.00094.00013.0003.24871.26740.36100.83420.43320.75400.1043
Weighted Prediction From Real Data
MetricValue
predicted_BB2.4660
predicted_ER1.9840
predicted_ERA3.6077
predicted_H5.0690
predicted_HR0.4780
predicted_IP5.0000
predicted_SO3.6040
predicted_WHIP1.5224
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00002.46601.8562model_form_blend
predicted_ER2.00001.98401.9907model_form_blend
predicted_ERA-3.60773.6077form_only
predicted_H4.00005.06904.6243model_form_blend
predicted_HR1.00000.47800.6951model_form_blend
predicted_IP5.20005.00005.1000model_form_blend
predicted_SO3.00003.60403.3527model_form_blend
predicted_WHIP-1.52241.5224form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date28
Season rows before report date28
Report year2026
Profile rows used27
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H4
R2
ER2
BB1
SO4
HR1
BF22
Pitches95

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB4
Pitching_Balk0
Pitching_Batters Faced22
Pitching_ER4
Pitching_ERA3.25
Pitching_Flyouts3
Pitching_Groundouts2
Pitching_H7
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.2
Pitching_Pitches84
Pitching_R4
Pitching_SO3
Pitching_Strikes49
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260905_ATL@PHI
game_typefull
mlbID527048
playerID527048
playerNameMartín Pérez
posP
startedTrue
startingPositionP
teamATL
teamID2
game_date2026-09-05
sl_k_percent18.0
sl_bb_percent10.4
sl_woba0.302
sl_xwoba0.334
sl_sweet_spot_percent35.1
sl_barrel_batted_rate5.4
sl_hard_hit_percent38.1
sl_whiff_percent21.9
sl_swing_percent42.8
sl_avg_best_speed76.704452802
sl_avg_hyper_speed94.098445344
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 20260910: 52
All-history rows before 20260910: 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.3650.0000.6351.000
predicted_ER2.0002.0002.000Pitching_ER0.3271.0001.6731.000
predicted_H3.0003.0003.000Pitching_H0.9811.0002.0192.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.1602.000-0.060-0.900
predicted_SO1.0001.0001.000Pitching_SO1.6544.000-0.654-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics2
Boosted Metrics0
Deboosted Metrics2
Better Metrics0
Worse Metrics2
Biggest Boost-
Biggest Deboostpredicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final20202-predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "800311",
  "player_name": "Didier Fuentes",
  "position": "Middle Reliever (High Leverage)",
  "team": "ATL",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 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.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 0,
      "deboosted_metrics": 2,
      "better_metrics": 0,
      "worse_metrics": 2,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER2.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP1.333-
predicted_SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 51
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4558.0001.0004.0004.00010.0001.0001.12501.00000.12500.50000.50001.25000.1250
last_100.351013.2003.00011.0004.00018.0002.0001.97561.09760.21950.80490.29271.31710.1463
season0.205164.20017.00051.00018.00083.0005.0002.36601.06700.26290.78870.27831.28350.0773
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5480
predicted_ER0.3940
predicted_ERA2.4619
predicted_H1.0810
predicted_HR0.1870
predicted_IP1.1000
predicted_SO1.7100
predicted_WHIP1.1298
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.54800.7591model_form_blend
predicted_ER2.00000.39401.1441model_form_blend
predicted_ERA-2.46192.4619form_only
predicted_H3.00001.08101.9772model_form_blend
predicted_HR0.00000.18700.0997model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO2.00001.71001.8454model_form_blend
predicted_WHIP-1.12981.1298form_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.1
H3
R2
ER2
BB1
SO1
HR0
BF8
Pitches30

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER1
Pitching_ERA2.34
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches29
Pitching_R1
Pitching_SO4
Pitching_Strikes20
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260907_ATL@PHI
game_typefull
mlbID800311
playerID800311
playerNameDidier Fuentes
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-09-07
sl_k_percent31.8
sl_bb_percent7.2
sl_woba0.26
sl_xwoba0.269
sl_sweet_spot_percent35.8
sl_barrel_batted_rate6.3
sl_hard_hit_percent35.8
sl_whiff_percent30.2
sl_swing_percent52.8
sl_avg_best_speed78.732049231
sl_avg_hyper_speed93.473257419
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 20260910: 66
All-history rows before 20260910: 66

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2270.000-0.2270.000
predicted_ER0.0000.0000.000Pitching_ER0.2730.000-0.2730.000
predicted_H0.0000.0000.000Pitching_H0.6060.000-0.6060.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8231.0000.1770.000
predicted_SO1.0001.0001.000Pitching_SO1.1361.000-0.1360.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "669276",
  "player_name": "Dylan Lee",
  "position": "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": 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: 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.0003.0007.0000.0003.0000.0006.75001.75000.75001.75000.00000.75000.0000
last_100.35108.2004.0009.0002.0009.0000.0004.15381.26920.46151.03850.23081.03850.0000
season0.206562.00016.00037.00014.00075.0003.0002.32260.82260.25810.59680.22581.20970.0484
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1750
predicted_ER0.4790
predicted_ERA4.8333
predicted_H1.0580
predicted_HR0.0440
predicted_IP1.0000
predicted_SO0.8410
predicted_WHIP1.3815
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.17500.0926model_form_blend
predicted_ER0.00000.47900.2536model_form_blend
predicted_ERA-4.83334.8333form_only
predicted_H0.00001.05800.5601model_form_blend
predicted_HR0.00000.04400.0233model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.84100.9158model_form_blend
predicted_WHIP-1.38151.3815form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date66
Season rows before report date66
Report year2026
Profile rows used65
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
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 Faced3
Pitching_ER0
Pitching_ERA2.61
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_Strikes9
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260906_ATL@PHI
game_typefull
mlbID669276
playerID669276
playerNameDylan Lee
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-09-06
sl_k_percent31.4
sl_bb_percent6.3
sl_woba0.23
sl_xwoba0.245
sl_sweet_spot_percent35.6
sl_barrel_batted_rate5.4
sl_hard_hit_percent32.2
sl_whiff_percent36.5
sl_swing_percent52.7
sl_avg_best_speed76.919345479
sl_avg_hyper_speed93.067645862
Raisel Iglesias (628452) · PITCHER · Closer · Team ATL
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 52
All-history rows before 20260910: 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.3080.000-0.3080.000
predicted_ER2.0002.0002.000Pitching_ER0.3080.0001.6922.000
predicted_H3.0003.0003.000Pitching_H0.8651.0002.1352.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9791.0000.0210.000
predicted_SO1.0001.0001.000Pitching_SO1.0581.000-0.0580.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "628452",
  "player_name": "Raisel Iglesias",
  "position": "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": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 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_ER2.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 52
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0003.0001.0004.0000.0000.00000.80000.00000.60000.20000.80000.0000
last_100.351010.1002.0007.0004.0007.0001.0001.74191.06450.19350.67740.38710.67740.0968
season0.205253.00016.00045.00016.00055.0005.0002.71701.15090.30190.84910.30191.03770.0943
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3130
predicted_ER0.2480
predicted_ERA2.2275
predicted_H0.7710
predicted_HR0.0830
predicted_IP1.0000
predicted_SO0.8480
predicted_WHIP1.0843
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.31300.1613model_form_blend
predicted_ER2.00000.24801.0970model_form_blend
predicted_ERA-2.22752.2275form_only
predicted_H3.00000.77101.8511model_form_blend
predicted_HR0.00000.08300.0428model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.84800.9217model_form_blend
predicted_WHIP-1.08431.0843form_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 used52
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
SO1
HR0
BF6
Pitches22

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA2.72
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches13
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260906_ATL@PHI
game_typefull
mlbID628452
playerID628452
playerNameRaisel Iglesias
posP
startedFalse
startingPositionP
teamATL
teamID2
game_date2026-09-06
sl_k_percent25.7
sl_bb_percent7.5
sl_woba0.285
sl_xwoba0.293
sl_sweet_spot_percent33.8
sl_barrel_batted_rate9.9
sl_hard_hit_percent36.6
sl_whiff_percent29.8
sl_swing_percent52.2
sl_avg_best_speed77.376844789
sl_avg_hyper_speed93.470710993

20260910_TEX@SEA

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.52729605, "home_win_probability": 0.52729605, "away_win_probability": 0.47270395, "predicted_score_text": "TEX 4 - 5 SEA", "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": "TEX", "original_runs": 4, "run_delta": -0.1222, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 31.0, "quality": 0.07818337883253483, "contact": -0.026179703635307663, "power": 0.1868388864064142, "discipline": -0.0763874831145819, "xwoba": 0.3118064516129032, "recent_xwoba": 0.3118064516129032, "barrel": 8.390322580645162, "ab_hard_contact": -0.006116281088303769, "ab_bat_speed": 69.72676442585455, "ab_strikeout_rate": 0.24197013983318358, "available_players": 9, "top_players": [{"player_id": "670032", "player_name": "Nicky Lopez", "position": "2B", "weight": 3.0, "quality": -0.9971558859904889, "contact": -0.9168752972809551, "power": -1.5052883908677575, "discipline": -0.1263151927437639, "xwoba": 0.262, "recent_xwoba": 0.262, "barrel": 0.0, "ab_hard_contact": -1.3651963887837217, "ab_bat_speed": 63.06648412698413, "ab_strikeout_rate": 0.17904761904761904, "available": 1.0}, {"player_id": "608369", "player_name": "Corey Seager", "position": "SS", "weight": 4.0, "quality": 0.8901071653682047, "contact": 0.6968298422882053, "power": 1.382602266296098, "discipline": 0.04311770768913656, "xwoba": 0.354, "recent_xwoba": 0.354, "barrel": 15.2, "ab_hard_contact": 0.8482358021124466, "ab_bat_speed": 70.4043578042328, "ab_strikeout_rate": 0.2507575757575758, "available": 1.0}, {"player_id": "607043", "player_name": "Brandon Nimmo", "position": "RF", "weight": 4.0, "quality": 0.8385065734020964, "contact": 1.0115469968516972, "power": 0.9577841503851475, "discipline": 0.004093537414966169, "xwoba": 0.35, "recent_xwoba": 0.35, "barrel": 9.8, "ab_hard_contact": 0.40215919817914697, "ab_bat_speed": 71.1449591600529, "ab_strikeout_rate": 0.2101388888888889, "available": 1.0}, {"player_id": "592626", "player_name": "Joc Pederson", "position": "DH", "weight": 3.0, "quality": 0.6267788426182264, "contact": 0.5925630165050901, "power": 0.950526970849266, "discipline": 0.10797810687696932, "xwoba": 0.342, "recent_xwoba": 0.342, "barrel": 11.3, "ab_hard_contact": 0.45815846460436815, "ab_bat_speed": 70.64451923894558, "ab_strikeout_rate": 0.24218289085545724, "available": 1.0}, {"player_id": "643376", "player_name": "Danny Jansen", "position": "C", "weight": 3.0, "quality": -0.59963080230111, "contact": -1.3622823091006835, "power": -0.6648707766495708, "discipline": -0.4131842403628116, "xwoba": 0.255, "recent_xwoba": 0.255, "barrel": 7.3, "ab_hard_contact": -0.8204631520390306, "ab_bat_speed": 67.67812847222221, "ab_strikeout_rate": 0.29791666666666666, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "669302", "player_name": "Logan Gilbert", "quality": 0.17113239741902475, "contact": 0.08894741653470595, "command": 0.39368542568542586, "movement": 0.06327113017376106, "xwoba": 0.299, "whiff": 29.7, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}, "home": {"team": "SEA", "original_runs": 5, "run_delta": -0.281, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.1958256620737958, "contact": -0.015399278592242743, "power": 0.22683208166933982, "discipline": 0.036712589519918425, "xwoba": 0.3197272727272728, "recent_xwoba": 0.3197272727272728, "barrel": 9.254545454545456, "ab_hard_contact": 0.02415678490195517, "ab_bat_speed": 71.03474942260918, "ab_strikeout_rate": 0.22679849066973337, "available_players": 8, "top_players": [{"player_id": "686527", "player_name": "Dominic Canzone", "position": "DH", "weight": 4.0, "quality": 0.7231527589569221, "contact": 0.7405964591878701, "power": 1.0517456506545129, "discipline": -0.05440409619505264, "xwoba": 0.353, "recent_xwoba": 0.353, "barrel": 12.1, "ab_hard_contact": 0.39415110832836436, "ab_bat_speed": 73.2972612130479, "ab_strikeout_rate": 0.21620795107033638, "available": 1.0}, {"player_id": "677594", "player_name": "Julio Rodríguez", "position": "CF", "weight": 4.0, "quality": 0.46115671173731587, "contact": 0.4838649792078857, "power": 0.581608987254112, "discipline": -0.2809329872299794, "xwoba": 0.334, "recent_xwoba": 0.334, "barrel": 8.9, "ab_hard_contact": 0.8306559355584355, "ab_bat_speed": 75.419988791423, "ab_strikeout_rate": 0.2161654135338346, "available": 1.0}, {"player_id": "801126", "player_name": "Brock Rodden", "position": "3B", "weight": 3.0, "quality": -0.1156755091370295, "contact": -1.5533049156483028, "power": -1.212677763285431, "discipline": -0.06626757369614486, "xwoba": 0.235, "recent_xwoba": 0.235, "barrel": 2.9, "ab_hard_contact": 0.1677780676247122, "ab_bat_speed": 68.75116666666666, "ab_strikeout_rate": 0.35, "available": 1.0}, {"player_id": "668227", "player_name": "Randy Arozarena", "position": "LF", "weight": 4.0, "quality": 0.35472928858294867, "contact": 0.5532466862483878, "power": 0.348558004992077, "discipline": 0.1209664860294402, "xwoba": 0.348, "recent_xwoba": 0.348, "barrel": 7.8, "ab_hard_contact": 0.13230295698441075, "ab_bat_speed": 69.4271574858757, "ab_strikeout_rate": 0.22048022598870057, "available": 1.0}, {"player_id": "703155", "player_name": "Lazaro Montes", "position": "RF", "weight": 3.0, "quality": -0.0, "contact": -0.9317142857142857, "power": 1.2788571428571425, "discipline": -1.2625, "xwoba": 0.315, "recent_xwoba": 0.315, "barrel": 22.2, "ab_hard_contact": -2.0, "ab_bat_speed": 70.2755304975923, "ab_strikeout_rate": 0.22291666666666665, "available": 0.0}]}, "opposing_starter": {"available": true, "player_id": "594798", "player_name": "Jacob deGrom", "quality": 0.4275384388990785, "contact": 0.22194243175740444, "command": 0.7462568542568543, "movement": 1.0405099158082907, "xwoba": 0.292, "whiff": 33.6, "faced_est_woba": 0.26541733460317457, "faced_launch_speed": 83.81434201388889, "faced_strikeout_rate": 0.23528880070546737, "faced_run_exp": 0.006577674603174594}}}, "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.3715, "recent_form_edge_home_minus_away": -0.61, "pitcher_matchup_edge_home_minus_away": -0.0312, "composite_home_edge": -0.2455, "existing_home_win_probability": 0.5378, "refreshed_home_win_probability": 0.3797, "winner_support_before_review": -0.2455}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.53778, "uncapped_away_win_probability": 0.46222, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.53778, "discount_factor": 0.7225, "published_confidence": 0.527296, "guardrail_confidence_cap": 0.56, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "projected_margin_is_one_run", "factor": 0.85}, {"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.379675, "incoming_favoured_side": "away", "score_winner_side": "home", "published_home_win_probability": 0.527296, "probability_side_reverted_by_score": true, "note": "An upstream probability step favoured the side the projected score does not, so the published probability follows the score. The upstream flip did not reach the published winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 5, "predicted_score_text": "TEX 4 - 5 SEA", "confidence": 0.52729605, "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": "TEX 4 - 5 SEA", "winner": "SEA"}, "final_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "TEX 4 - 5 SEA", "winner": "SEA"}, "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.0312, "recent_form_edge_home_minus_away": -0.61, "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": "SEA", "model_winner": "SEA", "simulation_winner": "SEA", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 2, "published_winner": "SEA", "published_winner_draw_share": 1.0, "draw_majority_team": "SEA", "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.3715, "winner": "SEA", "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": "SEA", "display_confidence": 0.5273, "internal_signal_score": 0.5415, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5273, "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": 1, "winner_quality_edge": -0.3715, "winner_recent_form_edge": -0.54, "winner_pitcher_matchup_edge": -0.0312, "winner_simulation_draw_rate": 1.0, "blowout_draw_rate_margin_4_plus": 0.0, "high_total_draw_rate_11_plus": 0.5, "low_total_draw_rate_6_or_less": 0.0, "total_runs_spread": {"min": 9, "median": 14, "max": 14, "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 predictionTEX 4 - 5 SEASEA0.527enhanced_prediction.pre_simulation_targetTrue
Simulation drawTEX 4 - 5 SEASEA-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.5501; weight=0.5000; final=0.5301
P1H2H margin as base featureavailablehome net=-12; abs=12; home delta=-0.0692; away delta=0.0692
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=1.7500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=-0.2808; recent edge=-0.5400; 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.5273
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.9034.348-Base ML historical model prediction
2variance_applied44-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction450.5273Enhanced 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.4795093333333334,
  "base_low_score_probability": 0.4305010893246187,
  "low_score_signal_threshold": 0.5105010893246187,
  "low_score_signal_strength": 0.049008244008714674,
  "confidence": 0.6569200000000001,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.0,
    "team_form": 1.0,
    "situational": 1.04,
    "combined": 1.1138400000000002
  },
  "prediction": "normal_scoring",
  "expected_total_runs": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 9.6,
  "low_score_model_expected_total_runs": 9.6,
  "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": 549,
  "near_bucket_sample_size": 549,
  "medium_bucket_sample_size": 753,
  "wide_bucket_sample_size": 863,
  "global_sample_size": 882,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5501,
  "bayesian_hit_rate": 0.5485,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5634,
  "raw_pick_probability_unclamped": 0.5634,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.5083,
  "margin_implied_pick_probability": 0.5083,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5386,
  "score_implied_floor_pick_probability": 0.5081,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.563386,
  "uncapped_away_win_probability": 0.436614,
  "calibrated_pick_probability": 0.5378,
  "predicted_side": "home",
  "reliability": 0.968254,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.979365
}
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": 549,
  "empirical_hit_rate": 0.5501,
  "empirical_weight": 0.5,
  "blended_confidence": 0.5301,
  "published_confidence": 0.527296,
  "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": -12.0,
  "absolute_net_margin": 12.0,
  "home_average_margin": -2.4,
  "home_run_delta": -0.0692,
  "away_run_delta": 0.0692,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -5.0
    },
    {
      "game_id": null,
      "home_margin": -4.0
    },
    {
      "game_id": null,
      "home_margin": 2.0
    },
    {
      "game_id": null,
      "home_margin": -6.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": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4657534246575342,
    "runs_scored": 577,
    "runs_allowed": 652,
    "run_differential": -75,
    "run_differential_per_game": -0.5136986301369864,
    "available": true
  },
  "away": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4931506849315068,
    "runs_scored": 607,
    "runs_allowed": 647,
    "run_differential": -40,
    "run_differential_per_game": -0.273972602739726,
    "available": true
  },
  "run_differential_edge_per_game": -0.2397,
  "win_pct_edge": -0.0274,
  "quality_edge": -0.3715,
  "season_quality_edge": -0.2808,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.2808,
    "recent_quality_edge": -0.54,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "aligned",
    "blended_quality_edge": -0.3715
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.02201285249751714
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.021845958204836587
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.021556483639830825
    },
    {
      "home_runs": 5,
      "away_runs": 5,
      "probability": 0.02139304938749323
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.019706266640635652
    }
  ],
  "home_distribution": {
    "0": 0.041878282018934766,
    "1": 0.06953694913895442,
    "2": 0.1015218230257107,
    "3": 0.13032273417435353,
    "4": 0.1470950160342283,
    "5": 0.14597978943373952,
    "6": 0.12738095709976402,
    "7": 0.09773121150634498,
    "8": 0.0659293899341725,
    "9": 0.03910585914343131,
    "10": 0.020394901214384135,
    "11": 0.009352298942868174,
    "12": 0.0037707883331136423
  },
  "away_distribution": {
    "0": 0.0436282959822752,
    "1": 0.07233547530825109,
    "2": 0.10513905152585003,
    "3": 0.13396964201730735,
    "4": 0.14965056662691315,
    "5": 0.1465480219589135,
    "6": 0.12580884720203214,
    "7": 0.09468300470589493,
    "8": 0.062468705560644905,
    "9": 0.03613121856003512,
    "10": 0.018320289722052106,
    "11": 0.008143511100809396,
    "12": 0.003173369729021185
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 1.75,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.56,
  "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"
  ],
  "signals": {
    "predicted_team": "SEA",
    "opponent_team": "TEX",
    "h2h_net_margin": -8,
    "opponent_breakout": true,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-09",
        "predicted_team_runs": 3,
        "opponent_runs": 2,
        "margin_for_predicted_team": 1,
        "winner": "SEA"
      },
      {
        "date": "2026-09-08",
        "predicted_team_runs": 5,
        "opponent_runs": 10,
        "margin_for_predicted_team": -5,
        "winner": "TEX"
      },
      {
        "date": "2026-07-27",
        "predicted_team_runs": 3,
        "opponent_runs": 7,
        "margin_for_predicted_team": -4,
        "winner": "TEX"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 5,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20260909",
          "away": "TEX",
          "home": "SEA",
          "game_number": 1,
          "predicted_team": "TEX",
          "actual_winner": "SEA",
          "actual_margin": 1,
          "raw_pick_probability": 0.5487230000000001,
          "artifact": "20260909_TEX@SEA.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260908",
          "away": "TEX",
          "home": "SEA",
          "game_number": 1,
          "predicted_team": "TEX",
          "actual_winner": "TEX",
          "actual_margin": 5,
          "raw_pick_probability": 0.5248079999999999,
          "artifact": "20260908_TEX@SEA.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260727",
          "away": "SEA",
          "home": "TEX",
          "game_number": 1,
          "predicted_team": "TEX",
          "actual_winner": "TEX",
          "actual_margin": 4,
          "raw_pick_probability": 0.56,
          "artifact": "20260727_SEA@TEX.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260726",
          "away": "SEA",
          "home": "TEX",
          "game_number": 1,
          "predicted_team": "TEX",
          "actual_winner": "SEA",
          "actual_margin": 2,
          "raw_pick_probability": 0.514299,
          "artifact": "20260726_SEA@TEX.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260724",
          "away": "SEA",
          "home": "TEX",
          "game_number": 1,
          "predicted_team": "SEA",
          "actual_winner": "TEX",
          "actual_margin": 1,
          "raw_pick_probability": 0.64,
          "artifact": "20260724_SEA@TEX.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "SEA",
    "guardrail_opponent_team": "TEX",
    "output_pre_simulation_winner": "SEA",
    "output_opponent_team": "TEX",
    "simulation_score_winner": "SEA",
    "final_score_winner": "SEA",
    "pre_simulation_winner": "SEA",
    "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": "TEX 4 - 5 SEA",
      "winner": "SEA"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "TEX 4 - 5 SEA",
      "winner": "SEA"
    },
    "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.0312,
      "recent_form_edge_home_minus_away": -0.61,
      "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": "SEA",
      "model_winner": "SEA",
      "simulation_winner": "SEA",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "SEA",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "SEA",
        "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.3715,
      "winner": "SEA",
      "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": "SEA",
      "games": 146,
      "wins": 68,
      "losses": 78,
      "win_pct": 0.4657534246575342,
      "runs_scored": 577,
      "runs_allowed": 652,
      "run_differential": -75,
      "run_differential_per_game": -0.5136986301369864,
      "available": true
    },
    "away": {
      "team": "TEX",
      "games": 146,
      "wins": 72,
      "losses": 74,
      "win_pct": 0.4931506849315068,
      "runs_scored": 607,
      "runs_allowed": 647,
      "run_differential": -40,
      "run_differential_per_game": -0.273972602739726,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.3715,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.5301,
  "final_confidence": 0.5378,
  "calibrated_pick_probability": 0.5378,
  "shrinkage_weight": 0.979365,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 549,
  "calibration_empirical_hit_rate": 0.5501,
  "calibration_bayesian_hit_rate": 0.5485,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.3715,
  "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.53778,
    "margin_implied_home_probability": 0.581951,
    "shrinkage_weight": 0.979365,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.53778,
    "aligned_pick_probability": 0.53778
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 27,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "TEX 4 - 5 SEA",
    "winner": "SEA"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "TEX 4 - 5 SEA",
    "winner": "SEA"
  },
  "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.0312,
    "recent_form_edge_home_minus_away": -0.61,
    "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": "SEA",
    "model_winner": "SEA",
    "simulation_winner": "SEA",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 2,
      "published_winner": "SEA",
      "published_winner_draw_share": 1.0,
      "draw_majority_team": "SEA",
      "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.3715,
    "winner": "SEA",
    "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.52729605,
  "home_win_probability": 0.52729605,
  "away_win_probability": 0.47270395,
  "predicted_score_text": "TEX 4 - 5 SEA",
  "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": "TEX",
      "original_runs": 4,
      "run_delta": -0.1222,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 31.0,
        "quality": 0.07818337883253483,
        "contact": -0.026179703635307663,
        "power": 0.1868388864064142,
        "discipline": -0.0763874831145819,
        "xwoba": 0.3118064516129032,
        "recent_xwoba": 0.3118064516129032,
        "barrel": 8.390322580645162,
        "ab_hard_contact": -0.006116281088303769,
        "ab_bat_speed": 69.72676442585455,
        "ab_strikeout_rate": 0.24197013983318358,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "670032",
            "player_name": "Nicky Lopez",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.9971558859904889,
            "contact": -0.9168752972809551,
            "power": -1.5052883908677575,
            "discipline": -0.1263151927437639,
            "xwoba": 0.262,
            "recent_xwoba": 0.262,
            "barrel": 0.0,
            "ab_hard_contact": -1.3651963887837217,
            "ab_bat_speed": 63.06648412698413,
            "ab_strikeout_rate": 0.17904761904761904,
            "available": 1.0
          },
          {
            "player_id": "608369",
            "player_name": "Corey Seager",
            "position": "SS",
            "weight": 4.0,
            "quality": 0.8901071653682047,
            "contact": 0.6968298422882053,
            "power": 1.382602266296098,
            "discipline": 0.04311770768913656,
            "xwoba": 0.354,
            "recent_xwoba": 0.354,
            "barrel": 15.2,
            "ab_hard_contact": 0.8482358021124466,
            "ab_bat_speed": 70.4043578042328,
            "ab_strikeout_rate": 0.2507575757575758,
            "available": 1.0
          },
          {
            "player_id": "607043",
            "player_name": "Brandon Nimmo",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.8385065734020964,
            "contact": 1.0115469968516972,
            "power": 0.9577841503851475,
            "discipline": 0.004093537414966169,
            "xwoba": 0.35,
            "recent_xwoba": 0.35,
            "barrel": 9.8,
            "ab_hard_contact": 0.40215919817914697,
            "ab_bat_speed": 71.1449591600529,
            "ab_strikeout_rate": 0.2101388888888889,
            "available": 1.0
          },
          {
            "player_id": "592626",
            "player_name": "Joc Pederson",
            "position": "DH",
            "weight": 3.0,
            "quality": 0.6267788426182264,
            "contact": 0.5925630165050901,
            "power": 0.950526970849266,
            "discipline": 0.10797810687696932,
            "xwoba": 0.342,
            "recent_xwoba": 0.342,
            "barrel": 11.3,
            "ab_hard_contact": 0.45815846460436815,
            "ab_bat_speed": 70.64451923894558,
            "ab_strikeout_rate": 0.24218289085545724,
            "available": 1.0
          },
          {
            "player_id": "643376",
            "player_name": "Danny Jansen",
            "position": "C",
            "weight": 3.0,
            "quality": -0.59963080230111,
            "contact": -1.3622823091006835,
            "power": -0.6648707766495708,
            "discipline": -0.4131842403628116,
            "xwoba": 0.255,
            "recent_xwoba": 0.255,
            "barrel": 7.3,
            "ab_hard_contact": -0.8204631520390306,
            "ab_bat_speed": 67.67812847222221,
            "ab_strikeout_rate": 0.29791666666666666,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "669302",
        "player_name": "Logan Gilbert",
        "quality": 0.17113239741902475,
        "contact": 0.08894741653470595,
        "command": 0.39368542568542586,
        "movement": 0.06327113017376106,
        "xwoba": 0.299,
        "whiff": 29.7,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    },
    "home": {
      "team": "SEA",
      "original_runs": 5,
      "run_delta": -0.281,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.1958256620737958,
        "contact": -0.015399278592242743,
        "power": 0.22683208166933982,
        "discipline": 0.036712589519918425,
        "xwoba": 0.3197272727272728,
        "recent_xwoba": 0.3197272727272728,
        "barrel": 9.254545454545456,
        "ab_hard_contact": 0.02415678490195517,
        "ab_bat_speed": 71.03474942260918,
        "ab_strikeout_rate": 0.22679849066973337,
        "available_players": 8,
        "top_players": [
          {
            "player_id": "686527",
            "player_name": "Dominic Canzone",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.7231527589569221,
            "contact": 0.7405964591878701,
            "power": 1.0517456506545129,
            "discipline": -0.05440409619505264,
            "xwoba": 0.353,
            "recent_xwoba": 0.353,
            "barrel": 12.1,
            "ab_hard_contact": 0.39415110832836436,
            "ab_bat_speed": 73.2972612130479,
            "ab_strikeout_rate": 0.21620795107033638,
            "available": 1.0
          },
          {
            "player_id": "677594",
            "player_name": "Julio Rodríguez",
            "position": "CF",
            "weight": 4.0,
            "quality": 0.46115671173731587,
            "contact": 0.4838649792078857,
            "power": 0.581608987254112,
            "discipline": -0.2809329872299794,
            "xwoba": 0.334,
            "recent_xwoba": 0.334,
            "barrel": 8.9,
            "ab_hard_contact": 0.8306559355584355,
            "ab_bat_speed": 75.419988791423,
            "ab_strikeout_rate": 0.2161654135338346,
            "available": 1.0
          },
          {
            "player_id": "801126",
            "player_name": "Brock Rodden",
            "position": "3B",
            "weight": 3.0,
            "quality": -0.1156755091370295,
            "contact": -1.5533049156483028,
            "power": -1.212677763285431,
            "discipline": -0.06626757369614486,
            "xwoba": 0.235,
            "recent_xwoba": 0.235,
            "barrel": 2.9,
            "ab_hard_contact": 0.1677780676247122,
            "ab_bat_speed": 68.75116666666666,
            "ab_strikeout_rate": 0.35,
            "available": 1.0
          },
          {
            "player_id": "668227",
            "player_name": "Randy Arozarena",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.35472928858294867,
            "contact": 0.5532466862483878,
            "power": 0.348558004992077,
            "discipline": 0.1209664860294402,
            "xwoba": 0.348,
            "recent_xwoba": 0.348,
            "barrel": 7.8,
            "ab_hard_contact": 0.13230295698441075,
            "ab_bat_speed": 69.4271574858757,
            "ab_strikeout_rate": 0.22048022598870057,
            "available": 1.0
          },
          {
            "player_id": "703155",
            "player_name": "Lazaro Montes",
            "position": "RF",
            "weight": 3.0,
            "quality": -0.0,
            "contact": -0.9317142857142857,
            "power": 1.2788571428571425,
            "discipline": -1.2625,
            "xwoba": 0.315,
            "recent_xwoba": 0.315,
            "barrel": 22.2,
            "ab_hard_contact": -2.0,
            "ab_bat_speed": 70.2755304975923,
            "ab_strikeout_rate": 0.22291666666666665,
            "available": 0.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "594798",
        "player_name": "Jacob deGrom",
        "quality": 0.4275384388990785,
        "contact": 0.22194243175740444,
        "command": 0.7462568542568543,
        "movement": 1.0405099158082907,
        "xwoba": 0.292,
        "whiff": 33.6,
        "faced_est_woba": 0.26541733460317457,
        "faced_launch_speed": 83.81434201388889,
        "faced_strikeout_rate": 0.23528880070546737,
        "faced_run_exp": 0.006577674603174594
      }
    }
  },
  "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.3715,
      "recent_form_edge_home_minus_away": -0.61,
      "pitcher_matchup_edge_home_minus_away": -0.0312,
      "composite_home_edge": -0.2455,
      "existing_home_win_probability": 0.5378,
      "refreshed_home_win_probability": 0.3797,
      "winner_support_before_review": -0.2455
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.53778,
  "uncapped_away_win_probability": 0.46222,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.53778,
    "discount_factor": 0.7225,
    "published_confidence": 0.527296,
    "guardrail_confidence_cap": 0.56,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "projected_margin_is_one_run",
        "factor": 0.85
      },
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.379675,
    "incoming_favoured_side": "away",
    "score_winner_side": "home",
    "published_home_win_probability": 0.527296,
    "probability_side_reverted_by_score": true,
    "note": "An upstream probability step favoured the side the projected score does not, so the published probability follows the score. The upstream flip did not reach the published winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: projected_margin_is_one_run x0.85, matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 5,
    "predicted_score_text": "TEX 4 - 5 SEA",
    "confidence": 0.52729605,
    "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": "TEX 4 - 5 SEA",
      "winner": "SEA"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "TEX 4 - 5 SEA",
      "winner": "SEA"
    },
    "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.0312,
      "recent_form_edge_home_minus_away": -0.61,
      "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": "SEA",
      "model_winner": "SEA",
      "simulation_winner": "SEA",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "SEA",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "SEA",
        "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.3715,
      "winner": "SEA",
      "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": "SEA",
    "display_confidence": 0.5273,
    "internal_signal_score": 0.5415,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5273,
    "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": 1,
      "winner_quality_edge": -0.3715,
      "winner_recent_form_edge": -0.54,
      "winner_pitcher_matchup_edge": -0.0312,
      "winner_simulation_draw_rate": 1.0,
      "blowout_draw_rate_margin_4_plus": 0.0,
      "high_total_draw_rate_11_plus": 0.5,
      "low_total_draw_rate_6_or_less": 0.0,
      "total_runs_spread": {
        "min": 9,
        "median": 14,
        "max": 14,
        "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 TEXTrue1.01611.0161190
Home SEATrue1.02671.0267190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
3BEzequiel Duran1610.0002negative_batter_regression0.30600.24500.38006.50388912.1026.9023.607.90-1.0571
DHJoc Pederson1531.06280.8377neutral0.34200.24100.444011.3050.8092.2016.203023.9011.50-0.2000
LFWyatt Langford781.01040.1385neutral0.31600.23700.39006.6037.108919.8023.5020.7010.50-0.6571
RFBrandon Nimmo1441.08701.1593neutral0.35000.27500.46309.8051.3092.3010.3022.2021.607.800.7429
SSCorey Seager791.09751.2994neutral0.35400.25000.484015.2048.9091.7012.8033.4023.5011.900.8286
CFEvan Carter1270.9660-0.4536neutral0.27900.19900.32005.3035.908817.8028.7024.8010.70-0.0571
1BJake Burger931.03500.4665neutral0.31600.23400.42401246.9090.2013.703426.908.40-0.1714
CDanny Jansen2820.9561-0.5852neutral0.25500.17400.29807.3032.1087.3022.5027.3028.107.90-0.6000
2BNicky Lopez3980.9303-0.9290neutral0.26200.24400.2930021.4084.403.6018.2016.204.30-0.6286

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CCal Raleigh2331.03150.4200neutral0.31500.19200.403015.1038.9089.8025.1031.603113.300.3714
DHDominic Canzone961.08101.0800neutral0.35300.26800.482012.1044.7091.1010.1027.3021.708.800.1429
LFRandy Arozarena171.04930.6577neutral0.34800.25900.41907.8041.8090.609.6026.8021.7010.10-0.5714
SSJ.P. Crawford2401.01820.2431neutral0.32400.23900.35605.7035.6087.9012.2017.3020.5014.500.2571
RFLazaro Montes3721.01270.1691negative_batter_regression0.31500.18700.518022.2033.3089.2021.5051.2047.405.30-0.8857
3BBrock Rodden5660.9521-0.6391negative_batter_regression0.23500.14700.22302.9037.1087.5018.8035.2028.3013.30-1.9143
1BJosh Naylor3321.01870.2500neutral0.31500.27300.38604.4035.3087.1010.8017.5012.807.100.2857
CFJulio Rodríguez841.05990.7987positive_batter_regression0.33400.26300.44208.9043.609013.2027.4022.607.200.9143
2BCole Young291.01670.2232neutral0.31500.26100.38804.7037.1088.1013.6019.5017.206.600.2000
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0267,
    "raw_average_factor": 1.0267,
    "team_espn_average_rank": 218.78,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "C",
        "player_id": "663728",
        "player_name": "Cal Raleigh",
        "offense_factor": 1.0315,
        "quality_score": 0.42,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "663728",
          "espn_id": 41292,
          "player_name": "Cal Raleigh",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 233,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 233,
            "gp_value": 111.0,
            "gp_rank": 169,
            "ab_value": 394.0,
            "ab_rank": 145,
            "r_value": 42.0,
            "r_rank": 199,
            "h_value": 72.0,
            "h_rank": 222,
            "avg_value": 0.1827411,
            "avg_rank": 147.0,
            "2b_value": 13.0,
            "2b_rank": 222,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 21.0,
            "hr_rank": 59,
            "rbi_value": 59.0,
            "rbi_rank": 102,
            "tb_value": 148.0,
            "tb_rank": 1199,
            "bb_value": 62.0,
            "bb_rank": 42,
            "so_value": 143.0,
            "so_rank": 34,
            "sb_value": 2.0,
            "sb_rank": 278,
            "obp_value": 0.2965367,
            "obp_rank": "127",
            "slg_value": 0.3756345,
            "slg_rank": "119",
            "ops_value": 0.6721712,
            "ops_rank": 132.0,
            "war_value": 0.85,
            "war_rank": 126.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 391.0,
          "k_percent": 31.0,
          "bb_percent": 13.3,
          "woba": 0.302,
          "xwoba": 0.315,
          "xba": 0.192,
          "xslg": 0.403,
          "sweet_spot_percent": 34.1,
          "barrel_batted_rate": 15.1,
          "hard_hit_percent": 38.9,
          "exit_velocity_avg": 89.8,
          "launch_angle_avg": 25.1,
          "whiff_percent": 31.6,
          "swing_percent": 50.1
        },
        "components": {
          "expected_quality": 0.4279,
          "regression_edge": 0.3714,
          "xwoba_edge": 0.4286,
          "xba_edge": -1.2571,
          "xslg_edge": 0.5429,
          "barrel_edge": 1.8889,
          "hard_hit_edge": 0.2286,
          "exit_velocity_edge": 0.56,
          "sweet_spot_edge": 0.1333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "686527",
        "player_name": "Dominic Canzone",
        "offense_factor": 1.081,
        "quality_score": 1.08,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "686527",
          "espn_id": 4345621,
          "player_name": "Dominic Canzone",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 96,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 96,
            "gp_value": 130.0,
            "gp_rank": 104,
            "ab_value": 414.0,
            "ab_rank": 127,
            "r_value": 50.0,
            "r_rank": 158,
            "h_value": 105.0,
            "h_rank": 121,
            "avg_value": 0.2536231,
            "avg_rank": 73.0,
            "2b_value": 24.0,
            "2b_rank": 70,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 21.0,
            "hr_rank": 59,
            "rbi_value": 65.0,
            "rbi_rank": 77,
            "tb_value": 196.0,
            "tb_rank": 520,
            "bb_value": 40.0,
            "bb_rank": 135,
            "so_value": 99.0,
            "so_rank": 118,
            "sb_value": 2.0,
            "sb_rank": 278,
            "obp_value": 0.3253796,
            "obp_rank": "79",
            "slg_value": 0.4734299,
            "slg_rank": "30",
            "ops_value": 0.7988095,
            "ops_rank": 48.0,
            "war_value": 2.24,
            "war_rank": 80.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 373.0,
          "k_percent": 21.7,
          "bb_percent": 8.8,
          "woba": 0.348,
          "xwoba": 0.353,
          "xba": 0.268,
          "xslg": 0.482,
          "sweet_spot_percent": 33.5,
          "barrel_batted_rate": 12.1,
          "hard_hit_percent": 44.7,
          "exit_velocity_avg": 91.1,
          "launch_angle_avg": 10.1,
          "whiff_percent": 27.3,
          "swing_percent": 47.6
        },
        "components": {
          "expected_quality": 1.2326,
          "regression_edge": 0.1429,
          "xwoba_edge": 1.5143,
          "xba_edge": 0.9143,
          "xslg_edge": 1.6714,
          "barrel_edge": 1.2222,
          "hard_hit_edge": 1.0571,
          "exit_velocity_edge": 1.08,
          "sweet_spot_edge": 0.0333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "668227",
        "player_name": "Randy Arozarena",
        "offense_factor": 1.0493,
        "quality_score": 0.6577,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "668227",
          "espn_id": 36488,
          "player_name": "Randy Arozarena",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 17,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 17,
            "gp_value": 138.0,
            "gp_rank": 64,
            "ab_value": 512.0,
            "ab_rank": 60,
            "r_value": 93.0,
            "r_rank": 7,
            "h_value": 140.0,
            "h_rank": 35,
            "avg_value": 0.2734375,
            "avg_rank": 37.0,
            "2b_value": 29.0,
            "2b_rank": 22,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 22.0,
            "hr_rank": 49,
            "rbi_value": 67.0,
            "rbi_rank": 68,
            "tb_value": 237.0,
            "tb_rank": 482,
            "bb_value": 60.0,
            "bb_rank": 50,
            "so_value": 130.0,
            "so_rank": 50,
            "sb_value": 21.0,
            "sb_rank": 25,
            "obp_value": 0.3712374,
            "obp_rank": "13",
            "slg_value": 0.4628906,
            "slg_rank": "42",
            "ops_value": 0.834128,
            "ops_rank": 25.0,
            "war_value": 4.61,
            "war_rank": 17.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 506.0,
          "k_percent": 21.7,
          "bb_percent": 10.1,
          "woba": 0.368,
          "xwoba": 0.348,
          "xba": 0.259,
          "xslg": 0.419,
          "sweet_spot_percent": 37.1,
          "barrel_batted_rate": 7.8,
          "hard_hit_percent": 41.8,
          "exit_velocity_avg": 90.6,
          "launch_angle_avg": 9.6,
          "whiff_percent": 26.8,
          "swing_percent": 45.3
        },
        "components": {
          "expected_quality": 0.8578,
          "regression_edge": -0.5714,
          "xwoba_edge": 1.3714,
          "xba_edge": 0.6571,
          "xslg_edge": 0.7714,
          "barrel_edge": 0.2667,
          "hard_hit_edge": 0.6429,
          "exit_velocity_edge": 0.88,
          "sweet_spot_edge": 0.6333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "641487",
        "player_name": "J.P. Crawford",
        "offense_factor": 1.0182,
        "quality_score": 0.2431,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "641487",
          "espn_id": 33210,
          "player_name": "J.P. Crawford",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 240,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 240,
            "gp_value": 101.0,
            "gp_rank": 206,
            "ab_value": 349.0,
            "ab_rank": 190,
            "r_value": 42.0,
            "r_rank": 199,
            "h_value": 77.0,
            "h_rank": 201,
            "avg_value": 0.2206303,
            "avg_rank": null,
            "2b_value": 12.0,
            "2b_rank": 243,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 10.0,
            "hr_rank": 183,
            "rbi_value": 33.0,
            "rbi_rank": 254,
            "tb_value": 119.0,
            "tb_rank": 1571,
            "bb_value": 61.0,
            "bb_rank": 45,
            "so_value": 85.0,
            "so_rank": 164,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.3436754,
            "obp_rank": "-",
            "slg_value": 0.3409742,
            "slg_rank": "-",
            "ops_value": 0.6846496,
            "ops_rank": null,
            "war_value": 0.8,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 362.0,
          "k_percent": 20.5,
          "bb_percent": 14.5,
          "woba": 0.315,
          "xwoba": 0.324,
          "xba": 0.239,
          "xslg": 0.356,
          "sweet_spot_percent": 34.5,
          "barrel_batted_rate": 5.7,
          "hard_hit_percent": 35.6,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 12.2,
          "whiff_percent": 17.3,
          "swing_percent": 38.0
        },
        "components": {
          "expected_quality": 0.2408,
          "regression_edge": 0.2571,
          "xwoba_edge": 0.6857,
          "xba_edge": 0.0857,
          "xslg_edge": -0.1286,
          "barrel_edge": -0.2,
          "hard_hit_edge": -0.2429,
          "exit_velocity_edge": -0.2,
          "sweet_spot_edge": 0.2,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "703155",
        "player_name": "Lazaro Montes",
        "offense_factor": 1.0127,
        "quality_score": 0.1691,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "703155",
          "espn_id": 5124103,
          "player_name": "Lazaro Montes",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 372,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 372,
            "gp_value": 7.0,
            "gp_rank": 605,
            "ab_value": 19.0,
            "ab_rank": 586,
            "r_value": 3.0,
            "r_rank": 539,
            "h_value": 5.0,
            "h_rank": 556,
            "avg_value": 0.2631578,
            "avg_rank": null,
            "2b_value": 1.0,
            "2b_rank": 519,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 2.0,
            "hr_rank": 421,
            "rbi_value": 6.0,
            "rbi_rank": 491,
            "tb_value": 12.0,
            "tb_rank": 2916,
            "bb_value": 1.0,
            "bb_rank": 564,
            "so_value": 9.0,
            "so_rank": 548,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.3,
            "obp_rank": "-",
            "slg_value": 0.6315789,
            "slg_rank": "-",
            "ops_value": 0.9315789,
            "ops_rank": null,
            "war_value": 0.11,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 0.0,
          "k_percent": 47.4,
          "bb_percent": 5.3,
          "woba": 0.346,
          "xwoba": 0.315,
          "xba": 0.187,
          "xslg": 0.518,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 22.2,
          "hard_hit_percent": 33.3,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 21.5,
          "whiff_percent": 51.2,
          "swing_percent": 62.3
        },
        "components": {
          "expected_quality": 0.581,
          "regression_edge": -0.8857,
          "xwoba_edge": 0.4286,
          "xba_edge": -1.4,
          "xslg_edge": 2.1857,
          "barrel_edge": 2.5,
          "hard_hit_edge": -0.5714,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "801126",
        "player_name": "Brock Rodden",
        "offense_factor": 0.9521,
        "quality_score": -0.6391,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "801126",
          "espn_id": 5197107,
          "player_name": "Brock Rodden",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 566,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 566,
            "gp_value": 21.0,
            "gp_rank": 512,
            "ab_value": 51.0,
            "ab_rank": 504,
            "r_value": 6.0,
            "r_rank": 495,
            "h_value": 12.0,
            "h_rank": 489,
            "avg_value": 0.2352941,
            "avg_rank": null,
            "2b_value": 3.0,
            "2b_rank": 447,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 0.0,
            "hr_rank": 529,
            "rbi_value": 4.0,
            "rbi_rank": 521,
            "tb_value": 17.0,
            "tb_rank": 2801,
            "bb_value": 8.0,
            "bb_rank": 422,
            "so_value": 17.0,
            "so_rank": 498,
            "sb_value": 0.0,
            "sb_rank": 436,
            "obp_value": 0.3333333,
            "obp_rank": "-",
            "slg_value": 0.3333333,
            "slg_rank": "-",
            "ops_value": 0.6666666,
            "ops_rank": null,
            "war_value": -0.37,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 21.0,
          "k_percent": 28.3,
          "bb_percent": 13.3,
          "woba": 0.302,
          "xwoba": 0.235,
          "xba": 0.147,
          "xslg": 0.223,
          "sweet_spot_percent": 37.1,
          "barrel_batted_rate": 2.9,
          "hard_hit_percent": 37.1,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 18.8,
          "whiff_percent": 35.2,
          "swing_percent": 45.1
        },
        "components": {
          "expected_quality": -1.3397,
          "regression_edge": -1.9143,
          "xwoba_edge": -1.8571,
          "xba_edge": -2.5,
          "xslg_edge": -2.0286,
          "barrel_edge": -0.8222,
          "hard_hit_edge": -0.0286,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.6333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "647304",
        "player_name": "Josh Naylor",
        "offense_factor": 1.0187,
        "quality_score": 0.25,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "647304",
          "espn_id": 35066,
          "player_name": "Josh Naylor",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 332,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 332,
            "gp_value": 136.0,
            "gp_rank": 77,
            "ab_value": 532.0,
            "ab_rank": 33,
            "r_value": 53.0,
            "r_rank": 147,
            "h_value": 142.0,
            "h_rank": 26,
            "avg_value": 0.2669172,
            "avg_rank": 50.0,
            "2b_value": 20.0,
            "2b_rank": 122,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 10.0,
            "hr_rank": 183,
            "rbi_value": 49.0,
            "rbi_rank": 153,
            "tb_value": 192.0,
            "tb_rank": 1275,
            "bb_value": 41.0,
            "bb_rank": 129,
            "so_value": 74.0,
            "so_rank": 208,
            "sb_value": 26.0,
            "sb_rank": 15,
            "obp_value": 0.3241379,
            "obp_rank": "82",
            "slg_value": 0.3609022,
            "slg_rank": "130",
            "ops_value": 0.6850401,
            "ops_rank": 121.0,
            "war_value": 0.29,
            "war_rank": 135.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 499.0,
          "k_percent": 12.8,
          "bb_percent": 7.1,
          "woba": 0.305,
          "xwoba": 0.315,
          "xba": 0.273,
          "xslg": 0.386,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 4.4,
          "hard_hit_percent": 35.3,
          "exit_velocity_avg": 87.1,
          "launch_angle_avg": 10.8,
          "whiff_percent": 17.5,
          "swing_percent": 51.8
        },
        "components": {
          "expected_quality": 0.2441,
          "regression_edge": 0.2857,
          "xwoba_edge": 0.4286,
          "xba_edge": 1.0571,
          "xslg_edge": 0.3,
          "barrel_edge": -0.4889,
          "hard_hit_edge": -0.2857,
          "exit_velocity_edge": -0.52,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "677594",
        "player_name": "Julio Rodríguez",
        "offense_factor": 1.0599,
        "quality_score": 0.7987,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "677594",
          "espn_id": 41044,
          "player_name": "Julio Rodriguez",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 84,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 84,
            "gp_value": 135.0,
            "gp_rank": 82,
            "ab_value": 536.0,
            "ab_rank": 29,
            "r_value": 65.0,
            "r_rank": 86,
            "h_value": 128.0,
            "h_rank": 71,
            "avg_value": 0.2388059,
            "avg_rank": 106.0,
            "2b_value": 21.0,
            "2b_rank": 107,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 20.0,
            "hr_rank": 66,
            "rbi_value": 61.0,
            "rbi_rank": 93,
            "tb_value": 209.0,
            "tb_rank": 812,
            "bb_value": 42.0,
            "bb_rank": 118,
            "so_value": 133.0,
            "so_rank": 45,
            "sb_value": 20.0,
            "sb_rank": 29,
            "obp_value": 0.298126,
            "obp_rank": "126",
            "slg_value": 0.3899253,
            "slg_rank": "105",
            "ops_value": 0.6880513,
            "ops_rank": 119.0,
            "war_value": 2.53,
            "war_rank": 71.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 495.0,
          "k_percent": 22.6,
          "bb_percent": 7.2,
          "woba": 0.302,
          "xwoba": 0.334,
          "xba": 0.263,
          "xslg": 0.442,
          "sweet_spot_percent": 32.4,
          "barrel_batted_rate": 8.9,
          "hard_hit_percent": 43.6,
          "exit_velocity_avg": 90.0,
          "launch_angle_avg": 13.2,
          "whiff_percent": 27.4,
          "swing_percent": 51.9
        },
        "components": {
          "expected_quality": 0.7798,
          "regression_edge": 0.9143,
          "xwoba_edge": 0.9714,
          "xba_edge": 0.7714,
          "xslg_edge": 1.1,
          "barrel_edge": 0.5111,
          "hard_hit_edge": 0.9,
          "exit_velocity_edge": 0.64,
          "sweet_spot_edge": -0.15,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "702284",
        "player_name": "Cole Young",
        "offense_factor": 1.0167,
        "quality_score": 0.2232,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "702284",
          "espn_id": 5080641,
          "player_name": "Cole Young",
          "team": "SEA",
          "role": "batter",
          "espn_rank": 29,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 29,
            "gp_value": 145.0,
            "gp_rank": 12,
            "ab_value": 526.0,
            "ab_rank": 41,
            "r_value": 69.0,
            "r_rank": 67,
            "h_value": 130.0,
            "h_rank": 65,
            "avg_value": 0.2471482,
            "avg_rank": 86.0,
            "2b_value": 18.0,
            "2b_rank": 149,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 16.0,
            "hr_rank": 106,
            "rbi_value": 60.0,
            "rbi_rank": 96,
            "tb_value": 202.0,
            "tb_rank": 606,
            "bb_value": 38.0,
            "bb_rank": 148,
            "so_value": 100.0,
            "so_rank": 113,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3108808,
            "obp_rank": "108",
            "slg_value": 0.3840304,
            "slg_rank": "114",
            "ops_value": 0.6949112,
            "ops_rank": 115.0,
            "war_value": 4.27,
            "war_rank": 27.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 505.0,
          "k_percent": 17.2,
          "bb_percent": 6.6,
          "woba": 0.308,
          "xwoba": 0.315,
          "xba": 0.261,
          "xslg": 0.388,
          "sweet_spot_percent": 32.9,
          "barrel_batted_rate": 4.7,
          "hard_hit_percent": 37.1,
          "exit_velocity_avg": 88.1,
          "launch_angle_avg": 13.6,
          "whiff_percent": 19.5,
          "swing_percent": 48.1
        },
        "components": {
          "expected_quality": 0.227,
          "regression_edge": 0.2,
          "xwoba_edge": 0.4286,
          "xba_edge": 0.7143,
          "xslg_edge": 0.3286,
          "barrel_edge": -0.4222,
          "hard_hit_edge": -0.0286,
          "exit_velocity_edge": -0.12,
          "sweet_spot_edge": -0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0161,
    "raw_average_factor": 1.0161,
    "team_espn_average_rank": 152.22,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "3B",
        "player_id": "677649",
        "player_name": "Ezequiel Duran",
        "offense_factor": 1.0,
        "quality_score": 0.0002,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": true,
          "player_id": "677649",
          "espn_id": 42457,
          "player_name": "Ezequiel Duran",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 16,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 16,
            "gp_value": 137.0,
            "gp_rank": 68,
            "ab_value": 481.0,
            "ab_rank": 86,
            "r_value": 66.0,
            "r_rank": 81,
            "h_value": 131.0,
            "h_rank": 61,
            "avg_value": 0.2723492,
            "avg_rank": 40.0,
            "2b_value": 26.0,
            "2b_rank": 47,
            "3b_value": 4.0,
            "3b_rank": 19,
            "hr_value": 17.0,
            "hr_rank": 92,
            "rbi_value": 78.0,
            "rbi_rank": 40,
            "tb_value": 216.0,
            "tb_rank": 422,
            "bb_value": 42.0,
            "bb_rank": 118,
            "so_value": 125.0,
            "so_rank": 62,
            "sb_value": 11.0,
            "sb_rank": 78,
            "obp_value": 0.3327067,
            "obp_rank": "69",
            "slg_value": 0.4490644,
            "slg_rank": "50",
            "ops_value": 0.7817711,
            "ops_rank": 56.0,
            "war_value": 4.65,
            "war_rank": 16.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 440.0,
          "k_percent": 23.6,
          "bb_percent": 7.9,
          "woba": 0.343,
          "xwoba": 0.306,
          "xba": 0.245,
          "xslg": 0.38,
          "sweet_spot_percent": 35.5,
          "barrel_batted_rate": 6.5,
          "hard_hit_percent": 38.0,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 12.1,
          "whiff_percent": 26.9,
          "swing_percent": 51.4
        },
        "components": {
          "expected_quality": 0.1723,
          "regression_edge": -1.0571,
          "xwoba_edge": 0.1714,
          "xba_edge": 0.2571,
          "xslg_edge": 0.2143,
          "barrel_edge": -0.0222,
          "hard_hit_edge": 0.1,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": 0.3667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "592626",
        "player_name": "Joc Pederson",
        "offense_factor": 1.0628,
        "quality_score": 0.8377,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "592626",
          "espn_id": 31392,
          "player_name": "Joc Pederson",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 153,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 153,
            "gp_value": 133.0,
            "gp_rank": 94,
            "ab_value": 364.0,
            "ab_rank": 172,
            "r_value": 55.0,
            "r_rank": 132,
            "h_value": 85.0,
            "h_rank": 183,
            "avg_value": 0.2335164,
            "avg_rank": null,
            "2b_value": 11.0,
            "2b_rank": 263,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 25.0,
            "hr_rank": 29,
            "rbi_value": 50.0,
            "rbi_rank": 147,
            "tb_value": 175.0,
            "tb_rank": 685,
            "bb_value": 49.0,
            "bb_rank": 81,
            "so_value": 100.0,
            "so_rank": 113,
            "sb_value": 2.0,
            "sb_rank": 278,
            "obp_value": 0.3285714,
            "obp_rank": "-",
            "slg_value": 0.4807692,
            "slg_rank": "-",
            "ops_value": 0.8093406,
            "ops_rank": null,
            "war_value": 1.59,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 376.0,
          "k_percent": 23.9,
          "bb_percent": 11.5,
          "woba": 0.349,
          "xwoba": 0.342,
          "xba": 0.241,
          "xslg": 0.444,
          "sweet_spot_percent": 30.5,
          "barrel_batted_rate": 11.3,
          "hard_hit_percent": 50.8,
          "exit_velocity_avg": 92.2,
          "launch_angle_avg": 16.2,
          "whiff_percent": 30.0,
          "swing_percent": 46.9
        },
        "components": {
          "expected_quality": 1.0067,
          "regression_edge": -0.2,
          "xwoba_edge": 1.2,
          "xba_edge": 0.1429,
          "xslg_edge": 1.1286,
          "barrel_edge": 1.0444,
          "hard_hit_edge": 1.9286,
          "exit_velocity_edge": 1.52,
          "sweet_spot_edge": -0.4667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "694671",
        "player_name": "Wyatt Langford",
        "offense_factor": 1.0104,
        "quality_score": 0.1385,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694671",
          "espn_id": 4719324,
          "player_name": "Wyatt Langford",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 78,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 78,
            "gp_value": 94.0,
            "gp_rank": 237,
            "ab_value": 359.0,
            "ab_rank": 175,
            "r_value": 57.0,
            "r_rank": 122,
            "h_value": 87.0,
            "h_rank": 174,
            "avg_value": 0.2423398,
            "avg_rank": null,
            "2b_value": 18.0,
            "2b_rank": 149,
            "3b_value": 2.0,
            "3b_rank": 76,
            "hr_value": 16.0,
            "hr_rank": 106,
            "rbi_value": 38.0,
            "rbi_rank": 214,
            "tb_value": 157.0,
            "tb_rank": 793,
            "bb_value": 42.0,
            "bb_rank": 118,
            "so_value": 86.0,
            "so_rank": 158,
            "sb_value": 12.0,
            "sb_rank": 69,
            "obp_value": 0.328395,
            "obp_rank": "-",
            "slg_value": 0.4373259,
            "slg_rank": "-",
            "ops_value": 0.7657209,
            "ops_rank": null,
            "war_value": 2.79,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 320.0,
          "k_percent": 20.7,
          "bb_percent": 10.5,
          "woba": 0.339,
          "xwoba": 0.316,
          "xba": 0.237,
          "xslg": 0.39,
          "sweet_spot_percent": 32.4,
          "barrel_batted_rate": 6.6,
          "hard_hit_percent": 37.1,
          "exit_velocity_avg": 89.0,
          "launch_angle_avg": 19.8,
          "whiff_percent": 23.5,
          "swing_percent": 47.9
        },
        "components": {
          "expected_quality": 0.268,
          "regression_edge": -0.6571,
          "xwoba_edge": 0.4571,
          "xba_edge": 0.0286,
          "xslg_edge": 0.3571,
          "barrel_edge": 0.0,
          "hard_hit_edge": -0.0286,
          "exit_velocity_edge": 0.24,
          "sweet_spot_edge": -0.15,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "RF",
        "player_id": "607043",
        "player_name": "Brandon Nimmo",
        "offense_factor": 1.087,
        "quality_score": 1.1593,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "607043",
          "espn_id": 32159,
          "player_name": "Brandon Nimmo",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 144,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 144,
            "gp_value": 140.0,
            "gp_rank": 43,
            "ab_value": 536.0,
            "ab_rank": 29,
            "r_value": 56.0,
            "r_rank": 128,
            "h_value": 141.0,
            "h_rank": 30,
            "avg_value": 0.2630597,
            "avg_rank": 60.0,
            "2b_value": 31.0,
            "2b_rank": 11,
            "3b_value": 4.0,
            "3b_rank": 19,
            "hr_value": 14.0,
            "hr_rank": 131,
            "rbi_value": 58.0,
            "rbi_rank": 107,
            "tb_value": 222.0,
            "tb_rank": 472,
            "bb_value": 46.0,
            "bb_rank": 94,
            "so_value": 127.0,
            "so_rank": 58,
            "sb_value": 7.0,
            "sb_rank": 136,
            "obp_value": 0.32715,
            "obp_rank": "76",
            "slg_value": 0.4141791,
            "slg_rank": "81",
            "ops_value": 0.7413291,
            "ops_rank": 80.0,
            "war_value": 1.64,
            "war_rank": 100.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 504.0,
          "k_percent": 21.6,
          "bb_percent": 7.8,
          "woba": 0.324,
          "xwoba": 0.35,
          "xba": 0.275,
          "xslg": 0.463,
          "sweet_spot_percent": 34.7,
          "barrel_batted_rate": 9.8,
          "hard_hit_percent": 51.3,
          "exit_velocity_avg": 92.3,
          "launch_angle_avg": 10.3,
          "whiff_percent": 22.2,
          "swing_percent": 50.9
        },
        "components": {
          "expected_quality": 1.2271,
          "regression_edge": 0.7429,
          "xwoba_edge": 1.4286,
          "xba_edge": 1.1143,
          "xslg_edge": 1.4,
          "barrel_edge": 0.7111,
          "hard_hit_edge": 2.0,
          "exit_velocity_edge": 1.56,
          "sweet_spot_edge": 0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "608369",
        "player_name": "Corey Seager",
        "offense_factor": 1.0975,
        "quality_score": 1.2994,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "608369",
          "espn_id": 32691,
          "player_name": "Corey Seager",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 79,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 79,
            "gp_value": 86.0,
            "gp_rank": 271,
            "ab_value": 317.0,
            "ab_rank": 211,
            "r_value": 51.0,
            "r_rank": 156,
            "h_value": 73.0,
            "h_rank": 218,
            "avg_value": 0.2302839,
            "avg_rank": null,
            "2b_value": 14.0,
            "2b_rank": 209,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 17.0,
            "hr_rank": 92,
            "rbi_value": 40.0,
            "rbi_rank": 197,
            "tb_value": 138.0,
            "tb_rank": 1281,
            "bb_value": 43.0,
            "bb_rank": 113,
            "so_value": 86.0,
            "so_rank": 158,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.3251366,
            "obp_rank": "-",
            "slg_value": 0.4353312,
            "slg_rank": "-",
            "ops_value": 0.7604678,
            "ops_rank": null,
            "war_value": 2.77,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 279.0,
          "k_percent": 23.5,
          "bb_percent": 11.9,
          "woba": 0.325,
          "xwoba": 0.354,
          "xba": 0.25,
          "xslg": 0.484,
          "sweet_spot_percent": 36.4,
          "barrel_batted_rate": 15.2,
          "hard_hit_percent": 48.9,
          "exit_velocity_avg": 91.7,
          "launch_angle_avg": 12.8,
          "whiff_percent": 33.4,
          "swing_percent": 51.7
        },
        "components": {
          "expected_quality": 1.3761,
          "regression_edge": 0.8286,
          "xwoba_edge": 1.5429,
          "xba_edge": 0.4,
          "xslg_edge": 1.7,
          "barrel_edge": 1.9111,
          "hard_hit_edge": 1.6571,
          "exit_velocity_edge": 1.32,
          "sweet_spot_edge": 0.5167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "694497",
        "player_name": "Evan Carter",
        "offense_factor": 0.966,
        "quality_score": -0.4536,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "694497",
          "espn_id": 4917921,
          "player_name": "Evan Carter",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 127,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 127,
            "gp_value": 126.0,
            "gp_rank": 124,
            "ab_value": 357.0,
            "ab_rank": 179,
            "r_value": 49.0,
            "r_rank": 160,
            "h_value": 70.0,
            "h_rank": 232,
            "avg_value": 0.1960784,
            "avg_rank": null,
            "2b_value": 13.0,
            "2b_rank": 222,
            "3b_value": 3.0,
            "3b_rank": 37,
            "hr_value": 9.0,
            "hr_rank": 209,
            "rbi_value": 35.0,
            "rbi_rank": 239,
            "tb_value": 116.0,
            "tb_rank": 1155,
            "bb_value": 44.0,
            "bb_rank": 106,
            "so_value": 103.0,
            "so_rank": 109,
            "sb_value": 15.0,
            "sb_rank": 57,
            "obp_value": 0.2906403,
            "obp_rank": "-",
            "slg_value": 0.3249299,
            "slg_rank": "-",
            "ops_value": 0.6155702,
            "ops_rank": null,
            "war_value": 1.83,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 350.0,
          "k_percent": 24.8,
          "bb_percent": 10.7,
          "woba": 0.281,
          "xwoba": 0.279,
          "xba": 0.199,
          "xslg": 0.32,
          "sweet_spot_percent": 29.0,
          "barrel_batted_rate": 5.3,
          "hard_hit_percent": 35.9,
          "exit_velocity_avg": 88.0,
          "launch_angle_avg": 17.8,
          "whiff_percent": 28.7,
          "swing_percent": 41.4
        },
        "components": {
          "expected_quality": -0.5181,
          "regression_edge": -0.0571,
          "xwoba_edge": -0.6,
          "xba_edge": -1.0571,
          "xslg_edge": -0.6429,
          "barrel_edge": -0.2889,
          "hard_hit_edge": -0.2,
          "exit_velocity_edge": -0.16,
          "sweet_spot_edge": -0.7167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "669394",
        "player_name": "Jake Burger",
        "offense_factor": 1.035,
        "quality_score": 0.4665,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "669394",
          "espn_id": 39882,
          "player_name": "Jake Burger",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 93,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 93,
            "gp_value": 139.0,
            "gp_rank": 54,
            "ab_value": 500.0,
            "ab_rank": 71,
            "r_value": 63.0,
            "r_rank": 99,
            "h_value": 119.0,
            "h_rank": 88,
            "avg_value": 0.238,
            "avg_rank": 108.0,
            "2b_value": 21.0,
            "2b_rank": 107,
            "3b_value": 0.0,
            "3b_rank": 289,
            "hr_value": 26.0,
            "hr_rank": 23,
            "rbi_value": 83.0,
            "rbi_rank": 18,
            "tb_value": 218.0,
            "tb_rank": 842,
            "bb_value": 47.0,
            "bb_rank": 91,
            "so_value": 149.0,
            "so_rank": 24,
            "sb_value": 3.0,
            "sb_rank": 230,
            "obp_value": 0.3068592,
            "obp_rank": "113",
            "slg_value": 0.436,
            "slg_rank": "59",
            "ops_value": 0.7428592,
            "ops_rank": 76.0,
            "war_value": 2.4,
            "war_rank": 78.0
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 470.0,
          "k_percent": 26.9,
          "bb_percent": 8.4,
          "woba": 0.322,
          "xwoba": 0.316,
          "xba": 0.234,
          "xslg": 0.424,
          "sweet_spot_percent": 30.1,
          "barrel_batted_rate": 12.0,
          "hard_hit_percent": 46.9,
          "exit_velocity_avg": 90.2,
          "launch_angle_avg": 13.7,
          "whiff_percent": 34.0,
          "swing_percent": 50.1
        },
        "components": {
          "expected_quality": 0.5703,
          "regression_edge": -0.1714,
          "xwoba_edge": 0.4571,
          "xba_edge": -0.0571,
          "xslg_edge": 0.8429,
          "barrel_edge": 1.2,
          "hard_hit_edge": 1.3714,
          "exit_velocity_edge": 0.72,
          "sweet_spot_edge": -0.5333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "643376",
        "player_name": "Danny Jansen",
        "offense_factor": 0.9561,
        "quality_score": -0.5852,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "643376",
          "espn_id": 35004,
          "player_name": "Danny Jansen",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 282,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 282,
            "gp_value": 53.0,
            "gp_rank": 381,
            "ab_value": 157.0,
            "ab_rank": 363,
            "r_value": 15.0,
            "r_rank": 396,
            "h_value": 28.0,
            "h_rank": 397,
            "avg_value": 0.1783439,
            "avg_rank": null,
            "2b_value": 7.0,
            "2b_rank": 330,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 6.0,
            "hr_rank": 280,
            "rbi_value": 20.0,
            "rbi_rank": 338,
            "tb_value": 55.0,
            "tb_rank": 1845,
            "bb_value": 14.0,
            "bb_rank": 347,
            "so_value": 50.0,
            "so_rank": 306,
            "sb_value": 1.0,
            "sb_rank": 333,
            "obp_value": 0.2670454,
            "obp_rank": "-",
            "slg_value": 0.3503184,
            "slg_rank": "-",
            "ops_value": 0.6173638,
            "ops_rank": null,
            "war_value": 0.51,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 142.0,
          "k_percent": 28.1,
          "bb_percent": 7.9,
          "woba": 0.276,
          "xwoba": 0.255,
          "xba": 0.174,
          "xslg": 0.298,
          "sweet_spot_percent": 23.9,
          "barrel_batted_rate": 7.3,
          "hard_hit_percent": 32.1,
          "exit_velocity_avg": 87.3,
          "launch_angle_avg": 22.5,
          "whiff_percent": 27.3,
          "swing_percent": 46.1
        },
        "components": {
          "expected_quality": -0.9566,
          "regression_edge": -0.6,
          "xwoba_edge": -1.2857,
          "xba_edge": -1.7714,
          "xslg_edge": -0.9571,
          "barrel_edge": 0.1556,
          "hard_hit_edge": -0.7429,
          "exit_velocity_edge": -0.44,
          "sweet_spot_edge": -1.5667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "670032",
        "player_name": "Nicky Lopez",
        "offense_factor": 0.9303,
        "quality_score": -0.929,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": true,
          "player_id": "670032",
          "espn_id": 38106,
          "player_name": "Nicky Lopez",
          "team": "TEX",
          "role": "batter",
          "espn_rank": 398,
          "espn_total_ranked": 660,
          "metrics": {
            "espn_rank": 398,
            "gp_value": 85.0,
            "gp_rank": 276,
            "ab_value": 210.0,
            "ab_rank": 303,
            "r_value": 21.0,
            "r_rank": 341,
            "h_value": 57.0,
            "h_rank": 269,
            "avg_value": 0.2714285,
            "avg_rank": null,
            "2b_value": 4.0,
            "2b_rank": 408,
            "3b_value": 1.0,
            "3b_rank": 139,
            "hr_value": 1.0,
            "hr_rank": 463,
            "rbi_value": 23.0,
            "rbi_rank": 314,
            "tb_value": 66.0,
            "tb_rank": 2344,
            "bb_value": 10.0,
            "bb_rank": 388,
            "so_value": 39.0,
            "so_rank": 359,
            "sb_value": 5.0,
            "sb_rank": 175,
            "obp_value": 0.3141592,
            "obp_rank": "-",
            "slg_value": 0.3142857,
            "slg_rank": "-",
            "ops_value": 0.6284449,
            "ops_rank": null,
            "war_value": 0.04,
            "war_rank": null
          },
          "source": "espn_statistics_byathlete"
        },
        "metrics": {
          "pa": 210.0,
          "k_percent": 16.2,
          "bb_percent": 4.3,
          "woba": 0.284,
          "xwoba": 0.262,
          "xba": 0.244,
          "xslg": 0.293,
          "sweet_spot_percent": 28.0,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 21.4,
          "exit_velocity_avg": 84.4,
          "launch_angle_avg": 3.6,
          "whiff_percent": 18.2,
          "swing_percent": 51.7
        },
        "components": {
          "expected_quality": -1.0294,
          "regression_edge": -0.6286,
          "xwoba_edge": -1.0857,
          "xba_edge": 0.2286,
          "xslg_edge": -1.0286,
          "barrel_edge": -1.4667,
          "hard_hit_edge": -2.2714,
          "exit_velocity_edge": -1.6,
          "sweet_spot_edge": -0.8833,
          "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 TEXTrue730.334710.97151.09430.94601.0468neutral0.29200.283029.906.5033.608.4044.90
Home SEATrue400.160110.98641.05310.94401.0677neutral0.29900.297026.606.4029.7010.3041.60

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away TEXTrueNone7093.042438000000000.1772
Home SEATrueNone9689.55193300000000-0.0181
Run FactorValue
away_runs_vs_home_pitcher0.9950
home_runs_vs_away_pitcher0.9844
home_pitcher_starter_only_factor0.9864
away_pitcher_starter_only_factor0.9715
home_pitcher_workload_share0.6296
away_pitcher_workload_share0.5556
home_pitcher_quality_edge-0.0851
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "669302",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 590.0,
      "k_percent": 26.6,
      "bb_percent": 6.4,
      "woba": 0.297,
      "xwoba": 0.299,
      "sweet_spot_percent": 37.2,
      "barrel_batted_rate": 10.3,
      "hard_hit_percent": 41.6,
      "avg_best_speed": 79.1322,
      "avg_hyper_speed": 94.4467,
      "whiff_percent": 29.7,
      "swing_percent": 50.2
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.0128,
      "command_and_miss": 0.6707,
      "regression_edge": -0.0571,
      "xwoba_edge": 0.3429,
      "barrel_edge": -0.7111,
      "hard_hit_edge": -0.5286,
      "whiff_edge": 0.6714,
      "bb_edge": 0.7,
      "pitch_design_score": -0.0181
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "669302",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 96,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 96,
        "pitch_usage": 0.0,
        "release_speed": 89.55212588420072,
        "release_spin_rate": 1933.4323936506946,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 96,
          "pitch_usage": 0.0,
          "release_speed": 89.55212588420072,
          "release_spin_rate": 1933.4323936506946,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.5521,
        "release_spin_rate": 1933.4324,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0181,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.1292,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1601,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9864,
    "strikeout_factor": 1.0531,
    "walk_factor": 0.944,
    "homer_factor": 1.0677,
    "woba_minus_xwoba": -0.002,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "669302",
      "espn_id": 41221,
      "player_name": "Logan Gilbert",
      "team": "SEA",
      "role": "pitcher",
      "espn_rank": 40,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 40,
        "gp_value": 28.0,
        "gp_rank": 261,
        "gs_value": 28.0,
        "gs_rank": 24,
        "qs_value": 12.0,
        "qs_rank": 33,
        "era_value": 3.709,
        "era_rank": 25.0,
        "w_value": 11.0,
        "w_rank": 22,
        "l_value": 9.0,
        "l_rank": 31,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 165.0,
        "ip_rank": 16,
        "h_value": 134.0,
        "h_rank": 50,
        "er_value": 68.0,
        "er_rank": 39,
        "hr_value": 26.0,
        "hr_rank": 12,
        "bb_value": 42.0,
        "bb_rank": 72,
        "k_value": 176.0,
        "k_rank": 13,
        "k_per_9_value": 9.599999,
        "k_per_9_rank": 21,
        "whip_value": 1.0666,
        "whip_rank": 11.0,
        "war_value": 2.85,
        "war_rank": 26.0
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "594798",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 494.0,
      "k_percent": 29.9,
      "bb_percent": 6.5,
      "woba": 0.283,
      "xwoba": 0.292,
      "sweet_spot_percent": 37.8,
      "barrel_batted_rate": 8.4,
      "hard_hit_percent": 44.9,
      "avg_best_speed": 80.2595,
      "avg_hyper_speed": 94.6849,
      "whiff_percent": 33.6,
      "swing_percent": 51.6
    },
    "league_medians": {
      "pa": 117.0,
      "k_percent": 22.0,
      "bb_percent": 9.2,
      "woba": 0.317,
      "xwoba": 0.311,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.1,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.5981,
      "avg_hyper_speed": 93.9191,
      "whiff_percent": 25.0,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.1202,
      "command_and_miss": 1.0729,
      "regression_edge": -0.2571,
      "xwoba_edge": 0.5429,
      "barrel_edge": -0.2889,
      "hard_hit_edge": -1.0,
      "whiff_edge": 1.2286,
      "bb_edge": 0.675,
      "pitch_design_score": 0.1772
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "594798",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 70,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 70,
        "pitch_usage": 0.0,
        "release_speed": 93.0397745860885,
        "release_spin_rate": 2438.3276886434514,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 70,
          "pitch_usage": 0.0,
          "release_speed": 93.0397745860885,
          "release_spin_rate": 2438.3276886434514,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0398,
        "release_spin_rate": 2438.3277,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1772,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.2659,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.3347,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9715,
    "strikeout_factor": 1.0943,
    "walk_factor": 0.946,
    "homer_factor": 1.0468,
    "woba_minus_xwoba": -0.009,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": true,
      "player_id": "594798",
      "espn_id": 32796,
      "player_name": "Jacob deGrom",
      "team": "TEX",
      "role": "pitcher",
      "espn_rank": 73,
      "espn_total_ranked": 859,
      "metrics": {
        "espn_rank": 73,
        "gp_value": 27.0,
        "gp_rank": 285,
        "gs_value": 27.0,
        "gs_rank": 36,
        "qs_value": 11.0,
        "qs_rank": 45,
        "era_value": 3.9558,
        "era_rank": null,
        "w_value": 10.0,
        "w_rank": 29,
        "l_value": 9.0,
        "l_rank": 31,
        "sv_value": 0.0,
        "sv_rank": 249,
        "hld_value": 0.0,
        "hld_rank": 351,
        "ip_value": 143.1,
        "ip_rank": 53,
        "h_value": 122.0,
        "h_rank": 71,
        "er_value": 63.0,
        "er_rank": 56,
        "hr_value": 19.0,
        "hr_rank": 48,
        "bb_value": 38.0,
        "bb_rank": 102,
        "k_value": 174.0,
        "k_rank": 15,
        "k_per_9_value": 10.925581,
        "k_per_9_rank": 7,
        "whip_value": 1.1162,
        "whip_rank": null,
        "war_value": 2.0,
        "war_rank": null
      },
      "source": "espn_statistics_byathlete"
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.995,
    "home_runs_vs_away_pitcher": 0.9844,
    "home_pitcher_starter_only_factor": 0.9864,
    "away_pitcher_starter_only_factor": 0.9715,
    "home_pitcher_workload_share": 0.6296,
    "away_pitcher_workload_share": 0.5556,
    "home_pitcher_quality_edge": -0.0851
  },
  "score_before": {
    "away_runs": 4.2444,
    "home_runs": 4.5944
  },
  "score_after": {
    "away_runs": 4.2232,
    "home_runs": 4.5228,
    "home_win_probability": 0.5239
  },
  "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 TEX6-40.60064.60141Lhotaverage
Home SEA4-60.4004.705.70-101Waverageweak

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away TEX72-740.493-40-0.274True
Home SEA68-780.466-75-0.514True
Signal---0.240-0.371applied=False

Recent Head-to-Head

DateMatchupScoreWinnerMarginType
2026-09-09TEX @ SEA2 - 3SEA1close
2026-09-08TEX @ SEA10 - 5TEX5blowout
2026-07-27SEA @ TEX3 - 7TEX4blowout
2026-07-26SEA @ TEX6 - 4SEA2close
2026-07-25SEA @ TEX1 - 7TEX6blowout

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target TEX--4----
Game target SEA--5----
Player finalized TEX317514310
Player finalized SEA337514310
Player model fractional TEX31.366.524.181.433.862.738.76
Player model fractional SEA34.157.723.880.943.812.989.70
Simulation box TEX33640438
Simulation box SEA29553527

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 TEXStarterJacob deGrom516114.491.20True
Away TEXMiddle Reliever (High Leverage)Chase Silseth101013.631.49True
Away TEXCloserJacob Latz100002.941.11True
Away TEXSetup ManJakob Junis140403.091.40True
Home SEAStarterLogan Gilbert5.2036434.711.32True
Home SEACloserAndrés Muñoz100003.830.95True
Home SEASetup ManJosé A. Ferrer1.1011205.031.81True
Home SEAMiddle Reliever (High Leverage)Eduard Bazardo101009.862.60True
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
homeSEAbatterRFLazaro Montesbetter115665predicted_RBI3.7300boostbetter
awayTEXbatterRFBrandon Nimmoworse105546predicted_RBI2.5200boostbetter
awayTEXpitcherStarterJacob deGrombetter11010predicted_SO2.0000boostbetter
awayTEXpitcherSetup ManJakob Junisworse10101predicted_SO-2.0000deboostworse
homeSEAbatterDHDominic Canzoneworse103728predicted_AB-1.6400deboostworse
awayTEXbatter2BNicky Lopezworse103728predicted_SO1.5060boostworse
homeSEAbatter1BJosh Naylorworse102837predicted_AB-1.3400deboostworse
awayTEXbatterLFWyatt Langfordworse103728predicted_AB-1.3200deboostworse
homeSEAbatterLFRandy Arozarenaworse1019010predicted_AB-1.3200deboostworse
homeSEAbatterCCal Raleighdeboosted104655predicted_SO-1.3000deboostbetter
awayTEXbatterDHJoc Pedersonbetter115665predicted_AB1.2000boostbetter
homeSEAbatterCFJulio Rodríguezworse11110011predicted_AB-1.1500deboostworse
awayTEXbatterCFEvan Carterworse114738predicted_AB1.1210boostbetter
homeSEAbatter2BCole Youngworse91827predicted_AB-1.0600deboostworse
homeSEApitcherStarterLogan Gilbertneutral21111predicted_SO1.0000boostbetter
homeSEApitcherCloserAndrés Muñozworse10101predicted_SO-1.0000deboostworse
awayTEXbatterCDanny Jansenworse113847predicted_SO-0.9800deboostbetter
awayTEXbatter3BEzequiel Duranworse101928predicted_H-0.9700deboostworse
awayTEXbatter1BJake Burgerworse102819predicted_SO0.9200boostworse
awayTEXbatterSSCorey Seagerworse93636predicted_2B0.8350boostbetter
homeSEAbatterSSJ.P. Crawfordworse92718predicted_H-0.7900deboostworse
homeSEAbatter3BBrock Roddenworse82626predicted_H-0.7060deboostworse
homeSEApitcherMiddle Reliever (High Leverage)Eduard Bazardobetter11010predicted_IP0.3333boostbetter
homeSEApitcherSetup ManJosé A. Ferrerbetter11010predicted_IP0.1000boostbetter

This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.

Away Team: TEX

Away Pitcher Deep Analysis

FieldValue
PitcherJacob deGrom
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3347
ESPN Rank73
Movement AvailableTrue
Primary Pitch-
Movement Score0.1772
Avg Velo93.0398
Avg Spin2438.3277
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER1
Pre H1
Pre BB1
Pre SO6
Season ERA3.9558
Season WHIP1.1163
Role Avg IP5.3090
Recent Avg IP4.9330
Last Start IP6
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4932,
    "runs_scored": 607.0,
    "runs_allowed": 647.0,
    "run_differential": -40.0,
    "run_differential_per_game": -0.274,
    "avg_runs_scored": 4.1575,
    "avg_runs_allowed": 4.4315,
    "offense_index": 0.9239,
    "defense_index": 1.0154,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.0,
      "avg_runs_allowed": 4.6,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": -0.0043
  },
  "opponent": {
    "team": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4658,
    "runs_scored": 577.0,
    "runs_allowed": 652.0,
    "run_differential": -75.0,
    "run_differential_per_game": -0.5137,
    "avg_runs_scored": 3.9521,
    "avg_runs_allowed": 4.4658,
    "offense_index": 0.8783,
    "defense_index": 1.0076,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.7,
      "run_differential": -10.0
    },
    "available": true,
    "quality_score": -0.1269
  },
  "edges": {
    "quality_edge": 0.1226,
    "offense_edge": -0.0761,
    "opponent_offense_edge": -0.1217,
    "defense_strength": 0.0154,
    "opponent_defense_weakness": -0.0076,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0102,
    "run_prevention": 0.9729,
    "strikeout": 1.0134
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "594798",
    "profile": {
      "available": true,
      "pitcher_id": "594798",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 494.0,
        "k_percent": 29.9,
        "bb_percent": 6.5,
        "woba": 0.283,
        "xwoba": 0.292,
        "sweet_spot_percent": 37.8,
        "barrel_batted_rate": 8.4,
        "hard_hit_percent": 44.9,
        "avg_best_speed": 80.2595,
        "avg_hyper_speed": 94.6849,
        "whiff_percent": 33.6,
        "swing_percent": 51.6
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.1202,
        "command_and_miss": 1.0729,
        "regression_edge": -0.2571,
        "xwoba_edge": 0.5429,
        "barrel_edge": -0.2889,
        "hard_hit_edge": -1.0,
        "whiff_edge": 1.2286,
        "bb_edge": 0.675,
        "pitch_design_score": 0.1772
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "594798",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 70,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 70,
          "pitch_usage": 0.0,
          "release_speed": 93.0397745860885,
          "release_spin_rate": 2438.3276886434514,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 70,
            "pitch_usage": 0.0,
            "release_speed": 93.0397745860885,
            "release_spin_rate": 2438.3276886434514,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0398,
          "release_spin_rate": 2438.3277,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1772,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2659,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3347,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9715,
      "strikeout_factor": 1.0943,
      "walk_factor": 0.946,
      "homer_factor": 1.0468,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "594798",
        "espn_id": 32796,
        "player_name": "Jacob deGrom",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 73,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 73,
          "gp_value": 27.0,
          "gp_rank": 285,
          "gs_value": 27.0,
          "gs_rank": 36,
          "qs_value": 11.0,
          "qs_rank": 45,
          "era_value": 3.9558,
          "era_rank": null,
          "w_value": 10.0,
          "w_rank": 29,
          "l_value": 9.0,
          "l_rank": 31,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 143.1,
          "ip_rank": 53,
          "h_value": 122.0,
          "h_rank": 71,
          "er_value": 63.0,
          "er_rank": 56,
          "hr_value": 19.0,
          "hr_rank": 48,
          "bb_value": 38.0,
          "bb_rank": 102,
          "k_value": 174.0,
          "k_rank": 15,
          "k_per_9_value": 10.925581,
          "k_per_9_rank": 7,
          "whip_value": 1.1162,
          "whip_rank": null,
          "war_value": 2.0,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9715,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9715,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.946,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0468,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0943,
        "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": 47.2,
    "ER": 26,
    "H": 47,
    "BB": 18,
    "SO": 59,
    "HR": 3,
    "ERA": 4.909090909090909,
    "WHIP": 1.3636363636363638,
    "K9": 11.13986013986014,
    "HR9": 0.5664335664335665,
    "games_pitched": 10,
    "quality_starts": 3,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "594798",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 70,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 70,
    "pitch_usage": 0.0,
    "release_speed": 93.0397745860885,
    "release_spin_rate": 2438.3276886434514,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 70,
      "pitch_usage": 0.0,
      "release_speed": 93.0397745860885,
      "release_spin_rate": 2438.3276886434514,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0398,
    "release_spin_rate": 2438.3277,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1772,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2659,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": "594798",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 27,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 24.2,
        "ER": 12.0,
        "R": 12.0,
        "H": 18.0,
        "BB": 8.0,
        "SO": 30.0,
        "HR": 2.0,
        "BF": 96.0,
        "Pitches": 409.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.4,
        "R": 2.4,
        "H": 3.6,
        "BB": 1.6,
        "SO": 6.0,
        "HR": 0.4,
        "BF": 19.2,
        "Pitches": 81.8
      },
      "rates": {
        "ERA": 4.3784,
        "WHIP": 1.0541,
        "ER_per_IP": 0.48649,
        "H_per_IP": 0.72973,
        "BB_per_IP": 0.32432,
        "SO_per_IP": 1.21622,
        "HR_per_IP": 0.08108
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 47.2,
        "ER": 26.0,
        "R": 26.0,
        "H": 47.0,
        "BB": 18.0,
        "SO": 59.0,
        "HR": 3.0,
        "BF": 202.0,
        "Pitches": 855.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.6,
        "R": 2.6,
        "H": 4.7,
        "BB": 1.8,
        "SO": 5.9,
        "HR": 0.3,
        "BF": 20.2,
        "Pitches": 85.5
      },
      "rates": {
        "ERA": 4.9091,
        "WHIP": 1.3636,
        "ER_per_IP": 0.54545,
        "H_per_IP": 0.98601,
        "BB_per_IP": 0.37762,
        "SO_per_IP": 1.23776,
        "HR_per_IP": 0.06294
      }
    },
    "season": {
      "games": 27,
      "totals": {
        "IP": 143.1,
        "ER": 63.0,
        "R": 63.0,
        "H": 122.0,
        "BB": 38.0,
        "SO": 174.0,
        "HR": 19.0,
        "BF": 582.0,
        "Pitches": 2380.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.3333,
        "R": 2.3333,
        "H": 4.5185,
        "BB": 1.4074,
        "SO": 6.4444,
        "HR": 0.7037,
        "BF": 21.5556,
        "Pitches": 88.1481
      },
      "rates": {
        "ERA": 3.9558,
        "WHIP": 1.1163,
        "ER_per_IP": 0.43953,
        "H_per_IP": 0.85116,
        "BB_per_IP": 0.26512,
        "SO_per_IP": 1.21395,
        "HR_per_IP": 0.13256
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.0,
    "predicted_ER": 2.472,
    "predicted_H": 4.283,
    "predicted_BB": 1.673,
    "predicted_SO": 5.845,
    "predicted_HR": 0.469,
    "predicted_ERA": 4.487,
    "predicted_WHIP": 1.2014
  }
}
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": 5.0,
      "form": 5.0,
      "final": 5.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 2.472,
      "final": 1.8597,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 4.283,
      "final": 2.9173,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.673,
      "final": 1.393,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 5.845,
      "final": 5.0775,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.469,
      "final": 0.6899,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.487,
      "final": 4.487,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2014,
      "final": 1.2014,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherChase Silseth
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0551
ESPN Rank157
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO1
Season ERA2.8160
Season WHIP1.4172
Role Avg IP0.8490
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4932,
    "runs_scored": 607.0,
    "runs_allowed": 647.0,
    "run_differential": -40.0,
    "run_differential_per_game": -0.274,
    "avg_runs_scored": 4.1575,
    "avg_runs_allowed": 4.4315,
    "offense_index": 0.9239,
    "defense_index": 1.0154,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.0,
      "avg_runs_allowed": 4.6,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": -0.0043
  },
  "opponent": {
    "team": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4658,
    "runs_scored": 577.0,
    "runs_allowed": 652.0,
    "run_differential": -75.0,
    "run_differential_per_game": -0.5137,
    "avg_runs_scored": 3.9521,
    "avg_runs_allowed": 4.4658,
    "offense_index": 0.8783,
    "defense_index": 1.0076,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.7,
      "run_differential": -10.0
    },
    "available": true,
    "quality_score": -0.1269
  },
  "edges": {
    "quality_edge": 0.1226,
    "offense_edge": -0.0761,
    "opponent_offense_edge": -0.1217,
    "defense_strength": 0.0154,
    "opponent_defense_weakness": -0.0076,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0102,
    "run_prevention": 0.9729,
    "strikeout": 1.0134
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681217",
    "profile": {
      "available": true,
      "pitcher_id": "681217",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 200.0,
        "k_percent": 26.1,
        "bb_percent": 14.1,
        "woba": 0.308,
        "xwoba": 0.314,
        "sweet_spot_percent": 40.4,
        "barrel_batted_rate": 9.2,
        "hard_hit_percent": 32.6,
        "avg_best_speed": 75.5226,
        "avg_hyper_speed": 93.3041,
        "whiff_percent": 32.8,
        "swing_percent": 46.6
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.036,
        "command_and_miss": 0.4086,
        "regression_edge": -0.1714,
        "xwoba_edge": -0.0857,
        "barrel_edge": -0.4667,
        "hard_hit_edge": 0.7571,
        "whiff_edge": 1.1143,
        "bb_edge": -1.225,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "681217",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.0551,
      "sample_weight": 0.8,
      "run_prevention_factor": 0.9953,
      "strikeout_factor": 1.0544,
      "walk_factor": 1.0784,
      "homer_factor": 1.0077,
      "woba_minus_xwoba": -0.006,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "681217",
        "espn_id": 4413990,
        "player_name": "Chase Silseth",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 157,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 157,
          "gp_value": 65.0,
          "gp_rank": 20,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.9815,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 243,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 15.0,
          "hld_rank": 35,
          "ip_value": 54.1,
          "ip_rank": 273,
          "h_value": 45.0,
          "h_rank": 275,
          "er_value": 18.0,
          "er_rank": 352,
          "hr_value": 5.0,
          "hr_rank": 319,
          "bb_value": 34.0,
          "bb_rank": 130,
          "k_value": 63.0,
          "k_rank": 213,
          "k_per_9_value": 10.435583,
          "k_per_9_rank": 21,
          "whip_value": 1.4539,
          "whip_rank": null,
          "war_value": 1.2,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9962,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9962,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0627,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0062,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0435,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 7.2,
    "ER": 2,
    "H": 3,
    "BB": 7,
    "SO": 8,
    "HR": 0,
    "ERA": 2.347826086956522,
    "WHIP": 1.3043478260869565,
    "K9": 9.391304347826088,
    "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-09-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "681217",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.966,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6868,
    "prior_weight": 0.3132
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "681217",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 64,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 5.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 87.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 1.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.8462,
        "ER_per_IP": 0.46154,
        "H_per_IP": 0.69231,
        "BB_per_IP": 1.15385,
        "SO_per_IP": 1.15385,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 3.0,
        "BB": 7.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 33.0,
        "Pitches": 133.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.3,
        "BB": 0.7,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 3.3,
        "Pitches": 13.3
      },
      "rates": {
        "ERA": 2.25,
        "WHIP": 1.25,
        "ER_per_IP": 0.25,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.875,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 64,
      "totals": {
        "IP": 54.1,
        "ER": 17.0,
        "R": 19.0,
        "H": 43.0,
        "BB": 34.0,
        "SO": 63.0,
        "HR": 5.0,
        "BF": 238.0,
        "Pitches": 965.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2656,
        "R": 0.2969,
        "H": 0.6719,
        "BB": 0.5312,
        "SO": 0.9844,
        "HR": 0.0781,
        "BF": 3.7188,
        "Pitches": 15.0781
      },
      "rates": {
        "ERA": 2.816,
        "WHIP": 1.4172,
        "ER_per_IP": 0.31288,
        "H_per_IP": 0.79141,
        "BB_per_IP": 0.62577,
        "SO_per_IP": 1.15951,
        "HR_per_IP": 0.09202
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.371,
    "predicted_H": 0.66,
    "predicted_BB": 0.708,
    "predicted_SO": 0.966,
    "predicted_HR": 0.054,
    "predicted_ERA": 3.6292,
    "predicted_WHIP": 1.4868
  }
}
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.6868,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.966,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6868,
    "prior_weight": 0.3132
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.371,
      "final": 0.1921,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.66,
      "final": 0.3417,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.708,
      "final": 0.8488,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.966,
      "final": 0.9824,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.054,
      "final": 0.028,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.6292,
      "final": 3.6292,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4868,
      "final": 1.4868,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJacob Latz
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5873
ESPN Rank45
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.4211
Season WHIP0.7105
Role Avg IP1.2110
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4932,
    "runs_scored": 607.0,
    "runs_allowed": 647.0,
    "run_differential": -40.0,
    "run_differential_per_game": -0.274,
    "avg_runs_scored": 4.1575,
    "avg_runs_allowed": 4.4315,
    "offense_index": 0.9239,
    "defense_index": 1.0154,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.0,
      "avg_runs_allowed": 4.6,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": -0.0043
  },
  "opponent": {
    "team": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4658,
    "runs_scored": 577.0,
    "runs_allowed": 652.0,
    "run_differential": -75.0,
    "run_differential_per_game": -0.5137,
    "avg_runs_scored": 3.9521,
    "avg_runs_allowed": 4.4658,
    "offense_index": 0.8783,
    "defense_index": 1.0076,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.7,
      "run_differential": -10.0
    },
    "available": true,
    "quality_score": -0.1269
  },
  "edges": {
    "quality_edge": 0.1226,
    "offense_edge": -0.0761,
    "opponent_offense_edge": -0.1217,
    "defense_strength": 0.0154,
    "opponent_defense_weakness": -0.0076,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0102,
    "run_prevention": 0.9729,
    "strikeout": 1.0134
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656641",
    "profile": {
      "available": true,
      "pitcher_id": "656641",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 196.0,
        "k_percent": 29.7,
        "bb_percent": 8.5,
        "woba": 0.198,
        "xwoba": 0.247,
        "sweet_spot_percent": 26.7,
        "barrel_batted_rate": 6.9,
        "hard_hit_percent": 39.0,
        "avg_best_speed": 78.7918,
        "avg_hyper_speed": 93.7295,
        "whiff_percent": 30.4,
        "swing_percent": 51.8
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.2162,
        "command_and_miss": 0.8,
        "regression_edge": -1.4,
        "xwoba_edge": 1.8286,
        "barrel_edge": 0.0444,
        "hard_hit_edge": -0.1571,
        "whiff_edge": 0.7714,
        "bb_edge": 0.175,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "656641",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.5873,
      "sample_weight": 0.784,
      "run_prevention_factor": 0.9501,
      "strikeout_factor": 1.0587,
      "walk_factor": 0.989,
      "homer_factor": 0.9591,
      "woba_minus_xwoba": -0.049,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "656641",
        "espn_id": 3210625,
        "player_name": "Jacob Latz",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 45,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 45,
          "gp_value": 51.0,
          "gp_rank": 100,
          "gs_value": 1.0,
          "gs_rank": 297,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 1.8473,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 243,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 28.0,
          "sv_rank": 10,
          "hld_value": 3.0,
          "hld_rank": 209,
          "ip_value": 63.1,
          "ip_rank": 213,
          "h_value": 29.0,
          "h_rank": 422,
          "er_value": 13.0,
          "er_rank": 460,
          "hr_value": 4.0,
          "hr_rank": 375,
          "bb_value": 20.0,
          "bb_rank": 300,
          "k_value": 70.0,
          "k_rank": 180,
          "k_per_9_value": 9.947369,
          "k_per_9_rank": 22,
          "whip_value": 0.7736,
          "whip_rank": null,
          "war_value": 2.6,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9609,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9609,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9914,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9679,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.046,
        "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": 2,
    "H": 5,
    "BB": 8,
    "SO": 18,
    "HR": 1,
    "ERA": 1.4594594594594594,
    "WHIP": 1.054054054054054,
    "K9": 13.135135135135135,
    "HR9": 0.7297297297297297,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "656641",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.782,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7188,
    "prior_weight": 0.2812
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656641",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 50,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 3.0,
        "BB": 3.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 22.0,
        "Pitches": 80.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.6,
        "H": 0.6,
        "BB": 0.6,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.4,
        "Pitches": 16.0
      },
      "rates": {
        "ERA": 3.375,
        "WHIP": 1.125,
        "ER_per_IP": 0.375,
        "H_per_IP": 0.5625,
        "BB_per_IP": 0.5625,
        "SO_per_IP": 1.3125,
        "HR_per_IP": 0.1875
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.1,
        "ER": 2.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 8.0,
        "SO": 18.0,
        "HR": 1.0,
        "BF": 48.0,
        "Pitches": 212.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.5,
        "BB": 0.8,
        "SO": 1.8,
        "HR": 0.1,
        "BF": 4.8,
        "Pitches": 21.2
      },
      "rates": {
        "ERA": 1.4595,
        "WHIP": 1.0541,
        "ER_per_IP": 0.16216,
        "H_per_IP": 0.40541,
        "BB_per_IP": 0.64865,
        "SO_per_IP": 1.45946,
        "HR_per_IP": 0.08108
      }
    },
    "season": {
      "games": 50,
      "totals": {
        "IP": 63.1,
        "ER": 10.0,
        "R": 12.0,
        "H": 26.0,
        "BB": 19.0,
        "SO": 70.0,
        "HR": 4.0,
        "BF": 232.0,
        "Pitches": 979.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.24,
        "H": 0.52,
        "BB": 0.38,
        "SO": 1.4,
        "HR": 0.08,
        "BF": 4.64,
        "Pitches": 19.58
      },
      "rates": {
        "ERA": 1.4211,
        "WHIP": 0.7105,
        "ER_per_IP": 0.15789,
        "H_per_IP": 0.41053,
        "BB_per_IP": 0.3,
        "SO_per_IP": 1.10526,
        "HR_per_IP": 0.06316
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.369,
    "predicted_H": 0.698,
    "predicted_BB": 0.558,
    "predicted_SO": 1.375,
    "predicted_HR": 0.149,
    "predicted_ERA": 2.936,
    "predicted_WHIP": 1.1093
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4688,
  "form_weight": 0.5312,
  "form_reliability": 0.7188,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.782,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7188,
    "prior_weight": 0.2812
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.369,
      "final": 0.196,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.698,
      "final": 0.3708,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.558,
      "final": 0.2964,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.375,
      "final": 0.7304,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.149,
      "final": 0.0791,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.936,
      "final": 2.936,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1093,
      "final": 1.1093,
      "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
PitcherJakob Junis
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0187
ESPN Rank155
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER4
Pre H4
Pre BB0
Pre SO0
Season ERA2.7365
Season WHIP1.1351
Role Avg IP1.0370
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4932,
    "runs_scored": 607.0,
    "runs_allowed": 647.0,
    "run_differential": -40.0,
    "run_differential_per_game": -0.274,
    "avg_runs_scored": 4.1575,
    "avg_runs_allowed": 4.4315,
    "offense_index": 0.9239,
    "defense_index": 1.0154,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.0,
      "avg_runs_allowed": 4.6,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": -0.0043
  },
  "opponent": {
    "team": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4658,
    "runs_scored": 577.0,
    "runs_allowed": 652.0,
    "run_differential": -75.0,
    "run_differential_per_game": -0.5137,
    "avg_runs_scored": 3.9521,
    "avg_runs_allowed": 4.4658,
    "offense_index": 0.8783,
    "defense_index": 1.0076,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.7,
      "run_differential": -10.0
    },
    "available": true,
    "quality_score": -0.1269
  },
  "edges": {
    "quality_edge": 0.1226,
    "offense_edge": -0.0761,
    "opponent_offense_edge": -0.1217,
    "defense_strength": 0.0154,
    "opponent_defense_weakness": -0.0076,
    "recent_win_pct_edge": 0.2
  },
  "player_factors": {
    "ip": 1.0102,
    "run_prevention": 0.9729,
    "strikeout": 1.0134
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "596001",
    "profile": {
      "available": true,
      "pitcher_id": "596001",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 169.0,
        "k_percent": 17.2,
        "bb_percent": 5.9,
        "woba": 0.268,
        "xwoba": 0.311,
        "sweet_spot_percent": 37.7,
        "barrel_batted_rate": 3.2,
        "hard_hit_percent": 33.8,
        "avg_best_speed": 76.1933,
        "avg_hyper_speed": 92.9937,
        "whiff_percent": 18.7,
        "swing_percent": 46.9
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.383,
        "command_and_miss": -0.4586,
        "regression_edge": -1.2286,
        "xwoba_edge": 0.0,
        "barrel_edge": 0.8667,
        "hard_hit_edge": 0.5857,
        "whiff_edge": -0.9,
        "bb_edge": 0.825,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "596001",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": -0.0187,
      "sample_weight": 0.676,
      "run_prevention_factor": 1.0016,
      "strikeout_factor": 0.9571,
      "walk_factor": 0.9554,
      "homer_factor": 0.9373,
      "woba_minus_xwoba": -0.043,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": true,
        "player_id": "596001",
        "espn_id": 36056,
        "player_name": "Jakob Junis",
        "team": "TEX",
        "role": "pitcher",
        "espn_rank": 155,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 155,
          "gp_value": 46.0,
          "gp_rank": 130,
          "gs_value": 1.0,
          "gs_rank": 297,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 2.7364,
          "era_rank": null,
          "w_value": 1.0,
          "w_rank": 411,
          "l_value": 2.0,
          "l_rank": 328,
          "sv_value": 6.0,
          "sv_rank": 40,
          "hld_value": 17.0,
          "hld_rank": 27,
          "ip_value": 49.1,
          "ip_rank": 306,
          "h_value": 44.0,
          "h_rank": 285,
          "er_value": 15.0,
          "er_rank": 423,
          "hr_value": 3.0,
          "hr_rank": 441,
          "bb_value": 12.0,
          "bb_rank": 442,
          "k_value": 35.0,
          "k_rank": 386,
          "k_per_9_value": 6.385135,
          "k_per_9_rank": 34,
          "whip_value": 1.1351,
          "whip_rank": null,
          "war_value": 1.2,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0011,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0011,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9699,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9576,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.971,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 3,
    "H": 8,
    "BB": 5,
    "SO": 5,
    "HR": 1,
    "ERA": 2.8928571428571432,
    "WHIP": 1.392857142857143,
    "K9": 4.821428571428572,
    "HR9": 0.9642857142857144,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-06T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "596001",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.957,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6657,
    "prior_weight": 0.3343
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "596001",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 46,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 23.0,
        "Pitches": 87.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.6,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 4.6,
        "Pitches": 17.4
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 1.6,
        "ER_per_IP": 0.2,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.6,
        "SO_per_IP": 0.4,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 5.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 40.0,
        "Pitches": 145.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.5,
        "SO": 0.5,
        "HR": 0.1,
        "BF": 4.0,
        "Pitches": 14.5
      },
      "rates": {
        "ERA": 2.8929,
        "WHIP": 1.3929,
        "ER_per_IP": 0.32143,
        "H_per_IP": 0.85714,
        "BB_per_IP": 0.53571,
        "SO_per_IP": 0.53571,
        "HR_per_IP": 0.10714
      }
    },
    "season": {
      "games": 46,
      "totals": {
        "IP": 49.1,
        "ER": 15.0,
        "R": 15.0,
        "H": 44.0,
        "BB": 12.0,
        "SO": 35.0,
        "HR": 3.0,
        "BF": 204.0,
        "Pitches": 729.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3261,
        "R": 0.3261,
        "H": 0.9565,
        "BB": 0.2609,
        "SO": 0.7609,
        "HR": 0.0652,
        "BF": 4.4348,
        "Pitches": 15.8478
      },
      "rates": {
        "ERA": 2.7365,
        "WHIP": 1.1351,
        "ER_per_IP": 0.30405,
        "H_per_IP": 0.89189,
        "BB_per_IP": 0.24324,
        "SO_per_IP": 0.70946,
        "HR_per_IP": 0.06081
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.343,
    "predicted_H": 0.943,
    "predicted_BB": 0.461,
    "predicted_SO": 0.653,
    "predicted_HR": 0.082,
    "predicted_ERA": 3.0908,
    "predicted_WHIP": 1.4044
  }
}
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.6657,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 9.957,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6657,
    "prior_weight": 0.3343
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 0.343,
      "final": 2.1395,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 0.943,
      "final": 2.4447,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.461,
      "final": 0.2345,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 0.653,
      "final": 1.3147,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.082,
      "final": 1.0242,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0908,
      "final": 3.0908,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4044,
      "final": 1.4044,
      "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."
}
Ezequiel Duran (677649) · BATTER · 3B · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 469
All-history rows before 20260910: 469
System season_avg: 0.2720
Data season_avg (2026 season-to-date): 0.2741
Diff (system - data): -0.0021
System opponent_avg: 0.0770

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1930.0000.000Hitting_2B0.2150.000-0.2150.000
predicted_3B0.0300.0000.000Hitting_3B0.0300.000-0.0300.000
predicted_AB3.5633.0004.000Hitting_AB3.6484.000-0.648-1.000
predicted_AVG0.2720.0000.250Hitting_AVG0.2740.000-0.2740.000
predicted_BB0.3111.0000.000Hitting_BB0.3090.0000.6911.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H0.9700.0001.000Hitting_H1.0000.000-1.0000.000
predicted_HR0.1260.0000.000Hitting_HR0.1130.000-0.1130.000
predicted_OBP0.3310.2500.250Hitting_OBP0.3320.000-0.0820.250
predicted_R0.4890.0001.000Hitting_R0.4970.000-0.4970.000
predicted_RBI0.5780.0001.000Hitting_RBI0.6010.000-0.6010.000
predicted_SLG0.4490.0000.250Hitting_SLG0.4420.000-0.4420.000
predicted_SO0.9260.0002.000Hitting_SO0.9510.000-0.9510.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.3110 -> 1.0000 (boost 0.6890, better)
Biggest Deboostpredicted_H: 0.9700 -> 0.0000 (deboost -0.9700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AB: 3.5630 -> 3.6486 (boost 0.0856, better)predicted_AVG: 0.2720 -> 0.2657 (deboost -0.0063, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_RBI: 0.5854 -> 1.0000 (boost 0.4146, better)predicted_BB: 0.3177 -> 0.0000 (deboost -0.3177, worse)AB rounded to 4 (raw=3.65), rates preserved: AVG=0.256 HR/AB=0.040
6bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.077)
7consistency_constraints11010predicted_R: 0.5264 -> 1.0000 (boost 0.4736, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2709 (boost 0.2709, better)predicted_RBI: 1.0000 -> 0.5108 (deboost -0.4892, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63324predicted_SO: 1.2318 -> 2.0000 (boost 0.7682, worse)predicted_BB: 0.2709 -> 0.0000 (deboost -0.2709, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context40413-predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, better)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference61524predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.3700 -> 0.4463 (boost 0.0763, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677649",
  "player_name": "Ezequiel Duran",
  "position": "3B",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.193,
        "predicted_3B": 0.03,
        "predicted_AB": 3.563,
        "predicted_AVG": 0.272,
        "predicted_BB": 0.311,
        "predicted_H": 0.97,
        "predicted_HR": 0.126,
        "predicted_OBP": 0.331,
        "predicted_R": 0.489,
        "predicted_RBI": 0.578,
        "predicted_SLG": 0.449,
        "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.1713,
        "predicted_3B": 0.0252,
        "predicted_AB": 3.6486,
        "predicted_AVG": 0.2657,
        "predicted_BB": 0.3175,
        "predicted_H": 0.9691,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.1455,
        "predicted_OBP": 0.325,
        "predicted_R": 0.5229,
        "predicted_RBI": 0.5815,
        "predicted_SLG": 0.4459,
        "predicted_SO": 0.9134
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.193,
          "after": 0.1713,
          "delta": -0.0217,
          "percent_delta": -0.1124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.03,
          "after": 0.0252,
          "delta": -0.0048,
          "percent_delta": -0.16,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.563,
          "after": 3.6486,
          "delta": 0.0856,
          "percent_delta": 0.024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2657,
          "delta": -0.0063,
          "percent_delta": -0.0232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.311,
          "after": 0.3175,
          "delta": 0.0065,
          "percent_delta": 0.0209,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.97,
          "after": 0.9691,
          "delta": -0.0009,
          "percent_delta": -0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.126,
          "after": 0.1455,
          "delta": 0.0195,
          "percent_delta": 0.1548,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.325,
          "delta": -0.006,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.489,
          "after": 0.5229,
          "delta": 0.0339,
          "percent_delta": 0.0693,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.578,
          "after": 0.5815,
          "delta": 0.0035,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.449,
          "after": 0.4459,
          "delta": -0.0031,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.926,
          "after": 0.9134,
          "delta": -0.0126,
          "percent_delta": -0.0136,
          "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.563,
          "after": 3.6486,
          "delta": 0.0856,
          "percent_delta": 0.024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2657,
          "delta": -0.0063,
          "percent_delta": -0.0232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 135
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1713,
        "predicted_3B": 0.0252,
        "predicted_AB": 3.6486,
        "predicted_AVG": 0.2663,
        "predicted_BB": 0.3177,
        "predicted_H": 0.9717,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.1449,
        "predicted_OBP": 0.3251,
        "predicted_R": 0.5264,
        "predicted_RBI": 0.5854,
        "predicted_SLG": 0.4463,
        "predicted_SO": 0.9129
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1713,
          "after": 0.1713,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0252,
          "after": 0.0252,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6486,
          "after": 3.6486,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2657,
          "after": 0.2663,
          "delta": 0.0006,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3175,
          "after": 0.3177,
          "delta": 0.0002,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9691,
          "after": 0.9717,
          "delta": 0.0026,
          "percent_delta": 0.0027,
          "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.1455,
          "after": 0.1449,
          "delta": -0.0006,
          "percent_delta": -0.0041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3251,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5229,
          "after": 0.5264,
          "delta": 0.0035,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5815,
          "after": 0.5854,
          "delta": 0.0039,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4459,
          "after": 0.4463,
          "delta": 0.0004,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9134,
          "after": 0.9129,
          "delta": -0.0005,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.65), rates preserved: AVG=0.256 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.1713,
          "after": 0.0,
          "delta": -0.1713,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0252,
          "after": 0.0,
          "delta": -0.0252,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6486,
          "after": 4.0,
          "delta": 0.3514,
          "percent_delta": 0.0963,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3177,
          "after": 0.0,
          "delta": -0.3177,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9717,
          "after": 1.0,
          "delta": 0.0283,
          "percent_delta": 0.0291,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.1449,
          "after": 0.0,
          "delta": -0.1449,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5854,
          "after": 1.0,
          "delta": 0.4146,
          "percent_delta": 0.7082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9129,
          "after": 1.0,
          "delta": 0.0871,
          "percent_delta": 0.0954,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5854,
          "after": 1.0,
          "delta": 0.4146,
          "percent_delta": 0.7082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3177,
          "after": 0.0,
          "delta": -0.3177,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.077)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8791,
        "bvp": 0.1209
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5264,
          "after": 1.0,
          "delta": 0.4736,
          "percent_delta": 0.8997,
          "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.5264,
          "after": 1.0,
          "delta": 0.4736,
          "percent_delta": 0.8997,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1447,
        "predicted_3B": 0.0086,
        "predicted_BB": 0.2709,
        "predicted_H": 0.8444,
        "predicted_HR": 0.1296,
        "predicted_RBI": 0.5108,
        "predicted_SO": 1.2318
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1447,
          "delta": 0.1447,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0086,
          "delta": 0.0086,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2709,
          "delta": 0.2709,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8444,
          "delta": -0.1556,
          "percent_delta": -0.1556,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1296,
          "delta": 0.1296,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5108,
          "delta": -0.4892,
          "percent_delta": -0.4892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2318,
          "delta": 0.2318,
          "percent_delta": 0.2318,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2709,
          "delta": 0.2709,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5108,
          "delta": -0.4892,
          "percent_delta": -0.4892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1447,
          "after": 0.0,
          "delta": -0.1447,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0086,
          "after": 0.0,
          "delta": -0.0086,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2709,
          "after": 0.0,
          "delta": -0.2709,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8444,
          "after": 1.0,
          "delta": 0.1556,
          "percent_delta": 0.1843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1296,
          "after": 0.0,
          "delta": -0.1296,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5108,
          "after": 1.0,
          "delta": 0.4892,
          "percent_delta": 0.9577,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2318,
          "after": 2.0,
          "delta": 0.7682,
          "percent_delta": 0.6236,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.2318,
          "after": 2.0,
          "delta": 0.7682,
          "percent_delta": 0.6236,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2709,
          "after": 0.0,
          "delta": -0.2709,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.282,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.37,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2663,
          "after": 0.224,
          "delta": -0.0423,
          "percent_delta": -0.1588,
          "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.3251,
          "after": 0.282,
          "delta": -0.0431,
          "percent_delta": -0.1326,
          "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.4463,
          "after": 0.37,
          "delta": -0.0763,
          "percent_delta": -0.171,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2663,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3251,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4463,
        "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.224,
          "after": 0.2663,
          "delta": 0.0423,
          "percent_delta": 0.189,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.3251,
          "delta": 0.0431,
          "percent_delta": 0.1528,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.37,
          "after": 0.4463,
          "delta": 0.0763,
          "percent_delta": 0.2061,
          "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.37,
          "after": 0.4463,
          "delta": 0.0763,
          "percent_delta": 0.2061,
          "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.193,
        "after": 0.0,
        "delta": -0.193,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.563,
        "after": 3.0,
        "delta": -0.563,
        "percent_delta": -0.158,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.272,
        "after": 0.2663,
        "delta": -0.0057,
        "percent_delta": -0.021,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.311,
        "after": 1.0,
        "delta": 0.689,
        "percent_delta": 2.2154,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 0.0,
        "delta": -0.97,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.126,
        "after": 0.0,
        "delta": -0.126,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.331,
        "after": 0.3251,
        "delta": -0.0059,
        "percent_delta": -0.0178,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.489,
        "after": 0.0,
        "delta": -0.489,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.578,
        "after": 0.0,
        "delta": -0.578,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.449,
        "after": 0.4463,
        "delta": -0.0027,
        "percent_delta": -0.006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.926,
        "after": 0.0,
        "delta": -0.926,
        "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.311,
        "after": 1.0,
        "delta": 0.689,
        "percent_delta": 2.2154,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.97,
        "after": 0.0,
        "delta": -0.97,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.193-
predicted_3B0.030-
predicted_AB3.563-
predicted_AVG0.272-
predicted_BB0.311-
predicted_H0.970-
predicted_HR0.126-
predicted_OBP0.331-
predicted_R0.489-
predicted_RBI0.578-
predicted_SLG0.449-
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.171-0.022
predicted_3B0.025-0.005
predicted_AB3.6490.086
predicted_AVG0.266-0.006
predicted_BB0.3180.007
predicted_H0.969-0.001
predicted_HBP0.020-
predicted_HR0.1450.019
predicted_OBP0.325-0.006
predicted_R0.5230.034
predicted_RBI0.5820.004
predicted_SLG0.446-0.003
predicted_SO0.913-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.1710.000
predicted_3B0.0250.000
predicted_AB3.6490.000
predicted_AVG0.2660.001
predicted_BB0.3180.000
predicted_H0.9720.003
predicted_HBP0.0200.000
predicted_HR0.145-0.001
predicted_OBP0.3250.000
predicted_R0.5260.003
predicted_RBI0.5850.004
predicted_SLG0.4460.000
predicted_SO0.913-0.000
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.65), rates preserved: AVG=0.256 HR/AB=0.040

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.077)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1450.145
3B0.0090.009
BB0.2710.271
H0.844-0.156
HR0.1300.130
RBI0.511-0.489
SO1.2320.232
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.145
3B0.000-0.009
AB4.0000.000
BB0.000-0.271
H1.0000.156
HR0.000-0.130
R1.0000.000
RBI1.0000.489
SO2.0000.768
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.171
predicted_3B0.000-0.025
predicted_AB4.0000.351
predicted_AVG0.224-0.042
predicted_BB0.000-0.318
predicted_H1.0000.028
predicted_HR0.000-0.145
predicted_OBP0.282-0.043
predicted_R1.0000.474
predicted_RBI1.0000.415
predicted_SLG0.370-0.076
predicted_SO1.0000.087
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.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: 135
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.0000.0000.0001.0002.0003.0001.0005.0000.19050.22730.33330.19050.04760.09520.04760.2381
last_100.2010-39.00011.0001.0000.0003.0008.0008.0005.0007.0000.28210.36360.53850.28210.07690.20510.12820.1795
season0.60135-481.000131.00026.0004.00017.00078.00066.00042.000125.0000.27230.33270.44910.27230.03530.16220.08730.2599
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1430
predicted_3B0.0190
predicted_AB3.7600
predicted_AVG0.2574
predicted_BB0.3260
predicted_H0.9680
predicted_HBP0.0200
predicted_HR0.1710
predicted_OBP0.3171
predicted_R0.5670
predicted_RBI0.5860
predicted_SLG0.4419
predicted_SO0.8970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19300.14300.1713model_form_blend
predicted_3B0.03000.01900.0252model_form_blend
predicted_AB3.56303.76003.6486model_form_blend
predicted_AVG0.27200.25740.2657model_form_blend
predicted_BB0.31100.32600.3175model_form_blend
predicted_H0.97000.96800.9691model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.12600.17100.1455model_form_blend
predicted_OBP0.33100.31710.3250model_form_blend
predicted_R0.48900.56700.5229model_form_blend
predicted_RBI0.57800.58600.5815model_form_blend
predicted_SLG0.44900.44190.4459model_form_blend
predicted_SO0.92600.89700.9134model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 used135
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_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
allPositionsPlayedCF
gameID20260909_TEX@SEA
game_typefull
mlbID677649
playerID677649
playerNameEzequiel Duran
posSS
startedTrue
startingPositionCF
teamTEX
teamID28
game_date2026-09-09
sl_k_percent23.6
sl_bb_percent7.9
sl_woba0.343
sl_xwoba0.306
sl_xba0.245
sl_xslg0.38
sl_sweet_spot_percent35.5
sl_barrel_batted_rate6.5
sl_hard_hit_percent38.0
sl_exit_velocity_avg89.0
sl_launch_angle_avg12.1
sl_whiff_percent26.9
sl_swing_percent51.4
Joc Pederson (592626) · BATTER · DH · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 399
All-history rows before 20260910: 399
System season_avg: 0.2340
Data season_avg (2026 season-to-date): 0.2496
Diff (system - data): -0.0156
System opponent_avg: 0.3160
System season_avg diverges from 2026 season-to-date by -0.0156. 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.0851.0000.000Hitting_2B0.1130.0000.8871.000
predicted_3B0.0150.0000.000Hitting_3B0.0250.000-0.0250.000
predicted_AB2.8004.0003.000Hitting_AB3.2531.0000.7473.000
predicted_AVG0.2990.2500.333Hitting_AVG0.2500.0000.0000.250
predicted_BB0.3540.0001.000Hitting_BB0.4111.000-0.411-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.2901.0001.000Hitting_H0.8120.0000.1881.000
predicted_HR0.0900.0001.000Hitting_HR0.2330.000-0.2330.000
predicted_OBP0.3110.2500.500Hitting_OBP0.3380.500-0.088-0.250
predicted_R0.4231.0001.000Hitting_R0.5040.0000.4961.000
predicted_RBI0.1901.0000.000Hitting_RBI0.4660.0000.5341.000
predicted_SLG0.4580.5001.333Hitting_SLG0.5150.000-0.0150.500
predicted_SO0.7690.0001.000Hitting_SO0.8800.000-0.8800.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_AB: 2.8000 -> 4.0000 (boost 1.2000, better)
Biggest Deboostpredicted_SO: 0.7690 -> 0.0000 (deboost -0.7690, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_H: 0.2900 -> 0.4101 (boost 0.1201, better)predicted_AB: 2.8000 -> 2.7324 (deboost -0.0676, worse)Final model input calibrated 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.4615 -> 0.3344 (deboost -0.1271, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_AB: 2.7324 -> 3.0000 (boost 0.2676, better)predicted_H: 0.4112 -> 0.0000 (deboost -0.4112, worse)AB rounded to 3 (raw=2.80), rates preserved: AVG=0.141 HR/AB=0.048
6bvp_blend11010predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.316)
7consistency_constraints10101-predicted_R: 0.3981 -> 0.0000 (deboost -0.3981, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3747 (boost 0.3747, better)predicted_H: 1.0000 -> 0.7711 (deboost -0.2289, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation74352predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.3747 -> 0.0000 (deboost -0.3747, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context63333predicted_SLG: 0.3344 -> 0.4320 (boost 0.0976, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_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
12current_json_final30303-predicted_SLG: 0.4320 -> 0.3344 (deboost -0.0976, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "592626",
  "player_name": "Joc Pederson",
  "position": "DH",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.085,
        "predicted_3B": 0.015,
        "predicted_AB": 2.8,
        "predicted_AVG": 0.299,
        "predicted_BB": 0.354,
        "predicted_H": 0.29,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.311,
        "predicted_R": 0.423,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.458,
        "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.0712,
        "predicted_3B": 0.0124,
        "predicted_AB": 2.7324,
        "predicted_AVG": 0.2629,
        "predicted_BB": 0.3166,
        "predicted_H": 0.4101,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.136,
        "predicted_OBP": 0.3041,
        "predicted_R": 0.3955,
        "predicted_RBI": 0.2438,
        "predicted_SLG": 0.4615,
        "predicted_SO": 0.7845
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.085,
          "after": 0.0712,
          "delta": -0.0138,
          "percent_delta": -0.1624,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.015,
          "after": 0.0124,
          "delta": -0.0026,
          "percent_delta": -0.1733,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8,
          "after": 2.7324,
          "delta": -0.0676,
          "percent_delta": -0.0241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.299,
          "after": 0.2629,
          "delta": -0.0361,
          "percent_delta": -0.1207,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.354,
          "after": 0.3166,
          "delta": -0.0374,
          "percent_delta": -0.1056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.29,
          "after": 0.4101,
          "delta": 0.1201,
          "percent_delta": 0.4141,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.136,
          "delta": 0.046,
          "percent_delta": 0.5111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.3041,
          "delta": -0.0069,
          "percent_delta": -0.0222,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.423,
          "after": 0.3955,
          "delta": -0.0275,
          "percent_delta": -0.065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.2438,
          "delta": 0.0538,
          "percent_delta": 0.2832,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.458,
          "after": 0.4615,
          "delta": 0.0035,
          "percent_delta": 0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.769,
          "after": 0.7845,
          "delta": 0.0155,
          "percent_delta": 0.0202,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.29,
          "after": 0.4101,
          "delta": 0.1201,
          "percent_delta": 0.4141,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 2.8,
          "after": 2.7324,
          "delta": -0.0676,
          "percent_delta": -0.0241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.0712,
        "predicted_3B": 0.0124,
        "predicted_AB": 2.7324,
        "predicted_AVG": 0.1505,
        "predicted_BB": 0.3168,
        "predicted_H": 0.4112,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1355,
        "predicted_OBP": 0.2388,
        "predicted_R": 0.3981,
        "predicted_RBI": 0.2454,
        "predicted_SLG": 0.3344,
        "predicted_SO": 0.784
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0712,
          "after": 0.0712,
          "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.7324,
          "after": 2.7324,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2629,
          "after": 0.1505,
          "delta": -0.1124,
          "percent_delta": -0.4275,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3166,
          "after": 0.3168,
          "delta": 0.0002,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4101,
          "after": 0.4112,
          "delta": 0.0011,
          "percent_delta": 0.0027,
          "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.136,
          "after": 0.1355,
          "delta": -0.0005,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3041,
          "after": 0.2388,
          "delta": -0.0653,
          "percent_delta": -0.2147,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3955,
          "after": 0.3981,
          "delta": 0.0026,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2438,
          "after": 0.2454,
          "delta": 0.0016,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4615,
          "after": 0.3344,
          "delta": -0.1271,
          "percent_delta": -0.2754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7845,
          "after": 0.784,
          "delta": -0.0005,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4615,
          "after": 0.3344,
          "delta": -0.1271,
          "percent_delta": -0.2754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.80), rates preserved: AVG=0.141 HR/AB=0.048",
      "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.0712,
          "after": 0.0,
          "delta": -0.0712,
          "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.7324,
          "after": 3.0,
          "delta": 0.2676,
          "percent_delta": 0.0979,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3168,
          "after": 0.0,
          "delta": -0.3168,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4112,
          "after": 0.0,
          "delta": -0.4112,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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.1355,
          "after": 0.0,
          "delta": -0.1355,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2454,
          "after": 0.0,
          "delta": -0.2454,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.784,
          "after": 1.0,
          "delta": 0.216,
          "percent_delta": 0.2755,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.7324,
          "after": 3.0,
          "delta": 0.2676,
          "percent_delta": 0.0979,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4112,
          "after": 0.0,
          "delta": -0.4112,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.316)",
      "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": 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_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_H",
          "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.8449,
        "bvp": 0.1551
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3981,
          "after": 0.0,
          "delta": -0.3981,
          "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.3981,
          "after": 0.0,
          "delta": -0.3981,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.144,
        "predicted_3B": 0.0059,
        "predicted_BB": 0.3467,
        "predicted_H": 0.7711,
        "predicted_HR": 0.1859,
        "predicted_RBI": 0.3747,
        "predicted_SO": 1.0909
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.144,
          "delta": 0.144,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0059,
          "delta": 0.0059,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3467,
          "delta": 0.3467,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7711,
          "delta": -0.2289,
          "percent_delta": -0.2289,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1859,
          "delta": 0.1859,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3747,
          "delta": 0.3747,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0909,
          "delta": 0.0909,
          "percent_delta": 0.0909,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3747,
          "delta": 0.3747,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7711,
          "delta": -0.2289,
          "percent_delta": -0.2289,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.144,
          "after": 0.0,
          "delta": -0.144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0059,
          "after": 0.0,
          "delta": -0.0059,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3467,
          "after": 1.0,
          "delta": 0.6533,
          "percent_delta": 1.8843,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7711,
          "after": 1.0,
          "delta": 0.2289,
          "percent_delta": 0.2968,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1859,
          "after": 1.0,
          "delta": 0.8141,
          "percent_delta": 4.3792,
          "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.3747,
          "after": 0.0,
          "delta": -0.3747,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0909,
          "after": 1.0,
          "delta": -0.0909,
          "percent_delta": -0.0833,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3747,
          "after": 0.0,
          "delta": -0.3747,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.432,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1505,
          "after": 0.225,
          "delta": 0.0745,
          "percent_delta": 0.495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2388,
          "after": 0.301,
          "delta": 0.0622,
          "percent_delta": 0.2605,
          "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.3344,
          "after": 0.432,
          "delta": 0.0976,
          "percent_delta": 0.2919,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3344,
          "after": 0.432,
          "delta": 0.0976,
          "percent_delta": 0.2919,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1505,
        "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.2388,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3344,
        "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.225,
          "after": 0.1505,
          "delta": -0.0745,
          "percent_delta": -0.3311,
          "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.301,
          "after": 0.2388,
          "delta": -0.0622,
          "percent_delta": -0.2068,
          "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.432,
          "after": 0.3344,
          "delta": -0.0976,
          "percent_delta": -0.226,
          "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.432,
          "after": 0.3344,
          "delta": -0.0976,
          "percent_delta": -0.226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.085,
        "after": 1.0,
        "delta": 0.915,
        "percent_delta": 10.7647,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.015,
        "after": 0.0,
        "delta": -0.015,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.8,
        "after": 4.0,
        "delta": 1.2,
        "percent_delta": 0.4286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.299,
        "after": 0.1505,
        "delta": -0.1485,
        "percent_delta": -0.4967,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.354,
        "after": 0.0,
        "delta": -0.354,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.29,
        "after": 1.0,
        "delta": 0.71,
        "percent_delta": 2.4483,
        "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.311,
        "after": 0.2388,
        "delta": -0.0722,
        "percent_delta": -0.2322,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.423,
        "after": 1.0,
        "delta": 0.577,
        "percent_delta": 1.3641,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 1.0,
        "delta": 0.81,
        "percent_delta": 4.2632,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.458,
        "after": 0.3344,
        "delta": -0.1236,
        "percent_delta": -0.2699,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.769,
        "after": 0.0,
        "delta": -0.769,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.8,
        "after": 4.0,
        "delta": 1.2,
        "percent_delta": 0.4286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.769,
        "after": 0.0,
        "delta": -0.769,
        "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.085-
predicted_3B0.015-
predicted_AB2.800-
predicted_AVG0.299-
predicted_BB0.354-
predicted_H0.290-
predicted_HR0.090-
predicted_OBP0.311-
predicted_R0.423-
predicted_RBI0.190-
predicted_SLG0.458-
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.071-0.014
predicted_3B0.012-0.003
predicted_AB2.732-0.068
predicted_AVG0.263-0.036
predicted_BB0.317-0.037
predicted_H0.4100.120
predicted_HBP0.040-
predicted_HR0.1360.046
predicted_OBP0.304-0.007
predicted_R0.396-0.027
predicted_RBI0.2440.054
predicted_SLG0.4620.004
predicted_SO0.7840.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.0710.000
predicted_3B0.0120.000
predicted_AB2.7320.000
predicted_AVG0.150-0.112
predicted_BB0.3170.000
predicted_H0.4110.001
predicted_HBP0.0400.000
predicted_HR0.136-0.001
predicted_OBP0.239-0.065
predicted_R0.3980.003
predicted_RBI0.2450.002
predicted_SLG0.334-0.127
predicted_SO0.784-0.000
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.80), rates preserved: AVG=0.141 HR/AB=0.048

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H0.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.316)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0001.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1440.144
3B0.0060.006
BB0.3470.347
H0.771-0.229
HR0.1860.186
RBI0.3750.375
SO1.0910.091
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.144
3B0.000-0.006
AB3.0000.000
BB1.0000.653
H1.0000.229
HR1.0000.814
R1.0001.000
RBI0.000-0.375
SO1.000-0.091
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.071
predicted_3B0.000-0.012
predicted_AB3.0000.268
predicted_AVG0.2250.075
predicted_BB0.000-0.317
predicted_H1.0000.589
predicted_HR0.000-0.136
predicted_OBP0.3010.062
predicted_R0.000-0.398
predicted_RBI0.000-0.245
predicted_SLG0.4320.098
predicted_SO1.0000.216
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
RBI1.0001.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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-11.0002.0000.0000.0001.0001.0001.0001.0004.0000.18180.25000.45450.18180.09090.09090.09090.3636
last_100.2010-22.0004.0000.0000.0002.0002.0003.0001.0008.0000.18180.25000.45450.18180.09090.09090.04540.3636
season0.60130-364.00085.00011.0002.00025.00050.00055.00046.000100.0000.23350.32370.48080.23350.06870.13740.12640.2747
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0530
predicted_3B0.0090
predicted_AB2.6430
predicted_AVG0.2152
predicted_BB0.2670
predicted_H0.5690
predicted_HBP0.0400
predicted_HR0.1970
predicted_OBP0.2950
predicted_R0.3590
predicted_RBI0.3150
predicted_SLG0.4661
predicted_SO0.8050
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08500.05300.0712model_form_blend
predicted_3B0.01500.00900.0124model_form_blend
predicted_AB2.80002.64302.7324model_form_blend
predicted_AVG0.29900.21520.2629model_form_blend
predicted_BB0.35400.26700.3166model_form_blend
predicted_H0.29000.56900.4101model_form_blend
predicted_HBP-0.04000.0400form_only
predicted_HR0.09000.19700.1360model_form_blend
predicted_OBP0.31100.29500.3041model_form_blend
predicted_R0.42300.35900.3955model_form_blend
predicted_RBI0.19000.31500.2438model_form_blend
predicted_SLG0.45800.46610.4615model_form_blend
predicted_SO0.76900.80500.7845model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date399
Season rows before report date399
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
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_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_battingOrder7
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-DH
gameID20260909_TEX@SEA
game_typeph
mlbID592626
noteWalked for O'Hoppe in the 7th.
playerID592626
playerNameJoc Pederson
posDH
startedFalse
startingPositionPH
teamTEX
teamID28
game_date2026-09-09
sl_k_percent23.9
sl_bb_percent11.5
sl_woba0.349
sl_xwoba0.342
sl_xba0.241
sl_xslg0.444
sl_sweet_spot_percent30.5
sl_barrel_batted_rate11.3
sl_hard_hit_percent50.8
sl_exit_velocity_avg92.2
sl_launch_angle_avg16.2
sl_whiff_percent30.0
sl_swing_percent46.9
Wyatt Langford (694671) · BATTER · LF · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 339
All-history rows before 20260910: 339
System season_avg: 0.2420
Data season_avg (2026 season-to-date): 0.2570
Diff (system - data): -0.0150
System opponent_avg: 0.2630
System season_avg diverges from 2026 season-to-date by -0.0150. 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.1910.0000.000Hitting_2B0.1980.000-0.1980.000
predicted_3B0.0210.0000.000Hitting_3B0.0270.000-0.0270.000
predicted_AB4.3203.0004.000Hitting_AB3.9824.000-0.982-1.000
predicted_AVG0.1810.0000.250Hitting_AVG0.2570.000-0.2570.000
predicted_BB0.4471.0000.000Hitting_BB0.3750.0000.6251.000
predicted_CS-0.0000.000BaseRunning_CS0.0270.000-0.0270.000
predicted_H0.7800.0001.000Hitting_H1.0240.000-1.0240.000
predicted_HR0.1500.0000.000Hitting_HR0.1860.000-0.1860.000
predicted_OBP0.2870.2500.250Hitting_OBP0.3270.000-0.0770.250
predicted_R0.6060.0001.000Hitting_R0.6190.000-0.6190.000
predicted_RBI0.4300.0000.000Hitting_RBI0.4540.000-0.4540.000
predicted_SLG0.3400.0000.250Hitting_SLG0.4600.000-0.4600.000
predicted_SO0.9151.0001.000Hitting_SO0.9763.0000.024-2.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.4470 -> 1.0000 (boost 0.5530, better)
Biggest Deboostpredicted_AB: 4.3200 -> 3.0000 (deboost -1.3200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_BB: 0.4470 -> 0.5003 (boost 0.0533, better)predicted_AB: 4.3200 -> 4.0690 (deboost -0.2510, worse)Final model input calibrated 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.2916 -> 0.2718 (deboost -0.0198, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_H: 0.7416 -> 1.0000 (boost 0.2584, better)predicted_BB: 0.5006 -> 0.0000 (deboost -0.5006, worse)AB rounded to 4 (raw=4.32), rates preserved: AVG=0.165 HR/AB=0.036
6bvp_blend00000--Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.263)
7consistency_constraints11010predicted_R: 0.6313 -> 1.0000 (boost 0.3687, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3539 (boost 0.3539, better)predicted_H: 1.0000 -> 0.7981 (deboost -0.2019, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_H: 0.7981 -> 1.0000 (boost 0.2019, better)predicted_RBI: 0.3539 -> 0.0000 (deboost -0.3539, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_AVG: 0.1823 -> 0.2220 (boost 0.0397, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference41313predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_AVG: 0.2220 -> 0.1823 (deboost -0.0397, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "694671",
  "player_name": "Wyatt Langford",
  "position": "LF",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.191,
        "predicted_3B": 0.021,
        "predicted_AB": 4.32,
        "predicted_AVG": 0.181,
        "predicted_BB": 0.447,
        "predicted_H": 0.78,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.287,
        "predicted_R": 0.606,
        "predicted_RBI": 0.43,
        "predicted_SLG": 0.34,
        "predicted_SO": 0.915
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1755,
        "predicted_3B": 0.0176,
        "predicted_AB": 4.069,
        "predicted_AVG": 0.1821,
        "predicted_BB": 0.5003,
        "predicted_H": 0.7396,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1543,
        "predicted_OBP": 0.2916,
        "predicted_R": 0.6271,
        "predicted_RBI": 0.4042,
        "predicted_SLG": 0.3487,
        "predicted_SO": 0.9356
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.191,
          "after": 0.1755,
          "delta": -0.0155,
          "percent_delta": -0.0812,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.021,
          "after": 0.0176,
          "delta": -0.0034,
          "percent_delta": -0.1619,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.32,
          "after": 4.069,
          "delta": -0.251,
          "percent_delta": -0.0581,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.181,
          "after": 0.1821,
          "delta": 0.0011,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.447,
          "after": 0.5003,
          "delta": 0.0533,
          "percent_delta": 0.1192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.78,
          "after": 0.7396,
          "delta": -0.0404,
          "percent_delta": -0.0518,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1543,
          "delta": 0.0043,
          "percent_delta": 0.0287,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2916,
          "delta": 0.0046,
          "percent_delta": 0.016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.606,
          "after": 0.6271,
          "delta": 0.0211,
          "percent_delta": 0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.43,
          "after": 0.4042,
          "delta": -0.0258,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.34,
          "after": 0.3487,
          "delta": 0.0087,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.915,
          "after": 0.9356,
          "delta": 0.0206,
          "percent_delta": 0.0225,
          "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.447,
          "after": 0.5003,
          "delta": 0.0533,
          "percent_delta": 0.1192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.32,
          "after": 4.069,
          "delta": -0.251,
          "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": 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.1755,
        "predicted_3B": 0.0176,
        "predicted_AB": 4.069,
        "predicted_AVG": 0.1823,
        "predicted_BB": 0.5006,
        "predicted_H": 0.7416,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1537,
        "predicted_OBP": 0.2718,
        "predicted_R": 0.6313,
        "predicted_RBI": 0.4069,
        "predicted_SLG": 0.3474,
        "predicted_SO": 0.935
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1755,
          "after": 0.1755,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0176,
          "after": 0.0176,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.069,
          "after": 4.069,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1821,
          "after": 0.1823,
          "delta": 0.0002,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5003,
          "after": 0.5006,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7396,
          "after": 0.7416,
          "delta": 0.002,
          "percent_delta": 0.0027,
          "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.1543,
          "after": 0.1537,
          "delta": -0.0006,
          "percent_delta": -0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2916,
          "after": 0.2718,
          "delta": -0.0198,
          "percent_delta": -0.0679,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6271,
          "after": 0.6313,
          "delta": 0.0042,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4042,
          "after": 0.4069,
          "delta": 0.0027,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3487,
          "after": 0.3474,
          "delta": -0.0013,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.9356,
          "after": 0.935,
          "delta": -0.0006,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2916,
          "after": 0.2718,
          "delta": -0.0198,
          "percent_delta": -0.0679,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.32), rates preserved: AVG=0.165 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.1755,
          "after": 0.0,
          "delta": -0.1755,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0176,
          "after": 0.0,
          "delta": -0.0176,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.069,
          "after": 4.0,
          "delta": -0.069,
          "percent_delta": -0.017,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5006,
          "after": 0.0,
          "delta": -0.5006,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7416,
          "after": 1.0,
          "delta": 0.2584,
          "percent_delta": 0.3484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.025,
          "after": 0.0,
          "delta": -0.025,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1537,
          "after": 0.0,
          "delta": -0.1537,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4069,
          "after": 0.0,
          "delta": -0.4069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.935,
          "after": 1.0,
          "delta": 0.065,
          "percent_delta": 0.0695,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7416,
          "after": 1.0,
          "delta": 0.2584,
          "percent_delta": 0.3484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5006,
          "after": 0.0,
          "delta": -0.5006,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.263)",
      "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.8449,
        "bvp": 0.1551
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6313,
          "after": 1.0,
          "delta": 0.3687,
          "percent_delta": 0.584,
          "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.6313,
          "after": 1.0,
          "delta": 0.3687,
          "percent_delta": 0.584,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1588,
        "predicted_3B": 0.0064,
        "predicted_BB": 0.3206,
        "predicted_H": 0.7981,
        "predicted_HR": 0.138,
        "predicted_RBI": 0.3539,
        "predicted_SO": 1.0792
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1588,
          "delta": 0.1588,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0064,
          "delta": 0.0064,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3206,
          "delta": 0.3206,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7981,
          "delta": -0.2019,
          "percent_delta": -0.2019,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.138,
          "delta": 0.138,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3539,
          "delta": 0.3539,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0792,
          "delta": 0.0792,
          "percent_delta": 0.0792,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3539,
          "delta": 0.3539,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7981,
          "delta": -0.2019,
          "percent_delta": -0.2019,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1588,
          "after": 0.0,
          "delta": -0.1588,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0064,
          "after": 0.0,
          "delta": -0.0064,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3206,
          "after": 0.0,
          "delta": -0.3206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7981,
          "after": 1.0,
          "delta": 0.2019,
          "percent_delta": 0.253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.138,
          "after": 0.0,
          "delta": -0.138,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3539,
          "after": 0.0,
          "delta": -0.3539,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0792,
          "after": 1.0,
          "delta": -0.0792,
          "percent_delta": -0.0734,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7981,
          "after": 1.0,
          "delta": 0.2019,
          "percent_delta": 0.253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3539,
          "after": 0.0,
          "delta": -0.3539,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.292,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.385,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1823,
          "after": 0.222,
          "delta": 0.0397,
          "percent_delta": 0.2178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2718,
          "after": 0.292,
          "delta": 0.0202,
          "percent_delta": 0.0743,
          "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.3474,
          "after": 0.385,
          "delta": 0.0376,
          "percent_delta": 0.1082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.1823,
          "after": 0.222,
          "delta": 0.0397,
          "percent_delta": 0.2178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1823,
        "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.2718,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3474,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.1823,
          "delta": -0.0397,
          "percent_delta": -0.179,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.292,
          "after": 0.2718,
          "delta": -0.0202,
          "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_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.385,
          "after": 0.3474,
          "delta": -0.0376,
          "percent_delta": -0.0977,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.1823,
          "delta": -0.0397,
          "percent_delta": -0.179,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.191,
        "after": 0.0,
        "delta": -0.191,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.021,
        "after": 0.0,
        "delta": -0.021,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.32,
        "after": 3.0,
        "delta": -1.32,
        "percent_delta": -0.3056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.181,
        "after": 0.1823,
        "delta": 0.0013,
        "percent_delta": 0.0072,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.447,
        "after": 1.0,
        "delta": 0.553,
        "percent_delta": 1.2371,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 0.0,
        "delta": -0.78,
        "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.287,
        "after": 0.2718,
        "delta": -0.0152,
        "percent_delta": -0.053,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.606,
        "after": 0.0,
        "delta": -0.606,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.43,
        "after": 0.0,
        "delta": -0.43,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.34,
        "after": 0.3474,
        "delta": 0.0074,
        "percent_delta": 0.0218,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.915,
        "after": 1.0,
        "delta": 0.085,
        "percent_delta": 0.0929,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.447,
        "after": 1.0,
        "delta": 0.553,
        "percent_delta": 1.2371,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.32,
        "after": 3.0,
        "delta": -1.32,
        "percent_delta": -0.3056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.191-
predicted_3B0.021-
predicted_AB4.320-
predicted_AVG0.181-
predicted_BB0.447-
predicted_H0.780-
predicted_HR0.150-
predicted_OBP0.287-
predicted_R0.606-
predicted_RBI0.430-
predicted_SLG0.340-
predicted_SO0.915-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.175-0.016
predicted_3B0.018-0.003
predicted_AB4.069-0.251
predicted_AVG0.1820.001
predicted_BB0.5000.053
predicted_H0.740-0.040
predicted_HBP0.025-
predicted_HR0.1540.004
predicted_OBP0.2920.005
predicted_R0.6270.021
predicted_RBI0.404-0.026
predicted_SLG0.3490.009
predicted_SO0.9360.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.1750.000
predicted_3B0.0180.000
predicted_AB4.0690.000
predicted_AVG0.1820.000
predicted_BB0.5010.000
predicted_H0.7420.002
predicted_HBP0.0250.000
predicted_HR0.154-0.001
predicted_OBP0.272-0.020
predicted_R0.6310.004
predicted_RBI0.4070.003
predicted_SLG0.347-0.001
predicted_SO0.935-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.32), rates preserved: AVG=0.165 HR/AB=0.036

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.263)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1590.159
3B0.0060.006
BB0.3210.321
H0.798-0.202
HR0.1380.138
RBI0.3540.354
SO1.0790.079
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.159
3B0.000-0.006
AB4.0000.000
BB0.000-0.321
H1.0000.202
HR0.000-0.138
R1.0000.000
RBI0.000-0.354
SO1.000-0.079
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.175
predicted_3B0.000-0.018
predicted_AB4.000-0.069
predicted_AVG0.2220.040
predicted_BB0.000-0.501
predicted_H1.0000.258
predicted_HR0.000-0.154
predicted_OBP0.2920.020
predicted_R1.0000.369
predicted_RBI0.000-0.407
predicted_SLG0.3850.038
predicted_SO1.0000.065
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 94
Reference playing time: 4.320
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0001.0000.0000.0001.0002.0003.0004.0006.0000.05560.22730.22220.05560.05560.11110.22220.3333
last_100.2010-36.0004.0002.0000.0001.0002.0009.0008.0009.0000.11110.27270.25000.11110.02780.05560.22220.2500
season0.6094-359.00087.00018.0002.00016.00038.00057.00042.00086.0000.24230.32840.43730.24230.04460.10580.11700.2396
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1550
predicted_3B0.0130
predicted_AB3.7360
predicted_AVG0.1835
predicted_BB0.5710
predicted_H0.6860
predicted_HBP0.0250
predicted_HR0.1600
predicted_OBP0.2976
predicted_R0.6550
predicted_RBI0.3700
predicted_SLG0.3603
predicted_SO0.9630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19100.15500.1755model_form_blend
predicted_3B0.02100.01300.0176model_form_blend
predicted_AB4.32003.73604.0690model_form_blend
predicted_AVG0.18100.18350.1821model_form_blend
predicted_BB0.44700.57100.5003model_form_blend
predicted_H0.78000.68600.7396model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.15000.16000.1543model_form_blend
predicted_OBP0.28700.29760.2916model_form_blend
predicted_R0.60600.65500.6271model_form_blend
predicted_RBI0.43000.37000.4042model_form_blend
predicted_SLG0.34000.36030.3487model_form_blend
predicted_SO0.91500.96300.9356model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date339
Season rows before report date339
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
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_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
allPositionsPlayedLF
gameID20260909_TEX@SEA
game_typefull
mlbID694671
playerID694671
playerNameWyatt Langford
posLF
startedTrue
startingPositionLF
teamTEX
teamID28
game_date2026-09-09
sl_k_percent20.7
sl_bb_percent10.5
sl_woba0.339
sl_xwoba0.316
sl_xba0.237
sl_xslg0.39
sl_sweet_spot_percent32.4
sl_barrel_batted_rate6.6
sl_hard_hit_percent37.1
sl_exit_velocity_avg89.0
sl_launch_angle_avg19.8
sl_whiff_percent23.5
sl_swing_percent47.9
Brandon Nimmo (607043) · BATTER · RF · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 527
All-history rows before 20260910: 527
System season_avg: 0.2630
Data season_avg (2026 season-to-date): 0.2717
Diff (system - data): -0.0087
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.2210.0000.000Hitting_2B0.2310.000-0.2310.000
predicted_3B0.0291.0000.000Hitting_3B0.0360.0000.9641.000
predicted_AB4.9004.0004.000Hitting_AB3.9394.0000.0610.000
predicted_AVG0.2510.5000.250Hitting_AVG0.2720.5000.2280.000
predicted_BB0.3290.0000.000Hitting_BB0.3300.000-0.3300.000
predicted_CS-0.0000.000BaseRunning_CS0.0060.000-0.0060.000
predicted_H1.2302.0001.000Hitting_H1.0702.0000.9300.000
predicted_HR0.1400.0000.000Hitting_HR0.1100.000-0.1100.000
predicted_OBP0.3000.5000.250Hitting_OBP0.3350.5000.1650.000
predicted_R0.4001.0000.000Hitting_R0.4380.0000.5621.000
predicted_RBI0.4803.0001.000Hitting_RBI0.4360.0002.5643.000
predicted_SLG0.3881.0000.250Hitting_SLG0.4330.5000.5670.500
predicted_SO0.9071.0001.000Hitting_SO0.9450.0000.0551.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.4800 -> 3.0000 (boost 2.5200, better)
Biggest Deboostpredicted_AB: 4.9000 -> 4.0000 (deboost -0.9000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30303-predicted_AB: 4.9000 -> 4.4859 (deboost -0.4141, worse)Final model input calibrated 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.3674 -> 0.3739 (boost 0.0065, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.9126 -> 1.0000 (boost 0.0874, worse)predicted_AB: 4.4859 -> 4.0000 (deboost -0.4859, worse)AB rounded to 4 (raw=4.90), rates preserved: AVG=0.218 HR/AB=0.022
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)
7consistency_constraints10101-predicted_R: 0.3584 -> 0.0000 (deboost -0.3584, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4058 (boost 0.4058, better)predicted_H: 1.0000 -> 0.8768 (deboost -0.1232, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62433predicted_RBI: 0.4058 -> 1.0000 (boost 0.5942, better)predicted_BB: 0.2898 -> 0.0000 (deboost -0.2898, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context41313predicted_SLG: 0.3739 -> 0.3840 (boost 0.0101, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference44040predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_AVG: 0.2300 -> 0.2481 (boost 0.0181, better)predicted_SLG: 0.3840 -> 0.3739 (deboost -0.0101, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "607043",
  "player_name": "Brandon Nimmo",
  "position": "RF",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.221,
        "predicted_3B": 0.029,
        "predicted_AB": 4.9,
        "predicted_AVG": 0.251,
        "predicted_BB": 0.329,
        "predicted_H": 1.23,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.3,
        "predicted_R": 0.4,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.907
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.194,
        "predicted_3B": 0.0242,
        "predicted_AB": 4.4859,
        "predicted_AVG": 0.247,
        "predicted_BB": 0.3011,
        "predicted_H": 1.1101,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1077,
        "predicted_OBP": 0.2954,
        "predicted_R": 0.356,
        "predicted_RBI": 0.4464,
        "predicted_SLG": 0.3674,
        "predicted_SO": 0.9131
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.221,
          "after": 0.194,
          "delta": -0.027,
          "percent_delta": -0.1222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.029,
          "after": 0.0242,
          "delta": -0.0048,
          "percent_delta": -0.1655,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.9,
          "after": 4.4859,
          "delta": -0.4141,
          "percent_delta": -0.0845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.251,
          "after": 0.247,
          "delta": -0.004,
          "percent_delta": -0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.329,
          "after": 0.3011,
          "delta": -0.0279,
          "percent_delta": -0.0848,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.23,
          "after": 1.1101,
          "delta": -0.1199,
          "percent_delta": -0.0975,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1077,
          "delta": -0.0323,
          "percent_delta": -0.2307,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2954,
          "delta": -0.0046,
          "percent_delta": -0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4,
          "after": 0.356,
          "delta": -0.044,
          "percent_delta": -0.11,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.4464,
          "delta": -0.0336,
          "percent_delta": -0.07,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3674,
          "delta": -0.0206,
          "percent_delta": -0.0531,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.907,
          "after": 0.9131,
          "delta": 0.0061,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.9,
          "after": 4.4859,
          "delta": -0.4141,
          "percent_delta": -0.0845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 140
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.194,
        "predicted_3B": 0.0242,
        "predicted_AB": 4.4859,
        "predicted_AVG": 0.2481,
        "predicted_BB": 0.3013,
        "predicted_H": 1.1131,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.1073,
        "predicted_OBP": 0.2955,
        "predicted_R": 0.3584,
        "predicted_RBI": 0.4494,
        "predicted_SLG": 0.3739,
        "predicted_SO": 0.9126
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.194,
          "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.4859,
          "after": 4.4859,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2481,
          "delta": 0.0011,
          "percent_delta": 0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3011,
          "after": 0.3013,
          "delta": 0.0002,
          "percent_delta": 0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1101,
          "after": 1.1131,
          "delta": 0.003,
          "percent_delta": 0.0027,
          "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.1077,
          "after": 0.1073,
          "delta": -0.0004,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2954,
          "after": 0.2955,
          "delta": 0.0001,
          "percent_delta": 0.0003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.356,
          "after": 0.3584,
          "delta": 0.0024,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4464,
          "after": 0.4494,
          "delta": 0.003,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3674,
          "after": 0.3739,
          "delta": 0.0065,
          "percent_delta": 0.0177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9131,
          "after": 0.9126,
          "delta": -0.0005,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_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.3674,
          "after": 0.3739,
          "delta": 0.0065,
          "percent_delta": 0.0177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.90), rates preserved: AVG=0.218 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.194,
          "after": 0.0,
          "delta": -0.194,
          "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.4859,
          "after": 4.0,
          "delta": -0.4859,
          "percent_delta": -0.1083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3013,
          "after": 0.0,
          "delta": -0.3013,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1131,
          "after": 1.0,
          "delta": -0.1131,
          "percent_delta": -0.1016,
          "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.1073,
          "after": 0.0,
          "delta": -0.1073,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4494,
          "after": 0.0,
          "delta": -0.4494,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9126,
          "after": 1.0,
          "delta": 0.0874,
          "percent_delta": 0.0958,
          "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.9126,
          "after": 1.0,
          "delta": 0.0874,
          "percent_delta": 0.0958,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.4859,
          "after": 4.0,
          "delta": -0.4859,
          "percent_delta": -0.1083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.3584,
          "after": 0.0,
          "delta": -0.3584,
          "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.3584,
          "after": 0.0,
          "delta": -0.3584,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1565,
        "predicted_3B": 0.0081,
        "predicted_BB": 0.2898,
        "predicted_H": 0.8768,
        "predicted_HR": 0.1373,
        "predicted_RBI": 0.4058,
        "predicted_SO": 1.0628
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1565,
          "delta": 0.1565,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0081,
          "delta": 0.0081,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2898,
          "delta": 0.2898,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8768,
          "delta": -0.1232,
          "percent_delta": -0.1232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1373,
          "delta": 0.1373,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4058,
          "delta": 0.4058,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0628,
          "delta": 0.0628,
          "percent_delta": 0.0628,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4058,
          "delta": 0.4058,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8768,
          "delta": -0.1232,
          "percent_delta": -0.1232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1565,
          "after": 0.0,
          "delta": -0.1565,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0081,
          "after": 0.0,
          "delta": -0.0081,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2898,
          "after": 0.0,
          "delta": -0.2898,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8768,
          "after": 1.0,
          "delta": 0.1232,
          "percent_delta": 0.1405,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1373,
          "after": 0.0,
          "delta": -0.1373,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4058,
          "after": 1.0,
          "delta": 0.5942,
          "percent_delta": 1.4643,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0628,
          "after": 1.0,
          "delta": -0.0628,
          "percent_delta": -0.0591,
          "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.4058,
          "after": 1.0,
          "delta": 0.5942,
          "percent_delta": 1.4643,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2898,
          "after": 0.0,
          "delta": -0.2898,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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.2481,
          "after": 0.23,
          "delta": -0.0181,
          "percent_delta": -0.073,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2955,
          "after": 0.29,
          "delta": -0.0055,
          "percent_delta": -0.0186,
          "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.3739,
          "after": 0.384,
          "delta": 0.0101,
          "percent_delta": 0.027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3739,
          "after": 0.384,
          "delta": 0.0101,
          "percent_delta": 0.027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 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": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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_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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2481,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2955,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3739,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "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.23,
          "after": 0.2481,
          "delta": 0.0181,
          "percent_delta": 0.0788,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.2955,
          "delta": 0.0055,
          "percent_delta": 0.0188,
          "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": 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.384,
          "after": 0.3739,
          "delta": -0.0101,
          "percent_delta": -0.0262,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2481,
          "delta": 0.0181,
          "percent_delta": 0.0788,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.384,
          "after": 0.3739,
          "delta": -0.0101,
          "percent_delta": -0.0262,
          "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.029,
        "after": 1.0,
        "delta": 0.971,
        "percent_delta": 33.4828,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.9,
        "after": 4.0,
        "delta": -0.9,
        "percent_delta": -0.1837,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.251,
        "after": 0.2481,
        "delta": -0.0029,
        "percent_delta": -0.0116,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.329,
        "after": 0.0,
        "delta": -0.329,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.23,
        "after": 2.0,
        "delta": 0.77,
        "percent_delta": 0.626,
        "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.3,
        "after": 0.2955,
        "delta": -0.0045,
        "percent_delta": -0.015,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.4,
        "after": 1.0,
        "delta": 0.6,
        "percent_delta": 1.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 3.0,
        "delta": 2.52,
        "percent_delta": 5.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.388,
        "after": 0.3739,
        "delta": -0.0141,
        "percent_delta": -0.0363,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.907,
        "after": 1.0,
        "delta": 0.093,
        "percent_delta": 0.1025,
        "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.48,
        "after": 3.0,
        "delta": 2.52,
        "percent_delta": 5.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.9,
        "after": 4.0,
        "delta": -0.9,
        "percent_delta": -0.1837,
        "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.221-
predicted_3B0.029-
predicted_AB4.900-
predicted_AVG0.251-
predicted_BB0.329-
predicted_H1.230-
predicted_HR0.140-
predicted_OBP0.300-
predicted_R0.400-
predicted_RBI0.480-
predicted_SLG0.388-
predicted_SO0.907-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.027
predicted_3B0.024-0.005
predicted_AB4.486-0.414
predicted_AVG0.247-0.004
predicted_BB0.301-0.028
predicted_H1.110-0.120
predicted_HBP0.031-
predicted_HR0.108-0.032
predicted_OBP0.295-0.005
predicted_R0.356-0.044
predicted_RBI0.446-0.034
predicted_SLG0.367-0.021
predicted_SO0.9130.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.1940.000
predicted_3B0.0240.000
predicted_AB4.4860.000
predicted_AVG0.2480.001
predicted_BB0.3010.000
predicted_H1.1130.003
predicted_HBP0.0310.000
predicted_HR0.107-0.000
predicted_OBP0.2950.000
predicted_R0.3580.002
predicted_RBI0.4490.003
predicted_SLG0.3740.007
predicted_SO0.913-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.90), rates preserved: AVG=0.218 HR/AB=0.022

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1570.157
3B0.0080.008
BB0.2900.290
H0.877-0.123
HR0.1370.137
RBI0.4060.406
SO1.0630.063
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.157
3B0.000-0.008
AB4.0000.000
BB0.000-0.290
H1.0000.123
HR0.000-0.137
R0.0000.000
RBI1.0000.594
SO1.000-0.063
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.194
predicted_3B0.000-0.024
predicted_AB4.000-0.486
predicted_AVG0.230-0.018
predicted_BB0.000-0.301
predicted_H1.000-0.113
predicted_HR0.000-0.107
predicted_OBP0.290-0.006
predicted_R0.000-0.358
predicted_RBI0.000-0.449
predicted_SLG0.3840.010
predicted_SO1.0000.087
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
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: 140
Reference playing time: 4.900
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-22.0003.0000.0000.0000.0000.0000.0000.0005.0000.13640.13640.13640.13640.00000.00000.00000.2273
last_100.2010-39.00011.0001.0000.0000.0007.0002.0003.0009.0000.28210.32560.30770.28210.00000.17950.07690.2308
season0.60140-536.000141.00031.0004.00014.00058.00056.00046.000127.0000.26310.32720.41420.26310.02610.10820.08580.2369
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1590
predicted_3B0.0180
predicted_AB3.9500
predicted_AVG0.2419
predicted_BB0.2650
predicted_H0.9550
predicted_HBP0.0310
predicted_HR0.0660
predicted_OBP0.2895
predicted_R0.2990
predicted_RBI0.4030
predicted_SLG0.3407
predicted_SO0.9210
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22100.15900.1940model_form_blend
predicted_3B0.02900.01800.0242model_form_blend
predicted_AB4.90003.95004.4859model_form_blend
predicted_AVG0.25100.24190.2470model_form_blend
predicted_BB0.32900.26500.3011model_form_blend
predicted_H1.23000.95501.1101model_form_blend
predicted_HBP-0.03100.0310form_only
predicted_HR0.14000.06600.1077model_form_blend
predicted_OBP0.30000.28950.2954model_form_blend
predicted_R0.40000.29900.3560model_form_blend
predicted_RBI0.48000.40300.4464model_form_blend
predicted_SLG0.38800.34070.3674model_form_blend
predicted_SO0.90700.92100.9131model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date527
Season rows before report date527
Report year2026
Profile rows used140
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H2
2B0
3B1
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.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_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
gameID20260909_TEX@SEA
game_typefull
mlbID607043
playerID607043
playerNameBrandon Nimmo
posRF
startedTrue
startingPositionRF
teamTEX
teamID28
game_date2026-09-09
sl_k_percent21.6
sl_bb_percent7.8
sl_woba0.324
sl_xwoba0.35
sl_xba0.275
sl_xslg0.463
sl_sweet_spot_percent34.7
sl_barrel_batted_rate9.8
sl_hard_hit_percent51.3
sl_exit_velocity_avg92.3
sl_launch_angle_avg10.3
sl_whiff_percent22.2
sl_swing_percent50.9
Corey Seager (608369) · BATTER · SS · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 302
All-history rows before 20260910: 302
System season_avg: 0.2300
Data season_avg (2026 season-to-date): 0.2167
Diff (system - data): 0.0133
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.1651.0001.000Hitting_2B0.1490.0000.8511.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3704.0004.000Hitting_AB3.7284.0000.2720.000
predicted_AVG0.2570.2500.250Hitting_AVG0.2170.5000.033-0.250
predicted_BB0.5060.0001.000Hitting_BB0.5500.000-0.5500.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.1301.0001.000Hitting_H0.8082.0000.192-1.000
predicted_HR0.3900.0000.000Hitting_HR0.1921.000-0.192-1.000
predicted_OBP0.3540.2500.400Hitting_OBP0.3200.500-0.070-0.250
predicted_R0.6001.0001.000Hitting_R0.5891.0000.4110.000
predicted_RBI0.6300.0001.000Hitting_RBI0.4641.000-0.464-1.000
predicted_SLG0.5240.5000.500Hitting_SLG0.4111.2500.089-0.750
predicted_SO1.0121.0001.000Hitting_SO1.0531.000-0.0530.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics9
Boosted Metrics3
Deboosted Metrics6
Better Metrics3
Worse Metrics6
Biggest Boostpredicted_2B: 0.1650 -> 1.0000 (boost 0.8350, 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.3700 -> 4.1411 (deboost -0.2289, worse)Final model input calibrated 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.5286 -> 0.5521 (boost 0.0235, better)predicted_OBP: 0.3471 -> 0.3368 (deboost -0.0103, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61515predicted_RBI: 0.5860 -> 1.0000 (boost 0.4140, better)predicted_BB: 0.4764 -> 0.0000 (deboost -0.4764, worse)AB rounded to 4 (raw=4.37), rates preserved: AVG=0.237 HR/AB=0.080
6bvp_blend00000--Sample-size BvP blend (BvP AB=33.0, weight=0.210, BvP AVG=0.333)
7consistency_constraints11010predicted_R: 0.6333 -> 1.0000 (boost 0.3667, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.4082 (boost 0.4082, better)predicted_RBI: 1.0000 -> 0.4237 (deboost -0.5763, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation64251predicted_2B: 0.1730 -> 1.0000 (boost 0.8270, better)predicted_HR: 0.1811 -> 0.0000 (deboost -0.1811, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context50505-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference21111predicted_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
12current_json_final33030predicted_SLG: 0.4150 -> 0.5521 (boost 0.1371, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "608369",
  "player_name": "Corey Seager",
  "position": "SS",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.165,
        "predicted_3B": 0.0,
        "predicted_AB": 4.37,
        "predicted_AVG": 0.257,
        "predicted_BB": 0.506,
        "predicted_H": 1.13,
        "predicted_HR": 0.39,
        "predicted_OBP": 0.354,
        "predicted_R": 0.6,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.524,
        "predicted_SO": 1.012
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1564,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1411,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.4761,
        "predicted_H": 1.0757,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.3515,
        "predicted_OBP": 0.3471,
        "predicted_R": 0.6291,
        "predicted_RBI": 0.5821,
        "predicted_SLG": 0.5286,
        "predicted_SO": 0.9735
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.165,
          "after": 0.1564,
          "delta": -0.0086,
          "percent_delta": -0.0521,
          "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.37,
          "after": 4.1411,
          "delta": -0.2289,
          "percent_delta": -0.0524,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.257,
          "after": 0.259,
          "delta": 0.002,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.506,
          "after": 0.4761,
          "delta": -0.0299,
          "percent_delta": -0.0591,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.13,
          "after": 1.0757,
          "delta": -0.0543,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.39,
          "after": 0.3515,
          "delta": -0.0385,
          "percent_delta": -0.0987,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.354,
          "after": 0.3471,
          "delta": -0.0069,
          "percent_delta": -0.0195,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6,
          "after": 0.6291,
          "delta": 0.0291,
          "percent_delta": 0.0485,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.63,
          "after": 0.5821,
          "delta": -0.0479,
          "percent_delta": -0.076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.524,
          "after": 0.5286,
          "delta": 0.0046,
          "percent_delta": 0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.012,
          "after": 0.9735,
          "delta": -0.0385,
          "percent_delta": -0.038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.37,
          "after": 4.1411,
          "delta": -0.2289,
          "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": 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.1564,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1411,
        "predicted_AVG": 0.2605,
        "predicted_BB": 0.4764,
        "predicted_H": 1.0786,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.3502,
        "predicted_OBP": 0.3368,
        "predicted_R": 0.6333,
        "predicted_RBI": 0.586,
        "predicted_SLG": 0.5521,
        "predicted_SO": 0.9729
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1564,
          "after": 0.1564,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1411,
          "after": 4.1411,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2605,
          "delta": 0.0015,
          "percent_delta": 0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4761,
          "after": 0.4764,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0757,
          "after": 1.0786,
          "delta": 0.0029,
          "percent_delta": 0.0027,
          "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.3515,
          "after": 0.3502,
          "delta": -0.0013,
          "percent_delta": -0.0037,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3471,
          "after": 0.3368,
          "delta": -0.0103,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6291,
          "after": 0.6333,
          "delta": 0.0042,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5821,
          "after": 0.586,
          "delta": 0.0039,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5286,
          "after": 0.5521,
          "delta": 0.0235,
          "percent_delta": 0.0445,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9735,
          "after": 0.9729,
          "delta": -0.0006,
          "percent_delta": -0.0006,
          "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.5286,
          "after": 0.5521,
          "delta": 0.0235,
          "percent_delta": 0.0445,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3471,
          "after": 0.3368,
          "delta": -0.0103,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.37), rates preserved: AVG=0.237 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.1564,
          "after": 0.0,
          "delta": -0.1564,
          "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.1411,
          "after": 4.0,
          "delta": -0.1411,
          "percent_delta": -0.0341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4764,
          "after": 0.0,
          "delta": -0.4764,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0786,
          "after": 1.0,
          "delta": -0.0786,
          "percent_delta": -0.0729,
          "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.3502,
          "after": 0.0,
          "delta": -0.3502,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.586,
          "after": 1.0,
          "delta": 0.414,
          "percent_delta": 0.7065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9729,
          "after": 1.0,
          "delta": 0.0271,
          "percent_delta": 0.0279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.586,
          "after": 1.0,
          "delta": 0.414,
          "percent_delta": 0.7065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4764,
          "after": 0.0,
          "delta": -0.4764,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=33.0, weight=0.210, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.7905,
        "bvp": 0.2095
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6333,
          "after": 1.0,
          "delta": 0.3667,
          "percent_delta": 0.579,
          "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.6333,
          "after": 1.0,
          "delta": 0.3667,
          "percent_delta": 0.579,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.173,
        "predicted_3B": 0.0055,
        "predicted_BB": 0.4082,
        "predicted_H": 0.8762,
        "predicted_HR": 0.1811,
        "predicted_RBI": 0.4237,
        "predicted_SO": 1.1044
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.173,
          "delta": 0.173,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0055,
          "delta": 0.0055,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4082,
          "delta": 0.4082,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8762,
          "delta": -0.1238,
          "percent_delta": -0.1238,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1811,
          "delta": 0.1811,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4237,
          "delta": -0.5763,
          "percent_delta": -0.5763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1044,
          "delta": 0.1044,
          "percent_delta": 0.1044,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4082,
          "delta": 0.4082,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4237,
          "delta": -0.5763,
          "percent_delta": -0.5763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.173,
          "after": 1.0,
          "delta": 0.827,
          "percent_delta": 4.7803,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0055,
          "after": 0.0,
          "delta": -0.0055,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4082,
          "after": 1.0,
          "delta": 0.5918,
          "percent_delta": 1.4498,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8762,
          "after": 1.0,
          "delta": 0.1238,
          "percent_delta": 0.1413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1811,
          "after": 0.0,
          "delta": -0.1811,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.4237,
          "after": 1.0,
          "delta": 0.5763,
          "percent_delta": 1.3602,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1044,
          "after": 1.0,
          "delta": -0.1044,
          "percent_delta": -0.0945,
          "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.173,
          "after": 1.0,
          "delta": 0.827,
          "percent_delta": 4.7803,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1811,
          "after": 0.0,
          "delta": -0.1811,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.415,
        "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.2605,
          "after": 0.227,
          "delta": -0.0335,
          "percent_delta": -0.1286,
          "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.3368,
          "after": 0.306,
          "delta": -0.0308,
          "percent_delta": -0.0914,
          "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.5521,
          "after": 0.415,
          "delta": -0.1371,
          "percent_delta": -0.2483,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 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": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2605,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3368,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5521,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2605,
          "delta": 0.0335,
          "percent_delta": 0.1474,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3368,
          "delta": 0.0308,
          "percent_delta": 0.1005,
          "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.415,
          "after": 0.5521,
          "delta": 0.1371,
          "percent_delta": 0.3304,
          "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.5521,
          "delta": 0.1371,
          "percent_delta": 0.3304,
          "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": 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": 4.37,
        "after": 4.0,
        "delta": -0.37,
        "percent_delta": -0.0847,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.257,
        "after": 0.2605,
        "delta": 0.0035,
        "percent_delta": 0.0136,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.506,
        "after": 0.0,
        "delta": -0.506,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.13,
        "after": 1.0,
        "delta": -0.13,
        "percent_delta": -0.115,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.354,
        "after": 0.3368,
        "delta": -0.0172,
        "percent_delta": -0.0486,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.6,
        "after": 1.0,
        "delta": 0.4,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "better",
        "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.524,
        "after": 0.5521,
        "delta": 0.0281,
        "percent_delta": 0.0536,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.012,
        "after": 1.0,
        "delta": -0.012,
        "percent_delta": -0.0119,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.165,
        "after": 1.0,
        "delta": 0.835,
        "percent_delta": 5.0606,
        "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.165-
predicted_3B0.000-
predicted_AB4.370-
predicted_AVG0.257-
predicted_BB0.506-
predicted_H1.130-
predicted_HR0.390-
predicted_OBP0.354-
predicted_R0.600-
predicted_RBI0.630-
predicted_SLG0.524-
predicted_SO1.012-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.156-0.009
predicted_3B0.0000.000
predicted_AB4.141-0.229
predicted_AVG0.2590.002
predicted_BB0.476-0.030
predicted_H1.076-0.054
predicted_HBP0.023-
predicted_HR0.351-0.039
predicted_OBP0.347-0.007
predicted_R0.6290.029
predicted_RBI0.582-0.048
predicted_SLG0.5290.005
predicted_SO0.974-0.038
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1560.000
predicted_3B0.0000.000
predicted_AB4.1410.000
predicted_AVG0.2610.002
predicted_BB0.4760.000
predicted_H1.0790.003
predicted_HBP0.0230.000
predicted_HR0.350-0.001
predicted_OBP0.337-0.010
predicted_R0.6330.004
predicted_RBI0.5860.004
predicted_SLG0.5520.024
predicted_SO0.973-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.37), rates preserved: AVG=0.237 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-
6. bvp_blend

Sample-size BvP blend (BvP AB=33.0, weight=0.210, BvP AVG=0.333)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1730.173
3B0.0050.005
BB0.4080.408
H0.876-0.124
HR0.1810.181
RBI0.424-0.576
SO1.1040.104
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.827
3B0.000-0.005
AB4.0000.000
BB1.0000.592
H1.0000.124
HR0.000-0.181
R1.0000.000
RBI1.0000.576
SO1.000-0.104
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.156
predicted_3B0.000-0.000
predicted_AB4.000-0.141
predicted_AVG0.227-0.034
predicted_BB0.000-0.476
predicted_H1.000-0.079
predicted_HR0.000-0.350
predicted_OBP0.306-0.031
predicted_R1.0000.367
predicted_RBI1.0000.414
predicted_SLG0.415-0.137
predicted_SO1.0000.027
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.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: 4.370
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0007.0000.0000.0003.0003.0003.0001.0005.0000.33330.36360.76190.33330.14290.14290.04760.2381
last_100.2010-38.00011.0002.0000.0004.0006.00010.0005.0006.0000.28950.36360.65790.28950.10530.15790.13160.1579
season0.6085-317.00073.00014.0000.00017.00040.00051.00043.00086.0000.23030.32510.43530.23030.05360.12620.13560.2713
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1450
predicted_3B0.0010
predicted_AB3.8350
predicted_AVG0.2616
predicted_BB0.4360
predicted_H1.0030
predicted_HBP0.0230
predicted_HR0.3000
predicted_OBP0.3378
predicted_R0.6680
predicted_RBI0.5180
predicted_SLG0.5347
predicted_SO0.9220
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16500.14500.1564model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.37003.83504.1411model_form_blend
predicted_AVG0.25700.26160.2590model_form_blend
predicted_BB0.50600.43600.4761model_form_blend
predicted_H1.13001.00301.0757model_form_blend
predicted_HBP-0.02300.0230form_only
predicted_HR0.39000.30000.3515model_form_blend
predicted_OBP0.35400.33780.3471model_form_blend
predicted_R0.60000.66800.6291model_form_blend
predicted_RBI0.63000.51800.5821model_form_blend
predicted_SLG0.52400.53470.5286model_form_blend
predicted_SO1.01200.92200.9735model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date302
Season rows before report date302
Report year2026
Profile rows used85
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B1
3B0
HR0
R1
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP1
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
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
allPositionsPlayedSS
gameID20260909_TEX@SEA
game_typefull
mlbID608369
playerID608369
playerNameCorey Seager
posSS
startedTrue
startingPositionSS
teamTEX
teamID28
game_date2026-09-09
sl_k_percent23.5
sl_bb_percent11.9
sl_woba0.325
sl_xwoba0.354
sl_xba0.25
sl_xslg0.484
sl_sweet_spot_percent36.4
sl_barrel_batted_rate15.2
sl_hard_hit_percent48.9
sl_exit_velocity_avg91.7
sl_launch_angle_avg12.8
sl_whiff_percent33.4
sl_swing_percent51.7
Evan Carter (694497) · BATTER · CF · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 379
All-history rows before 20260910: 379
System season_avg: 0.1960
Data season_avg (2026 season-to-date): 0.2044
Diff (system - data): -0.0084
System opponent_avg: 0.1580

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1050.0000.000Hitting_2B0.1210.000-0.1210.000
predicted_3B0.0240.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB2.8794.0003.000Hitting_AB3.1242.0000.8762.000
predicted_AVG0.1730.2500.000Hitting_AVG0.2040.0000.0460.250
predicted_BB0.3390.0001.000Hitting_BB0.4430.000-0.4430.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H0.3601.0000.000Hitting_H0.6390.0000.3611.000
predicted_HR0.0600.0000.000Hitting_HR0.0870.000-0.0870.000
predicted_OBP0.2490.2500.250Hitting_OBP0.3100.000-0.0600.250
predicted_R0.3871.0000.000Hitting_R0.4330.0000.5671.000
predicted_RBI0.1800.0000.000Hitting_RBI0.3220.000-0.3220.000
predicted_SLG0.3390.2500.000Hitting_SLG0.3390.000-0.0890.250
predicted_SO0.8311.0001.000Hitting_SO0.8681.0000.1320.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.8790 -> 4.0000 (boost 1.1210, better)
Biggest Deboostpredicted_BB: 0.3390 -> 0.0000 (deboost -0.3390, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend77061predicted_H: 0.3600 -> 0.4786 (boost 0.1186, 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.3457 -> 0.2914 (deboost -0.0543, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_H: 0.4799 -> 1.0000 (boost 0.5201, better)predicted_BB: 0.3087 -> 0.0000 (deboost -0.3087, worse)AB rounded to 3 (raw=2.96), rates preserved: AVG=0.156 HR/AB=0.026
6bvp_blend00000--Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.158)
7consistency_constraints10101-predicted_R: 0.4410 -> 0.0000 (deboost -0.4410, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_BB: 0.0000 -> 0.3315 (boost 0.3315, better)predicted_H: 1.0000 -> 0.6891 (deboost -0.3109, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation61524predicted_BB: 0.3315 -> 1.0000 (boost 0.6685, better)predicted_H: 0.6891 -> 0.0000 (deboost -0.6891, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context54141predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference22020predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_AVG: 0.2000 -> 0.1623 (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": "694497",
  "player_name": "Evan Carter",
  "position": "CF",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.105,
        "predicted_3B": 0.024,
        "predicted_AB": 2.879,
        "predicted_AVG": 0.173,
        "predicted_BB": 0.339,
        "predicted_H": 0.36,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.249,
        "predicted_R": 0.387,
        "predicted_RBI": 0.18,
        "predicted_SLG": 0.339,
        "predicted_SO": 0.831
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0908,
        "predicted_3B": 0.0283,
        "predicted_AB": 2.9577,
        "predicted_AVG": 0.1879,
        "predicted_BB": 0.3085,
        "predicted_H": 0.4786,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0785,
        "predicted_OBP": 0.2603,
        "predicted_R": 0.4381,
        "predicted_RBI": 0.2251,
        "predicted_SLG": 0.3457,
        "predicted_SO": 0.9114
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.105,
          "after": 0.0908,
          "delta": -0.0142,
          "percent_delta": -0.1352,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.024,
          "after": 0.0283,
          "delta": 0.0043,
          "percent_delta": 0.1792,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.879,
          "after": 2.9577,
          "delta": 0.0787,
          "percent_delta": 0.0273,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.173,
          "after": 0.1879,
          "delta": 0.0149,
          "percent_delta": 0.0861,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.339,
          "after": 0.3085,
          "delta": -0.0305,
          "percent_delta": -0.09,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.4786,
          "delta": 0.1186,
          "percent_delta": 0.3294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.0785,
          "delta": 0.0185,
          "percent_delta": 0.3083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.249,
          "after": 0.2603,
          "delta": 0.0113,
          "percent_delta": 0.0454,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.387,
          "after": 0.4381,
          "delta": 0.0511,
          "percent_delta": 0.132,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.18,
          "after": 0.2251,
          "delta": 0.0451,
          "percent_delta": 0.2506,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.339,
          "after": 0.3457,
          "delta": 0.0067,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.831,
          "after": 0.9114,
          "delta": 0.0804,
          "percent_delta": 0.0968,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 7,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.4786,
          "delta": 0.1186,
          "percent_delta": 0.3294,
          "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": 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.0908,
        "predicted_3B": 0.0283,
        "predicted_AB": 2.9577,
        "predicted_AVG": 0.1623,
        "predicted_BB": 0.3087,
        "predicted_H": 0.4799,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0782,
        "predicted_OBP": 0.2414,
        "predicted_R": 0.441,
        "predicted_RBI": 0.2266,
        "predicted_SLG": 0.2914,
        "predicted_SO": 0.9109
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0908,
          "after": 0.0908,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0283,
          "after": 0.0283,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9577,
          "after": 2.9577,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1879,
          "after": 0.1623,
          "delta": -0.0256,
          "percent_delta": -0.1362,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3085,
          "after": 0.3087,
          "delta": 0.0002,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4786,
          "after": 0.4799,
          "delta": 0.0013,
          "percent_delta": 0.0027,
          "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.0785,
          "after": 0.0782,
          "delta": -0.0003,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2603,
          "after": 0.2414,
          "delta": -0.0189,
          "percent_delta": -0.0726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4381,
          "after": 0.441,
          "delta": 0.0029,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2251,
          "after": 0.2266,
          "delta": 0.0015,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3457,
          "after": 0.2914,
          "delta": -0.0543,
          "percent_delta": -0.1571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9114,
          "after": 0.9109,
          "delta": -0.0005,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3457,
          "after": 0.2914,
          "delta": -0.0543,
          "percent_delta": -0.1571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.96), rates preserved: AVG=0.156 HR/AB=0.026",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0908,
          "after": 0.0,
          "delta": -0.0908,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0283,
          "after": 0.0,
          "delta": -0.0283,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9577,
          "after": 3.0,
          "delta": 0.0423,
          "percent_delta": 0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3087,
          "after": 0.0,
          "delta": -0.3087,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4799,
          "after": 1.0,
          "delta": 0.5201,
          "percent_delta": 1.0838,
          "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.0782,
          "after": 0.0,
          "delta": -0.0782,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2266,
          "after": 0.0,
          "delta": -0.2266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9109,
          "after": 1.0,
          "delta": 0.0891,
          "percent_delta": 0.0978,
          "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.4799,
          "after": 1.0,
          "delta": 0.5201,
          "percent_delta": 1.0838,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3087,
          "after": 0.0,
          "delta": -0.3087,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.158)",
      "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.8449,
        "bvp": 0.1551
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.441,
          "after": 0.0,
          "delta": -0.441,
          "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.441,
          "after": 0.0,
          "delta": -0.441,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1348,
        "predicted_3B": 0.0071,
        "predicted_BB": 0.3315,
        "predicted_H": 0.6891,
        "predicted_HR": 0.0976,
        "predicted_RBI": 0.3246,
        "predicted_SO": 1.2101
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1348,
          "delta": 0.1348,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0071,
          "delta": 0.0071,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3315,
          "delta": 0.3315,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6891,
          "delta": -0.3109,
          "percent_delta": -0.3109,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0976,
          "delta": 0.0976,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3246,
          "delta": 0.3246,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2101,
          "delta": 0.2101,
          "percent_delta": 0.2101,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3315,
          "delta": 0.3315,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6891,
          "delta": -0.3109,
          "percent_delta": -0.3109,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 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.1348,
          "after": 0.0,
          "delta": -0.1348,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3315,
          "after": 1.0,
          "delta": 0.6685,
          "percent_delta": 2.0166,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6891,
          "after": 0.0,
          "delta": -0.6891,
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3246,
          "after": 0.0,
          "delta": -0.3246,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2101,
          "after": 1.0,
          "delta": -0.2101,
          "percent_delta": -0.1736,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.3315,
          "after": 1.0,
          "delta": 0.6685,
          "percent_delta": 2.0166,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6891,
          "after": 0.0,
          "delta": -0.6891,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.276,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.328,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1623,
          "after": 0.2,
          "delta": 0.0377,
          "percent_delta": 0.2323,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2414,
          "after": 0.276,
          "delta": 0.0346,
          "percent_delta": 0.1433,
          "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.2914,
          "after": 0.328,
          "delta": 0.0366,
          "percent_delta": 0.1256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1623,
        "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.2414,
        "predicted_R": 1.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.1623,
          "delta": -0.0377,
          "percent_delta": -0.1887,
          "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.276,
          "after": 0.2414,
          "delta": -0.0346,
          "percent_delta": -0.1253,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.328,
          "after": 0.2914,
          "delta": -0.0366,
          "percent_delta": -0.1116,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2,
          "after": 0.1623,
          "delta": -0.0377,
          "percent_delta": -0.1887,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.105,
        "after": 0.0,
        "delta": -0.105,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.024,
        "after": 0.0,
        "delta": -0.024,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.879,
        "after": 4.0,
        "delta": 1.121,
        "percent_delta": 0.3894,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.173,
        "after": 0.1623,
        "delta": -0.0107,
        "percent_delta": -0.0618,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.339,
        "after": 0.0,
        "delta": -0.339,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.36,
        "after": 1.0,
        "delta": 0.64,
        "percent_delta": 1.7778,
        "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.249,
        "after": 0.2414,
        "delta": -0.0076,
        "percent_delta": -0.0305,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.387,
        "after": 1.0,
        "delta": 0.613,
        "percent_delta": 1.584,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.339,
        "after": 0.2914,
        "delta": -0.0476,
        "percent_delta": -0.1404,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.831,
        "after": 1.0,
        "delta": 0.169,
        "percent_delta": 0.2034,
        "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.879,
        "after": 4.0,
        "delta": 1.121,
        "percent_delta": 0.3894,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.339,
        "after": 0.0,
        "delta": -0.339,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.105-
predicted_3B0.024-
predicted_AB2.879-
predicted_AVG0.173-
predicted_BB0.339-
predicted_H0.360-
predicted_HR0.060-
predicted_OBP0.249-
predicted_R0.387-
predicted_RBI0.180-
predicted_SLG0.339-
predicted_SO0.831-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.091-0.014
predicted_3B0.0280.004
predicted_AB2.9580.079
predicted_AVG0.1880.015
predicted_BB0.308-0.031
predicted_H0.4790.119
predicted_HBP0.021-
predicted_HR0.0790.019
predicted_OBP0.2600.011
predicted_R0.4380.051
predicted_RBI0.2250.045
predicted_SLG0.3460.007
predicted_SO0.9110.080
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.0910.000
predicted_3B0.0280.000
predicted_AB2.9580.000
predicted_AVG0.162-0.026
predicted_BB0.3090.000
predicted_H0.4800.001
predicted_HBP0.0210.000
predicted_HR0.078-0.000
predicted_OBP0.241-0.019
predicted_R0.4410.003
predicted_RBI0.2270.002
predicted_SLG0.291-0.054
predicted_SO0.911-0.000
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.96), rates preserved: AVG=0.156 HR/AB=0.026

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.158)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1350.135
3B0.0070.007
BB0.3320.332
H0.689-0.311
HR0.0980.098
RBI0.3250.325
SO1.2100.210
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.135
3B0.000-0.007
AB3.0000.000
BB1.0000.668
H0.000-0.689
HR0.000-0.098
R0.0000.000
RBI0.000-0.325
SO1.000-0.210
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.091
predicted_3B0.000-0.028
predicted_AB3.0000.042
predicted_AVG0.2000.038
predicted_BB0.000-0.309
predicted_H1.0000.520
predicted_HR0.000-0.078
predicted_OBP0.2760.035
predicted_R0.000-0.441
predicted_RBI0.000-0.227
predicted_SLG0.3280.037
predicted_SO1.0000.089
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.000-1.000
CS0.0000.000
H1.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: 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.0004.0000.0000.0001.0001.0004.0001.0008.0000.23530.27780.41180.23530.05880.05880.05880.4706
last_100.2010-30.0006.0000.0001.0001.0003.0006.0001.00011.0000.20000.22580.36670.20000.03330.10000.03330.3667
season0.60124-357.00070.00013.0003.0009.00035.00048.00042.000103.0000.19610.28710.32490.19610.02520.09800.11770.2885
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0720
predicted_3B0.0340
predicted_AB3.0620
predicted_AVG0.2077
predicted_BB0.2680
predicted_H0.6360
predicted_HBP0.0210
predicted_HR0.1030
predicted_OBP0.2752
predicted_R0.5060
predicted_RBI0.2850
predicted_SLG0.3546
predicted_SO1.0180
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10500.07200.0908model_form_blend
predicted_3B0.02400.03400.0283model_form_blend
predicted_AB2.87903.06202.9577model_form_blend
predicted_AVG0.17300.20770.1879model_form_blend
predicted_BB0.33900.26800.3085model_form_blend
predicted_H0.36000.63600.4786model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.06000.10300.0785model_form_blend
predicted_OBP0.24900.27520.2603model_form_blend
predicted_R0.38700.50600.4381model_form_blend
predicted_RBI0.18000.28500.2251model_form_blend
predicted_SLG0.33900.35460.3457model_form_blend
predicted_SO0.83101.01800.9114model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date379
Season rows before report date379
Report year2026
Profile rows used124
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
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_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_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
gameID20260909_TEX@SEA
game_typeph
mlbID694497
noteFlied out for Freeman, C in the 7th.
playerID694497
playerNameEvan Carter
posCF
startedFalse
startingPositionPH
teamTEX
teamID28
game_date2026-09-09
sl_k_percent24.8
sl_bb_percent10.7
sl_woba0.281
sl_xwoba0.279
sl_xba0.199
sl_xslg0.32
sl_sweet_spot_percent29.0
sl_barrel_batted_rate5.3
sl_hard_hit_percent35.9
sl_exit_velocity_avg88.0
sl_launch_angle_avg17.8
sl_whiff_percent28.7
sl_swing_percent41.4
Jake Burger (669394) · BATTER · 1B · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 495
All-history rows before 20260910: 495
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2418
Diff (system - data): -0.0038
System opponent_avg: 0.3080

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1520.0000.000Hitting_2B0.1560.000-0.1560.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6233.0003.000Hitting_AB3.7353.000-0.7350.000
predicted_AVG0.2330.0000.333Hitting_AVG0.2420.333-0.242-0.333
predicted_BB0.3411.0000.000Hitting_BB0.3251.0000.6750.000
predicted_CS-0.0000.000BaseRunning_CS0.0020.000-0.0020.000
predicted_H0.7400.0001.000Hitting_H0.9031.000-0.903-1.000
predicted_HR0.2600.0000.000Hitting_HR0.1741.000-0.174-1.000
predicted_OBP0.3560.2500.333Hitting_OBP0.3060.500-0.056-0.250
predicted_R0.4570.0001.000Hitting_R0.4481.000-0.448-1.000
predicted_RBI0.5400.0001.000Hitting_RBI0.6281.000-0.628-1.000
predicted_SLG0.5340.0000.333Hitting_SLG0.4231.333-0.423-1.333
predicted_SO1.0802.0001.000Hitting_SO1.1091.0000.8911.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.0800 -> 2.0000 (boost 0.9200, worse)
Biggest Deboostpredicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend76161predicted_R: 0.4570 -> 0.6053 (boost 0.1483, better)predicted_AB: 3.6230 -> 3.5573 (deboost -0.0657, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.5419 -> 0.4999 (deboost -0.0420, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72534predicted_RBI: 0.5971 -> 1.0000 (boost 0.4029, better)predicted_AB: 3.5573 -> 3.0000 (deboost -0.5573, worse)AB rounded to 3 (raw=3.62), rates preserved: AVG=0.216 HR/AB=0.076
6bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)
7consistency_constraints11010predicted_R: 0.6094 -> 1.0000 (boost 0.3906, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2561 (boost 0.2561, better)predicted_RBI: 1.0000 -> 0.4768 (deboost -0.5232, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62433predicted_RBI: 0.4768 -> 1.0000 (boost 0.5232, better)predicted_BB: 0.2561 -> 0.0000 (deboost -0.2561, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context30303-predicted_SLG: 0.4999 -> 0.4050 (deboost -0.0949, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference52314predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.4050 -> 0.4999 (boost 0.0949, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "669394",
  "player_name": "Jake Burger",
  "position": "1B",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.152,
        "predicted_3B": 0.0,
        "predicted_AB": 3.623,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.341,
        "predicted_H": 0.74,
        "predicted_HR": 0.26,
        "predicted_OBP": 0.356,
        "predicted_R": 0.457,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.534,
        "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.1342,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.5573,
        "predicted_AVG": 0.2455,
        "predicted_BB": 0.4715,
        "predicted_H": 0.8131,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.277,
        "predicted_OBP": 0.3601,
        "predicted_R": 0.6053,
        "predicted_RBI": 0.5931,
        "predicted_SLG": 0.5419,
        "predicted_SO": 1.1183
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.152,
          "after": 0.1342,
          "delta": -0.0178,
          "percent_delta": -0.1171,
          "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.623,
          "after": 3.5573,
          "delta": -0.0657,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2455,
          "delta": 0.0125,
          "percent_delta": 0.0536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.341,
          "after": 0.4715,
          "delta": 0.1305,
          "percent_delta": 0.3827,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.74,
          "after": 0.8131,
          "delta": 0.0731,
          "percent_delta": 0.0988,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.26,
          "after": 0.277,
          "delta": 0.017,
          "percent_delta": 0.0654,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.356,
          "after": 0.3601,
          "delta": 0.0041,
          "percent_delta": 0.0115,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.457,
          "after": 0.6053,
          "delta": 0.1483,
          "percent_delta": 0.3245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 0.5931,
          "delta": 0.0531,
          "percent_delta": 0.0983,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.534,
          "after": 0.5419,
          "delta": 0.0079,
          "percent_delta": 0.0148,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.08,
          "after": 1.1183,
          "delta": 0.0383,
          "percent_delta": 0.0355,
          "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_R",
          "before": 0.457,
          "after": 0.6053,
          "delta": 0.1483,
          "percent_delta": 0.3245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.623,
          "after": 3.5573,
          "delta": -0.0657,
          "percent_delta": -0.0181,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1342,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.5573,
        "predicted_AVG": 0.2292,
        "predicted_BB": 0.4718,
        "predicted_H": 0.8153,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.2759,
        "predicted_OBP": 0.3194,
        "predicted_R": 0.6094,
        "predicted_RBI": 0.5971,
        "predicted_SLG": 0.4999,
        "predicted_SO": 1.1176
      },
      "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.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5573,
          "after": 3.5573,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2455,
          "after": 0.2292,
          "delta": -0.0163,
          "percent_delta": -0.0664,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4715,
          "after": 0.4718,
          "delta": 0.0003,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8131,
          "after": 0.8153,
          "delta": 0.0022,
          "percent_delta": 0.0027,
          "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.277,
          "after": 0.2759,
          "delta": -0.0011,
          "percent_delta": -0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3601,
          "after": 0.3194,
          "delta": -0.0407,
          "percent_delta": -0.113,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6053,
          "after": 0.6094,
          "delta": 0.0041,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5931,
          "after": 0.5971,
          "delta": 0.004,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5419,
          "after": 0.4999,
          "delta": -0.042,
          "percent_delta": -0.0775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1183,
          "after": 1.1176,
          "delta": -0.0007,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5419,
          "after": 0.4999,
          "delta": -0.042,
          "percent_delta": -0.0775,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.62), rates preserved: AVG=0.216 HR/AB=0.076",
      "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.1342,
          "after": 0.0,
          "delta": -0.1342,
          "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.5573,
          "after": 3.0,
          "delta": -0.5573,
          "percent_delta": -0.1567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4718,
          "after": 0.0,
          "delta": -0.4718,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8153,
          "after": 1.0,
          "delta": 0.1847,
          "percent_delta": 0.2265,
          "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.2759,
          "after": 0.0,
          "delta": -0.2759,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5971,
          "after": 1.0,
          "delta": 0.4029,
          "percent_delta": 0.6748,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1176,
          "after": 1.0,
          "delta": -0.1176,
          "percent_delta": -0.1052,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5971,
          "after": 1.0,
          "delta": 0.4029,
          "percent_delta": 0.6748,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5573,
          "after": 3.0,
          "delta": -0.5573,
          "percent_delta": -0.1567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.8791,
        "bvp": 0.1209
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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.6094,
          "after": 1.0,
          "delta": 0.3906,
          "percent_delta": 0.641,
          "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.6094,
          "after": 1.0,
          "delta": 0.3906,
          "percent_delta": 0.641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1459,
        "predicted_3B": 0.0035,
        "predicted_BB": 0.2561,
        "predicted_H": 0.7519,
        "predicted_HR": 0.1521,
        "predicted_RBI": 0.4768,
        "predicted_SO": 1.2155
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1459,
          "delta": 0.1459,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0035,
          "delta": 0.0035,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2561,
          "delta": 0.2561,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7519,
          "delta": -0.2481,
          "percent_delta": -0.2481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1521,
          "delta": 0.1521,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4768,
          "delta": -0.5232,
          "percent_delta": -0.5232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2155,
          "delta": 0.2155,
          "percent_delta": 0.2155,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2561,
          "delta": 0.2561,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4768,
          "delta": -0.5232,
          "percent_delta": -0.5232,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1459,
          "after": 0.0,
          "delta": -0.1459,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0035,
          "after": 0.0,
          "delta": -0.0035,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2561,
          "after": 0.0,
          "delta": -0.2561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7519,
          "after": 1.0,
          "delta": 0.2481,
          "percent_delta": 0.33,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1521,
          "after": 0.0,
          "delta": -0.1521,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4768,
          "after": 1.0,
          "delta": 0.5232,
          "percent_delta": 1.0973,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2155,
          "after": 1.0,
          "delta": -0.2155,
          "percent_delta": -0.1773,
          "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.4768,
          "after": 1.0,
          "delta": 0.5232,
          "percent_delta": 1.0973,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2561,
          "after": 0.0,
          "delta": -0.2561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.285,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.405,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2292,
          "after": 0.224,
          "delta": -0.0052,
          "percent_delta": -0.0227,
          "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.3194,
          "after": 0.285,
          "delta": -0.0344,
          "percent_delta": -0.1077,
          "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.4999,
          "after": 0.405,
          "delta": -0.0949,
          "percent_delta": -0.1898,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.4999,
          "after": 0.405,
          "delta": -0.0949,
          "percent_delta": -0.1898,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2292,
        "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.3194,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4999,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.2292,
          "delta": 0.0052,
          "percent_delta": 0.0232,
          "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.285,
          "after": 0.3194,
          "delta": 0.0344,
          "percent_delta": 0.1209,
          "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.4999,
          "delta": 0.0949,
          "percent_delta": 0.2342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.405,
          "after": 0.4999,
          "delta": 0.0949,
          "percent_delta": 0.2342,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.623,
        "after": 3.0,
        "delta": -0.623,
        "percent_delta": -0.172,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.2292,
        "delta": -0.0038,
        "percent_delta": -0.0163,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.341,
        "after": 1.0,
        "delta": 0.659,
        "percent_delta": 1.9326,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 0.0,
        "delta": -0.74,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.356,
        "after": 0.3194,
        "delta": -0.0366,
        "percent_delta": -0.1028,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.457,
        "after": 0.0,
        "delta": -0.457,
        "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.534,
        "after": 0.4999,
        "delta": -0.0341,
        "percent_delta": -0.0639,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.08,
        "after": 2.0,
        "delta": 0.92,
        "percent_delta": 0.8519,
        "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.08,
        "after": 2.0,
        "delta": 0.92,
        "percent_delta": 0.8519,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 0.0,
        "delta": -0.74,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.152-
predicted_3B0.000-
predicted_AB3.623-
predicted_AVG0.233-
predicted_BB0.341-
predicted_H0.740-
predicted_HR0.260-
predicted_OBP0.356-
predicted_R0.457-
predicted_RBI0.540-
predicted_SLG0.534-
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.134-0.018
predicted_3B0.0000.000
predicted_AB3.557-0.066
predicted_AVG0.2450.012
predicted_BB0.4710.130
predicted_H0.8130.073
predicted_HBP0.013-
predicted_HR0.2770.017
predicted_OBP0.3600.004
predicted_R0.6050.148
predicted_RBI0.5930.053
predicted_SLG0.5420.008
predicted_SO1.1180.038
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1340.000
predicted_3B0.0000.000
predicted_AB3.5570.000
predicted_AVG0.229-0.016
predicted_BB0.4720.000
predicted_H0.8150.002
predicted_HBP0.0130.000
predicted_HR0.276-0.001
predicted_OBP0.319-0.041
predicted_R0.6090.004
predicted_RBI0.5970.004
predicted_SLG0.500-0.042
predicted_SO1.118-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.62), rates preserved: AVG=0.216 HR/AB=0.076

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.308)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1460.146
3B0.0040.004
BB0.2560.256
H0.752-0.248
HR0.1520.152
RBI0.477-0.523
SO1.2160.216
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.146
3B0.000-0.004
AB3.0000.000
BB0.000-0.256
H1.0000.248
HR0.000-0.152
R1.0000.000
RBI1.0000.523
SO1.000-0.216
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.134
predicted_3B0.000-0.000
predicted_AB3.000-0.557
predicted_AVG0.224-0.005
predicted_BB0.000-0.472
predicted_H1.0000.185
predicted_HR0.000-0.276
predicted_OBP0.285-0.034
predicted_R1.0000.391
predicted_RBI1.0000.403
predicted_SLG0.405-0.095
predicted_SO1.000-0.118
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.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: 138
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0005.0000.0000.0003.0004.0008.0007.0007.0000.33330.54550.93330.33330.20000.26670.46670.4667
last_100.2010-34.0009.0001.0000.0003.0007.0009.0007.00012.0000.26470.38100.55880.26470.08820.20590.20590.3529
season0.60138-500.000119.00021.0000.00026.00083.00063.00047.000149.0000.23800.30560.43600.23800.05200.16600.09400.2980
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1110
predicted_3B0.0010
predicted_AB3.4720
predicted_AVG0.2617
predicted_BB0.6410
predicted_H0.9080
predicted_HBP0.0130
predicted_HR0.2990
predicted_OBP0.3654
predicted_R0.7980
predicted_RBI0.6620
predicted_SLG0.5522
predicted_SO1.1680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15200.11100.1342model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.62303.47203.5573model_form_blend
predicted_AVG0.23300.26170.2455model_form_blend
predicted_BB0.34100.64100.4715model_form_blend
predicted_H0.74000.90800.8131model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.26000.29900.2770model_form_blend
predicted_OBP0.35600.36540.3601model_form_blend
predicted_R0.45700.79800.6053model_form_blend
predicted_RBI0.54000.66200.5931model_form_blend
predicted_SLG0.53400.55220.5419model_form_blend
predicted_SO1.08001.16801.1183model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date495
Season rows before report date495
Report year2026
Profile rows used138
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_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
gameID20260909_TEX@SEA
game_typefull
mlbID669394
playerID669394
playerNameJake Burger
pos1B
startedTrue
startingPosition1B
teamTEX
teamID28
game_date2026-09-09
sl_k_percent26.9
sl_bb_percent8.4
sl_woba0.322
sl_xwoba0.316
sl_xba0.234
sl_xslg0.424
sl_sweet_spot_percent30.1
sl_barrel_batted_rate12.0
sl_hard_hit_percent46.9
sl_exit_velocity_avg90.2
sl_launch_angle_avg13.7
sl_whiff_percent34.0
sl_swing_percent50.1
Danny Jansen (643376) · BATTER · C · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 158
All-history rows before 20260910: 158
System season_avg: 0.1780
Data season_avg (2026 season-to-date): 0.1795
Diff (system - data): -0.0015
System opponent_avg: 0.1070

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1370.0000.000Hitting_2B0.1770.000-0.1770.000
predicted_3B0.0200.0000.000Hitting_3B0.0250.000-0.0250.000
predicted_AB3.3104.0003.000Hitting_AB3.2784.0000.7220.000
predicted_AVG0.2040.0000.000Hitting_AVG0.1800.500-0.180-0.500
predicted_BB0.2750.0000.000Hitting_BB0.3420.000-0.3420.000
predicted_CS-0.0000.000BaseRunning_CS0.0190.000-0.0190.000
predicted_H0.6800.0000.000Hitting_H0.5892.000-0.589-2.000
predicted_HR0.1800.0000.000Hitting_HR0.1011.000-0.101-1.000
predicted_OBP0.2760.0000.000Hitting_OBP0.2800.500-0.280-0.500
predicted_R0.2940.0000.000Hitting_R0.3101.000-0.310-1.000
predicted_RBI0.5900.0000.000Hitting_RBI0.3734.000-0.373-4.000
predicted_SLG0.4030.0000.000Hitting_SLG0.3421.250-0.342-1.250
predicted_SO0.9800.0001.000Hitting_SO1.0321.000-1.032-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_AB: 3.3100 -> 4.0000 (boost 0.6900, better)
Biggest Deboostpredicted_SO: 0.9800 -> 0.0000 (deboost -0.9800, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_SLG: 0.4030 -> 0.4104 (boost 0.0074, better)predicted_AB: 3.3100 -> 3.2338 (deboost -0.0762, worse)Final model input calibrated 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.4104 -> 0.4215 (boost 0.0111, better)predicted_OBP: 0.2786 -> 0.2683 (deboost -0.0103, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling83526predicted_RBI: 0.5800 -> 1.0000 (boost 0.4200, better)predicted_BB: 0.2569 -> 0.0000 (deboost -0.2569, worse)AB rounded to 3 (raw=3.31), rates preserved: AVG=0.197 HR/AB=0.053
6consistency_constraints10101-predicted_R: 0.3074 -> 0.0000 (deboost -0.3074, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2357 (boost 0.2357, better)predicted_RBI: 1.0000 -> 0.3715 (deboost -0.6285, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation60615-predicted_H: 0.6650 -> 0.0000 (deboost -0.6650, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context32121predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.4215 -> 0.3630 (deboost -0.0585, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference41322predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final11010predicted_SLG: 0.3630 -> 0.4215 (boost 0.0585, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "643376",
  "player_name": "Danny Jansen",
  "position": "C",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.137,
        "predicted_3B": 0.02,
        "predicted_AB": 3.31,
        "predicted_AVG": 0.204,
        "predicted_BB": 0.275,
        "predicted_H": 0.68,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.276,
        "predicted_R": 0.294,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.403,
        "predicted_SO": 0.98
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1264,
        "predicted_3B": 0.0167,
        "predicted_AB": 3.2338,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.2567,
        "predicted_H": 0.678,
        "predicted_HBP": 0.055,
        "predicted_HR": 0.1751,
        "predicted_OBP": 0.2786,
        "predicted_R": 0.3054,
        "predicted_RBI": 0.5761,
        "predicted_SLG": 0.4104,
        "predicted_SO": 0.9344
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.137,
          "after": 0.1264,
          "delta": -0.0106,
          "percent_delta": -0.0774,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.02,
          "after": 0.0167,
          "delta": -0.0033,
          "percent_delta": -0.165,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.31,
          "after": 3.2338,
          "delta": -0.0762,
          "percent_delta": -0.023,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.204,
          "after": 0.209,
          "delta": 0.005,
          "percent_delta": 0.0245,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.275,
          "after": 0.2567,
          "delta": -0.0183,
          "percent_delta": -0.0665,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.68,
          "after": 0.678,
          "delta": -0.002,
          "percent_delta": -0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1751,
          "delta": -0.0049,
          "percent_delta": -0.0272,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.276,
          "after": 0.2786,
          "delta": 0.0026,
          "percent_delta": 0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.294,
          "after": 0.3054,
          "delta": 0.0114,
          "percent_delta": 0.0388,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.59,
          "after": 0.5761,
          "delta": -0.0139,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.4104,
          "delta": 0.0074,
          "percent_delta": 0.0184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.98,
          "after": 0.9344,
          "delta": -0.0456,
          "percent_delta": -0.0465,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.4104,
          "delta": 0.0074,
          "percent_delta": 0.0184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.31,
          "after": 3.2338,
          "delta": -0.0762,
          "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": 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.1264,
        "predicted_3B": 0.0167,
        "predicted_AB": 3.2338,
        "predicted_AVG": 0.2102,
        "predicted_BB": 0.2569,
        "predicted_H": 0.6798,
        "predicted_HBP": 0.055,
        "predicted_HR": 0.1744,
        "predicted_OBP": 0.2683,
        "predicted_R": 0.3074,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.4215,
        "predicted_SO": 0.9338
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1264,
          "after": 0.1264,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0167,
          "after": 0.0167,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2338,
          "after": 3.2338,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.2102,
          "delta": 0.0012,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2567,
          "after": 0.2569,
          "delta": 0.0002,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.678,
          "after": 0.6798,
          "delta": 0.0018,
          "percent_delta": 0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.055,
          "after": 0.055,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1751,
          "after": 0.1744,
          "delta": -0.0007,
          "percent_delta": -0.004,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2786,
          "after": 0.2683,
          "delta": -0.0103,
          "percent_delta": -0.037,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3054,
          "after": 0.3074,
          "delta": 0.002,
          "percent_delta": 0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5761,
          "after": 0.58,
          "delta": 0.0039,
          "percent_delta": 0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4104,
          "after": 0.4215,
          "delta": 0.0111,
          "percent_delta": 0.027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9344,
          "after": 0.9338,
          "delta": -0.0006,
          "percent_delta": -0.0006,
          "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.4104,
          "after": 0.4215,
          "delta": 0.0111,
          "percent_delta": 0.027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.2786,
          "after": 0.2683,
          "delta": -0.0103,
          "percent_delta": -0.037,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.31), rates preserved: AVG=0.197 HR/AB=0.053",
      "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.1264,
          "after": 0.0,
          "delta": -0.1264,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0167,
          "after": 0.0,
          "delta": -0.0167,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2338,
          "after": 3.0,
          "delta": -0.2338,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 0.6798,
          "after": 1.0,
          "delta": 0.3202,
          "percent_delta": 0.471,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.055,
          "after": 0.0,
          "delta": -0.055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1744,
          "after": 0.0,
          "delta": -0.1744,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.58,
          "after": 1.0,
          "delta": 0.42,
          "percent_delta": 0.7241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9338,
          "after": 1.0,
          "delta": 0.0662,
          "percent_delta": 0.0709,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.58,
          "after": 1.0,
          "delta": 0.42,
          "percent_delta": 0.7241,
          "direction": "boost",
          "projection_effect": "better",
          "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": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3074,
          "after": 0.0,
          "delta": -0.3074,
          "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.3074,
          "after": 0.0,
          "delta": -0.3074,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1233,
        "predicted_3B": 0.0061,
        "predicted_BB": 0.2357,
        "predicted_H": 0.665,
        "predicted_HR": 0.1197,
        "predicted_RBI": 0.3715,
        "predicted_SO": 1.1529
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1233,
          "delta": 0.1233,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0061,
          "delta": 0.0061,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2357,
          "delta": 0.2357,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.665,
          "delta": -0.335,
          "percent_delta": -0.335,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1197,
          "delta": 0.1197,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3715,
          "delta": -0.6285,
          "percent_delta": -0.6285,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1529,
          "delta": 0.1529,
          "percent_delta": 0.1529,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2357,
          "delta": 0.2357,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3715,
          "delta": -0.6285,
          "percent_delta": -0.6285,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1233,
          "after": 0.0,
          "delta": -0.1233,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2357,
          "after": 0.0,
          "delta": -0.2357,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.665,
          "after": 0.0,
          "delta": -0.665,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1197,
          "after": 0.0,
          "delta": -0.1197,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3715,
          "after": 0.0,
          "delta": -0.3715,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1529,
          "after": 1.0,
          "delta": -0.1529,
          "percent_delta": -0.1326,
          "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.665,
          "after": 0.0,
          "delta": -0.665,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.208,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.269,
        "predicted_R": 0.0,
        "predicted_RBI": 1.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.2102,
          "after": 0.208,
          "delta": -0.0022,
          "percent_delta": -0.0105,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2683,
          "after": 0.269,
          "delta": 0.0007,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4215,
          "after": 0.363,
          "delta": -0.0585,
          "percent_delta": -0.1388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 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_SLG",
          "before": 0.4215,
          "after": 0.363,
          "delta": -0.0585,
          "percent_delta": -0.1388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 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_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2102,
        "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.2683,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4215,
        "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.2102,
          "delta": 0.0022,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.269,
          "after": 0.2683,
          "delta": -0.0007,
          "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.363,
          "after": 0.4215,
          "delta": 0.0585,
          "percent_delta": 0.1611,
          "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.363,
          "after": 0.4215,
          "delta": 0.0585,
          "percent_delta": 0.1611,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.137,
        "after": 0.0,
        "delta": -0.137,
        "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.31,
        "after": 4.0,
        "delta": 0.69,
        "percent_delta": 0.2085,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.204,
        "after": 0.2102,
        "delta": 0.0062,
        "percent_delta": 0.0304,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.275,
        "after": 0.0,
        "delta": -0.275,
        "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.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.276,
        "after": 0.2683,
        "delta": -0.0077,
        "percent_delta": -0.0279,
        "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.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.403,
        "after": 0.4215,
        "delta": 0.0185,
        "percent_delta": 0.0459,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.98,
        "after": 0.0,
        "delta": -0.98,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.31,
        "after": 4.0,
        "delta": 0.69,
        "percent_delta": 0.2085,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.98,
        "after": 0.0,
        "delta": -0.98,
        "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.137-
predicted_3B0.020-
predicted_AB3.310-
predicted_AVG0.204-
predicted_BB0.275-
predicted_H0.680-
predicted_HR0.180-
predicted_OBP0.276-
predicted_R0.294-
predicted_RBI0.590-
predicted_SLG0.403-
predicted_SO0.980-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.126-0.011
predicted_3B0.017-0.003
predicted_AB3.234-0.076
predicted_AVG0.2090.005
predicted_BB0.257-0.018
predicted_H0.678-0.002
predicted_HBP0.055-
predicted_HR0.175-0.005
predicted_OBP0.2790.003
predicted_R0.3050.011
predicted_RBI0.576-0.014
predicted_SLG0.4100.007
predicted_SO0.934-0.046
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1260.000
predicted_3B0.0170.000
predicted_AB3.2340.000
predicted_AVG0.2100.001
predicted_BB0.2570.000
predicted_H0.6800.002
predicted_HBP0.0550.000
predicted_HR0.174-0.001
predicted_OBP0.268-0.010
predicted_R0.3070.002
predicted_RBI0.5800.004
predicted_SLG0.4210.011
predicted_SO0.934-0.001
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.31), rates preserved: AVG=0.197 HR/AB=0.053

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1230.123
3B0.0060.006
BB0.2360.236
H0.665-0.335
HR0.1200.120
RBI0.371-0.629
SO1.1530.153
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.123
3B0.000-0.006
AB3.0000.000
BB0.000-0.236
H0.000-0.665
HR0.000-0.120
R0.0000.000
RBI0.000-0.371
SO1.000-0.153
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.126
predicted_3B0.000-0.017
predicted_AB3.000-0.234
predicted_AVG0.208-0.002
predicted_BB0.000-0.257
predicted_H1.0000.320
predicted_HR0.000-0.174
predicted_OBP0.2690.001
predicted_R0.000-0.307
predicted_RBI1.0000.420
predicted_SLG0.363-0.058
predicted_SO1.0000.066
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.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.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0004.0000.0000.0001.0004.0001.0001.0003.0000.28570.33330.50000.28570.07140.28570.07140.2143
last_100.2010-30.0007.0001.0000.0003.0008.0004.0001.0008.0000.23330.25810.56670.23330.10000.26670.03330.2667
season0.6051-157.00028.0007.0001.0006.00020.00015.00014.00050.0000.17830.26700.35030.17830.03820.12740.08920.3185
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1110
predicted_3B0.0120
predicted_AB3.1230
predicted_AVG0.2162
predicted_BB0.2300
predicted_H0.6750
predicted_HBP0.0550
predicted_HR0.1680
predicted_OBP0.2824
predicted_R0.3220
predicted_RBI0.5560
predicted_SLG0.4212
predicted_SO0.8680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13700.11100.1264model_form_blend
predicted_3B0.02000.01200.0167model_form_blend
predicted_AB3.31003.12303.2338model_form_blend
predicted_AVG0.20400.21620.2090model_form_blend
predicted_BB0.27500.23000.2567model_form_blend
predicted_H0.68000.67500.6780model_form_blend
predicted_HBP-0.05500.0550form_only
predicted_HR0.18000.16800.1751model_form_blend
predicted_OBP0.27600.28240.2786model_form_blend
predicted_R0.29400.32200.3054model_form_blend
predicted_RBI0.59000.55600.5761model_form_blend
predicted_SLG0.40300.42120.4104model_form_blend
predicted_SO0.98000.86800.9344model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date158
Season rows before report date158
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
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_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI4
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB5
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
gameID20260908_TEX@SEA
game_typefull
mlbID643376
playerID643376
playerNameDanny Jansen
posC
startedTrue
startingPositionC
teamTEX
teamID28
game_date2026-09-08
sl_k_percent28.1
sl_bb_percent7.9
sl_woba0.276
sl_xwoba0.255
sl_xba0.174
sl_xslg0.298
sl_sweet_spot_percent23.9
sl_barrel_batted_rate7.3
sl_hard_hit_percent32.1
sl_exit_velocity_avg87.3
sl_launch_angle_avg22.5
sl_whiff_percent27.3
sl_swing_percent46.1
Nicky Lopez (670032) · BATTER · 2B · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 228
All-history rows before 20260910: 228
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2744
Diff (system - data): -0.0034
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.0510.0000.000Hitting_2B0.0530.000-0.0530.000
predicted_3B0.0130.0000.000Hitting_3B0.0040.000-0.0040.000
predicted_AB2.6584.0003.000Hitting_AB3.0531.0000.9473.000
predicted_AVG0.3320.2500.333Hitting_AVG0.2740.000-0.0240.250
predicted_BB0.1270.0000.000Hitting_BB0.1580.000-0.1580.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H0.2801.0001.000Hitting_H0.8380.0000.1621.000
predicted_HR0.0000.0000.000Hitting_HR0.0180.000-0.0180.000
predicted_OBP0.3700.2500.333Hitting_OBP0.3200.000-0.0700.250
predicted_R0.2660.0000.000Hitting_R0.2940.000-0.2940.000
predicted_RBI0.1300.0000.000Hitting_RBI0.3380.000-0.3380.000
predicted_SB-0.0000.000BaseRunning_SB0.0880.000-0.0880.000
predicted_SLG0.3750.2500.333Hitting_SLG0.3120.000-0.0620.250
predicted_SO0.4942.0001.000Hitting_SO0.5391.0001.4611.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.4940 -> 2.0000 (boost 1.5060, worse)
Biggest Deboostpredicted_R: 0.2660 -> 0.0000 (deboost -0.2660, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54141predicted_H: 0.2800 -> 0.4907 (boost 0.2107, better)predicted_AB: 2.6580 -> 2.5366 (deboost -0.1214, worse)Final model input calibrated 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.3900 -> 0.2421 (deboost -0.1479, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_SO: 0.4704 -> 1.0000 (boost 0.5296, worse)predicted_RBI: 0.1827 -> 0.0000 (deboost -0.1827, worse)AB rounded to 3 (raw=2.66), rates preserved: AVG=0.178 HR/AB=0.002
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)
7consistency_constraints10101-predicted_R: 0.2724 -> 0.0000 (deboost -0.2724, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3734 (boost 0.3734, better)predicted_SO: 1.0000 -> 0.7320 (deboost -0.2680, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_SO: 0.7320 -> 1.0000 (boost 0.2680, worse)predicted_RBI: 0.3734 -> 0.0000 (deboost -0.3734, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_SLG: 0.2421 -> 0.3390 (boost 0.0969, better)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference22011predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3390 -> 0.2421 (deboost -0.0969, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670032",
  "player_name": "Nicky Lopez",
  "position": "2B",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.051,
        "predicted_3B": 0.013,
        "predicted_AB": 2.658,
        "predicted_AVG": 0.332,
        "predicted_BB": 0.127,
        "predicted_H": 0.28,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.37,
        "predicted_R": 0.266,
        "predicted_RBI": 0.13,
        "predicted_SLG": 0.375,
        "predicted_SO": 0.494
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0813,
        "predicted_3B": 0.0105,
        "predicted_AB": 2.5366,
        "predicted_AVG": 0.3322,
        "predicted_BB": 0.1187,
        "predicted_H": 0.4907,
        "predicted_HBP": 0.114,
        "predicted_HR": 0.0066,
        "predicted_OBP": 0.3766,
        "predicted_R": 0.2706,
        "predicted_RBI": 0.1815,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.4707
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.051,
          "after": 0.0813,
          "delta": 0.0303,
          "percent_delta": 0.5941,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0105,
          "delta": -0.0025,
          "percent_delta": -0.1923,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.658,
          "after": 2.5366,
          "delta": -0.1214,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.332,
          "after": 0.3322,
          "delta": 0.0002,
          "percent_delta": 0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.127,
          "after": 0.1187,
          "delta": -0.0083,
          "percent_delta": -0.0654,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.28,
          "after": 0.4907,
          "delta": 0.2107,
          "percent_delta": 0.7525,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0066,
          "delta": 0.0066,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.37,
          "after": 0.3766,
          "delta": 0.0066,
          "percent_delta": 0.0178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.266,
          "after": 0.2706,
          "delta": 0.0046,
          "percent_delta": 0.0173,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.13,
          "after": 0.1815,
          "delta": 0.0515,
          "percent_delta": 0.3962,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.375,
          "after": 0.39,
          "delta": 0.015,
          "percent_delta": 0.04,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.494,
          "after": 0.4707,
          "delta": -0.0233,
          "percent_delta": -0.0472,
          "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.28,
          "after": 0.4907,
          "delta": 0.2107,
          "percent_delta": 0.7525,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 2.658,
          "after": 2.5366,
          "delta": -0.1214,
          "percent_delta": -0.0457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.0813,
        "predicted_3B": 0.0105,
        "predicted_AB": 2.5366,
        "predicted_AVG": 0.194,
        "predicted_BB": 0.1188,
        "predicted_H": 0.492,
        "predicted_HBP": 0.114,
        "predicted_HR": 0.0066,
        "predicted_OBP": 0.23,
        "predicted_R": 0.2724,
        "predicted_RBI": 0.1827,
        "predicted_SLG": 0.2421,
        "predicted_SO": 0.4704
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0813,
          "after": 0.0813,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0105,
          "after": 0.0105,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5366,
          "after": 2.5366,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3322,
          "after": 0.194,
          "delta": -0.1382,
          "percent_delta": -0.416,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1187,
          "after": 0.1188,
          "delta": 0.0001,
          "percent_delta": 0.0008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4907,
          "after": 0.492,
          "delta": 0.0013,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.114,
          "after": 0.114,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0066,
          "after": 0.0066,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3766,
          "after": 0.23,
          "delta": -0.1466,
          "percent_delta": -0.3893,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2706,
          "after": 0.2724,
          "delta": 0.0018,
          "percent_delta": 0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1815,
          "after": 0.1827,
          "delta": 0.0012,
          "percent_delta": 0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.2421,
          "delta": -0.1479,
          "percent_delta": -0.3792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4707,
          "after": 0.4704,
          "delta": -0.0003,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.2421,
          "delta": -0.1479,
          "percent_delta": -0.3792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.178 HR/AB=0.002",
      "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.0813,
          "after": 0.0,
          "delta": -0.0813,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0105,
          "after": 0.0,
          "delta": -0.0105,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.5366,
          "after": 3.0,
          "delta": 0.4634,
          "percent_delta": 0.1827,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1188,
          "after": 0.0,
          "delta": -0.1188,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.492,
          "after": 1.0,
          "delta": 0.508,
          "percent_delta": 1.0325,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.114,
          "after": 0.0,
          "delta": -0.114,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0066,
          "after": 0.0,
          "delta": -0.0066,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1827,
          "after": 0.0,
          "delta": -0.1827,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4704,
          "after": 1.0,
          "delta": 0.5296,
          "percent_delta": 1.1259,
          "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.4704,
          "after": 1.0,
          "delta": 0.5296,
          "percent_delta": 1.1259,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.1827,
          "after": 0.0,
          "delta": -0.1827,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.2724,
          "after": 0.0,
          "delta": -0.2724,
          "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.2724,
          "after": 0.0,
          "delta": -0.2724,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1088,
        "predicted_3B": 0.0053,
        "predicted_BB": 0.1814,
        "predicted_H": 0.7609,
        "predicted_HR": 0.0666,
        "predicted_RBI": 0.3734,
        "predicted_SO": 0.732
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1088,
          "delta": 0.1088,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0053,
          "delta": 0.0053,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1814,
          "delta": 0.1814,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7609,
          "delta": -0.2391,
          "percent_delta": -0.2391,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0666,
          "delta": 0.0666,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3734,
          "delta": 0.3734,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.732,
          "delta": -0.268,
          "percent_delta": -0.268,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3734,
          "delta": 0.3734,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.732,
          "delta": -0.268,
          "percent_delta": -0.268,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1088,
          "after": 0.0,
          "delta": -0.1088,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0053,
          "after": 0.0,
          "delta": -0.0053,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1814,
          "after": 0.0,
          "delta": -0.1814,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7609,
          "after": 1.0,
          "delta": 0.2391,
          "percent_delta": 0.3142,
          "direction": "boost",
          "projection_effect": "better",
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3734,
          "after": 0.0,
          "delta": -0.3734,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.732,
          "after": 1.0,
          "delta": 0.268,
          "percent_delta": 0.3661,
          "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.732,
          "after": 1.0,
          "delta": 0.268,
          "percent_delta": 0.3661,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3734,
          "after": 0.0,
          "delta": -0.3734,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.286,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.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.194,
          "after": 0.239,
          "delta": 0.045,
          "percent_delta": 0.232,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.23,
          "after": 0.286,
          "delta": 0.056,
          "percent_delta": 0.2435,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.2421,
          "after": 0.339,
          "delta": 0.0969,
          "percent_delta": 0.4002,
          "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.2421,
          "after": 0.339,
          "delta": 0.0969,
          "percent_delta": 0.4002,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.194,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.23,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2421,
        "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.239,
          "after": 0.194,
          "delta": -0.045,
          "percent_delta": -0.1884,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.286,
          "after": 0.23,
          "delta": -0.056,
          "percent_delta": -0.1957,
          "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.339,
          "after": 0.2421,
          "delta": -0.0969,
          "percent_delta": -0.2859,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.339,
          "after": 0.2421,
          "delta": -0.0969,
          "percent_delta": -0.2859,
          "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.051,
        "after": 0.0,
        "delta": -0.051,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.013,
        "after": 0.0,
        "delta": -0.013,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.658,
        "after": 4.0,
        "delta": 1.342,
        "percent_delta": 0.5049,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.332,
        "after": 0.194,
        "delta": -0.138,
        "percent_delta": -0.4157,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.127,
        "after": 0.0,
        "delta": -0.127,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.28,
        "after": 1.0,
        "delta": 0.72,
        "percent_delta": 2.5714,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.37,
        "after": 0.23,
        "delta": -0.14,
        "percent_delta": -0.3784,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.266,
        "after": 0.0,
        "delta": -0.266,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.375,
        "after": 0.2421,
        "delta": -0.1329,
        "percent_delta": -0.3544,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.494,
        "after": 2.0,
        "delta": 1.506,
        "percent_delta": 3.0486,
        "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.494,
        "after": 2.0,
        "delta": 1.506,
        "percent_delta": 3.0486,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.266,
        "after": 0.0,
        "delta": -0.266,
        "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.051-
predicted_3B0.013-
predicted_AB2.658-
predicted_AVG0.332-
predicted_BB0.127-
predicted_H0.280-
predicted_HR0.000-
predicted_OBP0.370-
predicted_R0.266-
predicted_RBI0.130-
predicted_SLG0.375-
predicted_SO0.494-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.0810.030
predicted_3B0.011-0.002
predicted_AB2.537-0.121
predicted_AVG0.3320.000
predicted_BB0.119-0.008
predicted_H0.4910.211
predicted_HBP0.114-
predicted_HR0.0070.007
predicted_OBP0.3770.007
predicted_R0.2710.005
predicted_RBI0.1810.051
predicted_SLG0.3900.015
predicted_SO0.471-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.0810.000
predicted_3B0.0110.000
predicted_AB2.5370.000
predicted_AVG0.194-0.138
predicted_BB0.1190.000
predicted_H0.4920.001
predicted_HBP0.1140.000
predicted_HR0.0070.000
predicted_OBP0.230-0.147
predicted_R0.2720.002
predicted_RBI0.1830.001
predicted_SLG0.242-0.148
predicted_SO0.470-0.000
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.66), rates preserved: AVG=0.178 HR/AB=0.002

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1090.109
3B0.0050.005
BB0.1810.181
H0.761-0.239
HR0.0670.067
RBI0.3730.373
SO0.732-0.268
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.109
3B0.000-0.005
AB3.0000.000
BB0.000-0.181
H1.0000.239
HR0.000-0.067
R0.0000.000
RBI0.000-0.373
SO1.0000.268
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.081
predicted_3B0.000-0.011
predicted_AB3.0000.463
predicted_AVG0.2390.045
predicted_BB0.000-0.119
predicted_H1.0000.508
predicted_HR0.000-0.007
predicted_OBP0.2860.056
predicted_R0.000-0.272
predicted_RBI0.000-0.183
predicted_SLG0.3390.097
predicted_SO1.0000.530
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO2.0001.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: 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-7.0004.0001.0000.0000.0001.0001.0000.0001.0000.57140.62500.71430.57140.00000.14290.00000.1429
last_100.2010-15.0005.0001.0000.0000.0001.0002.0001.0003.0000.33330.41180.40000.33330.00000.06670.06670.2000
season0.6079-210.00057.0004.0001.0001.00022.00021.00010.00039.0000.27140.31560.31430.27140.00480.10480.04760.1857
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1240
predicted_3B0.0070
predicted_AB2.3660
predicted_AVG0.3325
predicted_BB0.1070
predicted_H0.7870
predicted_HBP0.1140
predicted_HR0.0160
predicted_OBP0.3860
predicted_R0.2770
predicted_RBI0.2540
predicted_SLG0.4110
predicted_SO0.4380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.05100.12400.0813model_form_blend
predicted_3B0.01300.00700.0105model_form_blend
predicted_AB2.65802.36602.5366model_form_blend
predicted_AVG0.33200.33250.3322model_form_blend
predicted_BB0.12700.10700.1187model_form_blend
predicted_H0.28000.78700.4907model_form_blend
predicted_HBP-0.11400.1140form_only
predicted_HR0.00000.01600.0066model_form_blend
predicted_OBP0.37000.38600.3766model_form_blend
predicted_R0.26600.27700.2706model_form_blend
predicted_RBI0.13000.25400.1815model_form_blend
predicted_SLG0.37500.41100.3900model_form_blend
predicted_SO0.49400.43800.4707model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 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
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_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20260909_TEX@SEA
game_typeph
mlbID670032
noteStruck out for Díaz, E in the 9th.
playerID670032
playerNameNicky Lopez
pos2B
startedFalse
startingPositionPH
teamTEX
teamID28
game_date2026-09-09
sl_k_percent16.2
sl_bb_percent4.3
sl_woba0.284
sl_xwoba0.262
sl_xba0.244
sl_xslg0.293
sl_sweet_spot_percent28.0
sl_barrel_batted_rate0.0
sl_hard_hit_percent21.4
sl_exit_velocity_avg84.4
sl_launch_angle_avg3.6
sl_whiff_percent18.2
sl_swing_percent51.7
Jacob deGrom (594798) · PITCHER · Starter · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 27
All-history rows before 20260910: 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.4071.000-0.4070.000
predicted_ER1.0001.0001.000Pitching_ER2.3332.000-1.333-1.000
predicted_H1.0001.0001.000Pitching_H4.5194.000-3.519-3.000
predicted_IP5.0005.0005.000Pitching_InningsPitched5.2226.000-0.222-1.000
predicted_SO6.0006.0006.000Pitching_SO6.4447.000-0.444-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_SO: 4.0000 -> 6.0000 (boost 2.0000, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail11010predicted_SO: 4.0000 -> 6.0000 (boost 2.0000, better)-Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "594798",
  "player_name": "Jacob deGrom",
  "position": "Starter",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 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": 6.0,
          "delta": 2.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 6.0,
          "delta": 2.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_R": 1.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 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": 6.0,
        "delta": 2.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 6.0,
        "delta": 2.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR1.000-
predicted_IP5.000-
predicted_SO4.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER1.0000.000
predicted_H1.0000.000
predicted_HR1.0000.000
predicted_IP5.0000.000
predicted_SO6.0002.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 27
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.20012.00018.0008.00030.0002.0004.37841.05410.48650.72970.32431.21620.0811
last_100.351047.20026.00047.00018.00059.0003.0004.90911.36360.54540.98600.37761.23780.0629
season0.2027143.10063.000122.00038.000174.00019.0003.95581.11630.43950.85120.26511.21400.1326
Weighted Prediction From Real Data
MetricValue
predicted_BB1.6730
predicted_ER2.4720
predicted_ERA4.4870
predicted_H4.2830
predicted_HR0.4690
predicted_IP5.0000
predicted_SO5.8450
predicted_WHIP1.2014
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.67301.3930model_form_blend
predicted_ER1.00002.47201.8597model_form_blend
predicted_ERA-4.48704.4870form_only
predicted_H1.00004.28302.9173model_form_blend
predicted_HR1.00000.46900.6899model_form_blend
predicted_IP5.00005.00005.0000model_form_blend
predicted_SO4.00005.84505.0775model_form_blend
predicted_WHIP-1.20141.2014form_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
IP5.0
H1
R1
ER1
BB1
SO6
HR1
BF18
Pitches82

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced21
Pitching_ER2
Pitching_ERA3.96
Pitching_Flyouts1
Pitching_Groundouts6
Pitching_H4
Pitching_HBP0
Pitching_HR2
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.0
Pitching_Pitches90
Pitching_R2
Pitching_SO7
Pitching_Strikes66
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260905_TB@TEX
game_typefull
mlbID594798
playerID594798
playerNameJacob deGrom
posP
startedTrue
startingPositionP
teamTEX
teamID28
game_date2026-09-05
sl_k_percent29.9
sl_bb_percent6.5
sl_woba0.283
sl_xwoba0.292
sl_sweet_spot_percent37.8
sl_barrel_batted_rate8.4
sl_hard_hit_percent44.9
sl_whiff_percent33.6
sl_swing_percent51.6
sl_avg_best_speed80.259537826
sl_avg_hyper_speed94.684935109
Chase Silseth (681217) · PITCHER · Middle Reliever (High Leverage) · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 18
All-history rows before 20260910: 18

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.6670.0000.3331.000
predicted_ER0.0000.0000.000Pitching_ER0.3330.000-0.3330.000
predicted_H0.0000.0000.000Pitching_H0.6110.000-0.6110.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6721.0000.3280.000
predicted_SO1.0001.0001.000Pitching_SO0.8331.0000.1670.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": "681217",
  "player_name": "Chase Silseth",
  "position": "Middle Reliever (High Leverage)",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 0,
      "boosted_metrics": 0,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": null,
      "has_material_change": false,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 64
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1002.0003.0005.0005.0000.0004.15381.84620.46150.69231.15391.15390.0000
last_100.35108.0002.0003.0007.0008.0000.0002.25001.25000.25000.37500.87501.00000.0000
season0.206454.10017.00043.00034.00063.0005.0002.81601.41720.31290.79140.62581.15950.0920
Weighted Prediction From Real Data
MetricValue
predicted_BB0.7080
predicted_ER0.3710
predicted_ERA3.6292
predicted_H0.6600
predicted_HR0.0540
predicted_IP1.0000
predicted_SO0.9660
predicted_WHIP1.4868
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.70800.8488model_form_blend
predicted_ER0.00000.37100.1921model_form_blend
predicted_ERA-3.62923.6292form_only
predicted_H0.00000.66000.3417model_form_blend
predicted_HR0.00000.05400.0280model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.96600.9824model_form_blend
predicted_WHIP-1.48681.4868form_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 used64
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB1
SO1
HR0
BF4
Pitches21

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.98
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches7
Pitching_R0
Pitching_SO1
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260906_TB@TEX
game_typefull
mlbID681217
playerID681217
playerNameChase Silseth
posP
startedFalse
startingPositionP
teamTEX
teamID28
game_date2026-09-06
sl_k_percent26.1
sl_bb_percent14.1
sl_woba0.308
sl_xwoba0.314
sl_sweet_spot_percent40.4
sl_barrel_batted_rate9.2
sl_hard_hit_percent32.6
sl_whiff_percent32.8
sl_swing_percent46.6
sl_avg_best_speed75.522595217
sl_avg_hyper_speed93.304113043
Jacob Latz (656641) · PITCHER · Closer · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 51
All-history rows before 20260910: 51

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3920.000-0.3920.000
predicted_ER0.0000.0000.000Pitching_ER0.2550.000-0.2550.000
predicted_H0.0000.0000.000Pitching_H0.5691.000-0.569-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.1691.000-0.1690.000
predicted_SO0.0000.0000.000Pitching_SO1.3731.000-1.373-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": "656641",
  "player_name": "Jacob Latz",
  "position": "Closer",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.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: 50
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1002.0003.0003.0007.0001.0003.37501.12500.37500.56250.56251.31250.1875
last_100.351012.1002.0005.0008.00018.0001.0001.45951.05410.16220.40540.64861.45950.0811
season0.205063.10010.00026.00019.00070.0004.0001.42110.71050.15790.41050.30001.10530.0632
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5580
predicted_ER0.3690
predicted_ERA2.9360
predicted_H0.6980
predicted_HR0.1490
predicted_IP1.0000
predicted_SO1.3750
predicted_WHIP1.1093
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.55800.2964model_form_blend
predicted_ER0.00000.36900.1960model_form_blend
predicted_ERA-2.93602.9360form_only
predicted_H0.00000.69800.3708model_form_blend
predicted_HR0.00000.14900.0791model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.37500.7304model_form_blend
predicted_WHIP-1.10931.1093form_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 date51
Season rows before report date51
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.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 Faced4
Pitching_ER0
Pitching_ERA1.85
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches18
Pitching_R0
Pitching_SO1
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20260906_TB@TEX
game_typefull
mlbID656641
playerID656641
playerNameJacob Latz
posP
startedFalse
startingPositionP
teamTEX
teamID28
game_date2026-09-06
sl_k_percent29.7
sl_bb_percent8.5
sl_woba0.198
sl_xwoba0.247
sl_sweet_spot_percent26.7
sl_barrel_batted_rate6.9
sl_hard_hit_percent39.0
sl_whiff_percent30.4
sl_swing_percent51.8
sl_avg_best_speed78.791769437
sl_avg_hyper_speed93.72949007
Jakob Junis (596001) · PITCHER · Setup Man · Team TEX
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 46
All-history rows before 20260910: 46

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2610.000-0.2610.000
predicted_ER4.0004.0004.000Pitching_ER0.3260.0003.6744.000
predicted_H4.0004.0004.000Pitching_H0.9570.0003.0434.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9911.0000.0090.000
predicted_SO0.0000.0000.000Pitching_SO0.7610.000-0.7610.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "596001",
  "player_name": "Jakob Junis",
  "position": "Setup Man",
  "team": "TEX",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 4.0,
        "predicted_H": 4.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": 4.0,
        "predicted_H": 4.0,
        "predicted_HR": 2.0,
        "predicted_IP": 1.0,
        "predicted_R": 4.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": 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": 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": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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": 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": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER4.000-
predicted_H4.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: 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.0001.0005.0003.0002.0000.0001.80001.60000.20001.00000.60000.40000.0000
last_100.35109.1003.0008.0005.0005.0001.0002.89291.39290.32140.85710.53570.53570.1071
season0.204649.10015.00044.00012.00035.0003.0002.73651.13510.30400.89190.24320.70950.0608
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4610
predicted_ER0.3430
predicted_ERA3.0908
predicted_H0.9430
predicted_HR0.0820
predicted_IP1.0000
predicted_SO0.6530
predicted_WHIP1.4044
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.46100.2345model_form_blend
predicted_ER4.00000.34302.1395model_form_blend
predicted_ERA-3.09083.0908form_only
predicted_H4.00000.94302.4447model_form_blend
predicted_HR2.00000.08201.0242model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00000.65301.3147model_form_blend
predicted_WHIP-1.40441.4044form_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 used46
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H4
R4
ER4
BB0
SO0
HR2
BF7
Pitches25

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.74
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches11
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260906_TB@TEX
game_typefull
mlbID596001
playerID596001
playerNameJakob Junis
posP
startedFalse
startingPositionP
teamTEX
teamID28
game_date2026-09-06
sl_k_percent17.2
sl_bb_percent5.9
sl_woba0.268
sl_xwoba0.311
sl_sweet_spot_percent37.7
sl_barrel_batted_rate3.2
sl_hard_hit_percent33.8
sl_whiff_percent18.7
sl_swing_percent46.9
sl_avg_best_speed76.193294026
sl_avg_hyper_speed92.993659286

Home Team: SEA

Home Pitcher Deep Analysis

FieldValue
PitcherLogan Gilbert
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1601
ESPN Rank40
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0181
Avg Velo89.5521
Avg Spin1933.4324
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER3
Pre H4
Pre BB3
Pre SO6
Season ERA3.7091
Season WHIP1.0667
Role Avg IP5.8930
Recent Avg IP5.1330
Last Start IP4.2000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4658,
    "runs_scored": 577.0,
    "runs_allowed": 652.0,
    "run_differential": -75.0,
    "run_differential_per_game": -0.5137,
    "avg_runs_scored": 3.9521,
    "avg_runs_allowed": 4.4658,
    "offense_index": 0.8783,
    "defense_index": 1.0076,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.7,
      "run_differential": -10.0
    },
    "available": true,
    "quality_score": -0.1269
  },
  "opponent": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4932,
    "runs_scored": 607.0,
    "runs_allowed": 647.0,
    "run_differential": -40.0,
    "run_differential_per_game": -0.274,
    "avg_runs_scored": 4.1575,
    "avg_runs_allowed": 4.4315,
    "offense_index": 0.9239,
    "defense_index": 1.0154,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.0,
      "avg_runs_allowed": 4.6,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": -0.0043
  },
  "edges": {
    "quality_edge": -0.1226,
    "offense_edge": -0.1217,
    "opponent_offense_edge": -0.0761,
    "defense_strength": 0.0076,
    "opponent_defense_weakness": -0.0154,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9984,
    "run_prevention": 0.9932,
    "strikeout": 1.0024
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "669302",
    "profile": {
      "available": true,
      "pitcher_id": "669302",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 590.0,
        "k_percent": 26.6,
        "bb_percent": 6.4,
        "woba": 0.297,
        "xwoba": 0.299,
        "sweet_spot_percent": 37.2,
        "barrel_batted_rate": 10.3,
        "hard_hit_percent": 41.6,
        "avg_best_speed": 79.1322,
        "avg_hyper_speed": 94.4467,
        "whiff_percent": 29.7,
        "swing_percent": 50.2
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.0128,
        "command_and_miss": 0.6707,
        "regression_edge": -0.0571,
        "xwoba_edge": 0.3429,
        "barrel_edge": -0.7111,
        "hard_hit_edge": -0.5286,
        "whiff_edge": 0.6714,
        "bb_edge": 0.7,
        "pitch_design_score": -0.0181
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "669302",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 96,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 96,
          "pitch_usage": 0.0,
          "release_speed": 89.55212588420072,
          "release_spin_rate": 1933.4323936506946,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 96,
            "pitch_usage": 0.0,
            "release_speed": 89.55212588420072,
            "release_spin_rate": 1933.4323936506946,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5521,
          "release_spin_rate": 1933.4324,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0181,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.1292,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1601,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9864,
      "strikeout_factor": 1.0531,
      "walk_factor": 0.944,
      "homer_factor": 1.0677,
      "woba_minus_xwoba": -0.002,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "669302",
        "espn_id": 41221,
        "player_name": "Logan Gilbert",
        "team": "SEA",
        "role": "pitcher",
        "espn_rank": 40,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 40,
          "gp_value": 28.0,
          "gp_rank": 261,
          "gs_value": 28.0,
          "gs_rank": 24,
          "qs_value": 12.0,
          "qs_rank": 33,
          "era_value": 3.709,
          "era_rank": 25.0,
          "w_value": 11.0,
          "w_rank": 22,
          "l_value": 9.0,
          "l_rank": 31,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 165.0,
          "ip_rank": 16,
          "h_value": 134.0,
          "h_rank": 50,
          "er_value": 68.0,
          "er_rank": 39,
          "hr_value": 26.0,
          "hr_rank": 12,
          "bb_value": 42.0,
          "bb_rank": 72,
          "k_value": 176.0,
          "k_rank": 13,
          "k_per_9_value": 9.599999,
          "k_per_9_rank": 21,
          "whip_value": 1.0666,
          "whip_rank": 11.0,
          "war_value": 2.85,
          "war_rank": 26.0
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 0.9864,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.9864,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.944,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0677,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0531,
        "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": 57.2,
    "ER": 30,
    "H": 54,
    "BB": 20,
    "SO": 62,
    "HR": 12,
    "ERA": 4.682080924855492,
    "WHIP": 1.2832369942196533,
    "K9": 9.676300578034683,
    "HR9": 1.8728323699421967,
    "games_pitched": 10,
    "quality_starts": 4,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-04T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "669302",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 96,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 96,
    "pitch_usage": 0.0,
    "release_speed": 89.55212588420072,
    "release_spin_rate": 1933.4323936506946,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 96,
      "pitch_usage": 0.0,
      "release_speed": 89.55212588420072,
      "release_spin_rate": 1933.4323936506946,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5521,
    "release_spin_rate": 1933.4324,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0181,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.1292,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8485,
    "prior_weight": 0.1515
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "669302",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 28,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 25.2,
        "ER": 15.0,
        "R": 15.0,
        "H": 27.0,
        "BB": 10.0,
        "SO": 31.0,
        "HR": 7.0,
        "BF": 112.0,
        "Pitches": 483.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 5.4,
        "BB": 2.0,
        "SO": 6.2,
        "HR": 1.4,
        "BF": 22.4,
        "Pitches": 96.6
      },
      "rates": {
        "ERA": 5.2597,
        "WHIP": 1.4416,
        "ER_per_IP": 0.58442,
        "H_per_IP": 1.05195,
        "BB_per_IP": 0.38961,
        "SO_per_IP": 1.20779,
        "HR_per_IP": 0.27273
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 57.2,
        "ER": 30.0,
        "R": 30.0,
        "H": 54.0,
        "BB": 20.0,
        "SO": 62.0,
        "HR": 12.0,
        "BF": 242.0,
        "Pitches": 958.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 5.4,
        "BB": 2.0,
        "SO": 6.2,
        "HR": 1.2,
        "BF": 24.2,
        "Pitches": 95.8
      },
      "rates": {
        "ERA": 4.6821,
        "WHIP": 1.2832,
        "ER_per_IP": 0.52023,
        "H_per_IP": 0.93642,
        "BB_per_IP": 0.34682,
        "SO_per_IP": 1.07514,
        "HR_per_IP": 0.20809
      }
    },
    "season": {
      "games": 28,
      "totals": {
        "IP": 165.0,
        "ER": 68.0,
        "R": 68.0,
        "H": 134.0,
        "BB": 42.0,
        "SO": 176.0,
        "HR": 26.0,
        "BF": 661.0,
        "Pitches": 2645.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 2.4286,
        "R": 2.4286,
        "H": 4.7857,
        "BB": 1.5,
        "SO": 6.2857,
        "HR": 0.9286,
        "BF": 23.6071,
        "Pitches": 94.4643
      },
      "rates": {
        "ERA": 3.7091,
        "WHIP": 1.0667,
        "ER_per_IP": 0.41212,
        "H_per_IP": 0.81212,
        "BB_per_IP": 0.25455,
        "SO_per_IP": 1.06667,
        "HR_per_IP": 0.15758
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 2.864,
    "predicted_H": 5.277,
    "predicted_BB": 1.921,
    "predicted_SO": 6.037,
    "predicted_HR": 1.175,
    "predicted_ERA": 4.714,
    "predicted_WHIP": 1.3162
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.414,
  "form_weight": 0.586,
  "form_reliability": 0.8485,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8485,
    "prior_weight": 0.1515
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 5.1,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.864,
      "final": 2.9203,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 5.277,
      "final": 4.7483,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 3.0,
      "form": 1.921,
      "final": 2.3677,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 6.037,
      "final": 5.6077,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 1.175,
      "final": 0.6885,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.714,
      "final": 4.714,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3162,
      "final": 1.3162,
      "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
PitcherAndrés Muñoz
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6137
ESPN Rank341
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA3.7125
Season WHIP1.1062
Role Avg IP0.9700
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4658,
    "runs_scored": 577.0,
    "runs_allowed": 652.0,
    "run_differential": -75.0,
    "run_differential_per_game": -0.5137,
    "avg_runs_scored": 3.9521,
    "avg_runs_allowed": 4.4658,
    "offense_index": 0.8783,
    "defense_index": 1.0076,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.7,
      "run_differential": -10.0
    },
    "available": true,
    "quality_score": -0.1269
  },
  "opponent": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4932,
    "runs_scored": 607.0,
    "runs_allowed": 647.0,
    "run_differential": -40.0,
    "run_differential_per_game": -0.274,
    "avg_runs_scored": 4.1575,
    "avg_runs_allowed": 4.4315,
    "offense_index": 0.9239,
    "defense_index": 1.0154,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.0,
      "avg_runs_allowed": 4.6,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": -0.0043
  },
  "edges": {
    "quality_edge": -0.1226,
    "offense_edge": -0.1217,
    "opponent_offense_edge": -0.0761,
    "defense_strength": 0.0076,
    "opponent_defense_weakness": -0.0154,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9984,
    "run_prevention": 0.9932,
    "strikeout": 1.0024
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "662253",
    "profile": {
      "available": true,
      "pitcher_id": "662253",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 195.0,
        "k_percent": 38.5,
        "bb_percent": 9.5,
        "woba": 0.278,
        "xwoba": 0.275,
        "sweet_spot_percent": 32.5,
        "barrel_batted_rate": 8.8,
        "hard_hit_percent": 42.1,
        "avg_best_speed": 76.1386,
        "avg_hyper_speed": 94.7136,
        "whiff_percent": 41.2,
        "swing_percent": 47.8
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.5282,
        "command_and_miss": 1.8557,
        "regression_edge": 0.0857,
        "xwoba_edge": 1.0286,
        "barrel_edge": -0.3778,
        "hard_hit_edge": -0.6,
        "whiff_edge": 2.3143,
        "bb_edge": -0.075,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "662253",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.6137,
      "sample_weight": 0.78,
      "run_prevention_factor": 0.9478,
      "strikeout_factor": 1.1457,
      "walk_factor": 1.0047,
      "homer_factor": 1.0182,
      "woba_minus_xwoba": 0.003,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "662253",
        "espn_id": 40939,
        "player_name": "Andres Munoz",
        "team": "SEA",
        "role": "pitcher",
        "espn_rank": 341,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 341,
          "gp_value": 56.0,
          "gp_rank": 71,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 4.05,
          "era_rank": null,
          "w_value": 5.0,
          "w_rank": 144,
          "l_value": 5.0,
          "l_rank": 135,
          "sv_value": 26.0,
          "sv_rank": 12,
          "hld_value": 0.0,
          "hld_rank": 351,
          "ip_value": 53.1,
          "ip_rank": 285,
          "h_value": 40.0,
          "h_rank": 322,
          "er_value": 24.0,
          "er_rank": 258,
          "hr_value": 7.0,
          "hr_rank": 226,
          "bb_value": 21.0,
          "bb_rank": 277,
          "k_value": 85.0,
          "k_rank": 144,
          "k_per_9_value": 14.34375,
          "k_per_9_rank": 13,
          "whip_value": 1.1437,
          "whip_rank": null,
          "war_value": 0.22,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9593,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9593,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0037,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0142,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.1136,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.2,
    "ER": 6,
    "H": 6,
    "BB": 4,
    "SO": 16,
    "HR": 2,
    "ERA": 5.586206896551724,
    "WHIP": 1.0344827586206897,
    "K9": 14.896551724137932,
    "HR9": 1.8620689655172415,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-09T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "662253",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.764,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6828,
    "prior_weight": 0.3172
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "662253",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 55,
  "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": 8.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 59.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.2,
        "BB": 0.2,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 11.8
      },
      "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.6,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 6.0,
        "R": 7.0,
        "H": 6.0,
        "BB": 4.0,
        "SO": 16.0,
        "HR": 2.0,
        "BF": 39.0,
        "Pitches": 152.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.7,
        "H": 0.6,
        "BB": 0.4,
        "SO": 1.6,
        "HR": 0.2,
        "BF": 3.9,
        "Pitches": 15.2
      },
      "rates": {
        "ERA": 5.5862,
        "WHIP": 1.0345,
        "ER_per_IP": 0.62069,
        "H_per_IP": 0.62069,
        "BB_per_IP": 0.41379,
        "SO_per_IP": 1.65517,
        "HR_per_IP": 0.2069
      }
    },
    "season": {
      "games": 55,
      "totals": {
        "IP": 53.1,
        "ER": 22.0,
        "R": 24.0,
        "H": 39.0,
        "BB": 20.0,
        "SO": 85.0,
        "HR": 7.0,
        "BF": 219.0,
        "Pitches": 869.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4364,
        "H": 0.7091,
        "BB": 0.3636,
        "SO": 1.5455,
        "HR": 0.1273,
        "BF": 3.9818,
        "Pitches": 15.8
      },
      "rates": {
        "ERA": 3.7125,
        "WHIP": 1.1062,
        "ER_per_IP": 0.4125,
        "H_per_IP": 0.73125,
        "BB_per_IP": 0.375,
        "SO_per_IP": 1.59375,
        "HR_per_IP": 0.13125
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.426,
    "predicted_H": 0.618,
    "predicted_BB": 0.329,
    "predicted_SO": 1.403,
    "predicted_HR": 0.114,
    "predicted_ERA": 3.8309,
    "predicted_WHIP": 0.9477
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.484,
  "form_weight": 0.516,
  "form_reliability": 0.6828,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.764,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6828,
    "prior_weight": 0.3172
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.426,
      "final": 0.2198,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.618,
      "final": 0.3189,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.329,
      "final": 0.1698,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.403,
      "final": 1.2079,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.114,
      "final": 0.0588,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.8309,
      "final": 3.8309,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9477,
      "final": 0.9477,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJosé A. Ferrer
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1127
ESPN Rank237
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER1
Pre H2
Pre BB0
Pre SO1
Season ERA3.7709
Season WHIP1.3911
Role Avg IP0.9180
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4658,
    "runs_scored": 577.0,
    "runs_allowed": 652.0,
    "run_differential": -75.0,
    "run_differential_per_game": -0.5137,
    "avg_runs_scored": 3.9521,
    "avg_runs_allowed": 4.4658,
    "offense_index": 0.8783,
    "defense_index": 1.0076,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.7,
      "run_differential": -10.0
    },
    "available": true,
    "quality_score": -0.1269
  },
  "opponent": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4932,
    "runs_scored": 607.0,
    "runs_allowed": 647.0,
    "run_differential": -40.0,
    "run_differential_per_game": -0.274,
    "avg_runs_scored": 4.1575,
    "avg_runs_allowed": 4.4315,
    "offense_index": 0.9239,
    "defense_index": 1.0154,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.0,
      "avg_runs_allowed": 4.6,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": -0.0043
  },
  "edges": {
    "quality_edge": -0.1226,
    "offense_edge": -0.1217,
    "opponent_offense_edge": -0.0761,
    "defense_strength": 0.0076,
    "opponent_defense_weakness": -0.0154,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9984,
    "run_prevention": 0.9932,
    "strikeout": 1.0024
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "678606",
    "profile": {
      "available": true,
      "pitcher_id": "678606",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 220.0,
        "k_percent": 18.1,
        "bb_percent": 6.8,
        "woba": 0.327,
        "xwoba": 0.299,
        "sweet_spot_percent": 27.5,
        "barrel_batted_rate": 5.2,
        "hard_hit_percent": 36.8,
        "avg_best_speed": 74.8498,
        "avg_hyper_speed": 93.4307,
        "whiff_percent": 18.3,
        "swing_percent": 50.5
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.302,
        "command_and_miss": -0.4657,
        "regression_edge": 0.8,
        "xwoba_edge": 0.3429,
        "barrel_edge": 0.4222,
        "hard_hit_edge": 0.1571,
        "whiff_edge": -0.9571,
        "bb_edge": 0.6,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "678606",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.1127,
      "sample_weight": 0.88,
      "run_prevention_factor": 0.9904,
      "strikeout_factor": 0.9467,
      "walk_factor": 0.9578,
      "homer_factor": 0.9557,
      "woba_minus_xwoba": 0.028,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "678606",
        "espn_id": 5119607,
        "player_name": "Jose Ferrer",
        "team": "SEA",
        "role": "pitcher",
        "espn_rank": 237,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 237,
          "gp_value": 66.0,
          "gp_rank": 14,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 3.7709,
          "era_rank": null,
          "w_value": 4.0,
          "w_rank": 190,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 3.0,
          "sv_rank": 68,
          "hld_value": 13.0,
          "hld_rank": 50,
          "ip_value": 59.2,
          "ip_rank": 238,
          "h_value": 66.0,
          "h_rank": 177,
          "er_value": 25.0,
          "er_rank": 242,
          "hr_value": 6.0,
          "hr_rank": 271,
          "bb_value": 18.0,
          "bb_rank": 329,
          "k_value": 48.0,
          "k_rank": 304,
          "k_per_9_value": 7.2402234,
          "k_per_9_rank": 34,
          "whip_value": 1.4078,
          "whip_rank": null,
          "war_value": 0.59,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9916,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9916,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9629,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.961,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9531,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.2,
    "ER": 4,
    "H": 11,
    "BB": 4,
    "SO": 7,
    "HR": 0,
    "ERA": 4.153846153846153,
    "WHIP": 1.7307692307692306,
    "K9": 7.269230769230768,
    "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-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "678606",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.042,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7066,
    "prior_weight": 0.2934
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "678606",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 65,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 6.0,
        "BB": 4.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 92.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.2,
        "BB": 0.8,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 2.5,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.5,
        "BB_per_IP": 1.0,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 11.0,
        "BB": 4.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 41.0,
        "Pitches": 164.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.1,
        "BB": 0.4,
        "SO": 0.7,
        "HR": 0.0,
        "BF": 4.1,
        "Pitches": 16.4
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.7308,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.26923,
        "BB_per_IP": 0.46154,
        "SO_per_IP": 0.80769,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 65,
      "totals": {
        "IP": 59.2,
        "ER": 25.0,
        "R": 26.0,
        "H": 65.0,
        "BB": 18.0,
        "SO": 48.0,
        "HR": 6.0,
        "BF": 264.0,
        "Pitches": 978.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3846,
        "R": 0.4,
        "H": 1.0,
        "BB": 0.2769,
        "SO": 0.7385,
        "HR": 0.0923,
        "BF": 4.0615,
        "Pitches": 15.0462
      },
      "rates": {
        "ERA": 3.7709,
        "WHIP": 1.3911,
        "ER_per_IP": 0.41899,
        "H_per_IP": 1.08939,
        "BB_per_IP": 0.30168,
        "SO_per_IP": 0.80447,
        "HR_per_IP": 0.10056
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.5,
    "predicted_H": 1.1,
    "predicted_BB": 0.522,
    "predicted_SO": 0.811,
    "predicted_HR": 0.051,
    "predicted_ERA": 5.0346,
    "predicted_WHIP": 1.814
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.474,
  "form_weight": 0.526,
  "form_reliability": 0.7066,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.042,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7066,
    "prior_weight": 0.2934
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.5,
      "final": 0.737,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.1,
      "final": 1.5266,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.522,
      "final": 0.2746,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.811,
      "final": 0.9006,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.051,
      "final": 0.0268,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.0346,
      "final": 5.0346,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.814,
      "final": 1.814,
      "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
PitcherEduard Bazardo
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.2585
ESPN Rank345
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.8984
Season WHIP1.4599
Role Avg IP0.9300
Recent Avg IP0.6670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "SEA",
    "games": 146,
    "wins": 68,
    "losses": 78,
    "win_pct": 0.4658,
    "runs_scored": 577.0,
    "runs_allowed": 652.0,
    "run_differential": -75.0,
    "run_differential_per_game": -0.5137,
    "avg_runs_scored": 3.9521,
    "avg_runs_allowed": 4.4658,
    "offense_index": 0.8783,
    "defense_index": 1.0076,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 4,
      "losses": 6,
      "win_pct": 0.4,
      "avg_runs_scored": 4.7,
      "avg_runs_allowed": 5.7,
      "run_differential": -10.0
    },
    "available": true,
    "quality_score": -0.1269
  },
  "opponent": {
    "team": "TEX",
    "games": 146,
    "wins": 72,
    "losses": 74,
    "win_pct": 0.4932,
    "runs_scored": 607.0,
    "runs_allowed": 647.0,
    "run_differential": -40.0,
    "run_differential_per_game": -0.274,
    "avg_runs_scored": 4.1575,
    "avg_runs_allowed": 4.4315,
    "offense_index": 0.9239,
    "defense_index": 1.0154,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 6,
      "losses": 4,
      "win_pct": 0.6,
      "avg_runs_scored": 6.0,
      "avg_runs_allowed": 4.6,
      "run_differential": 14.0
    },
    "available": true,
    "quality_score": -0.0043
  },
  "edges": {
    "quality_edge": -0.1226,
    "offense_edge": -0.1217,
    "opponent_offense_edge": -0.0761,
    "defense_strength": 0.0076,
    "opponent_defense_weakness": -0.0154,
    "recent_win_pct_edge": -0.2
  },
  "player_factors": {
    "ip": 0.9984,
    "run_prevention": 0.9932,
    "strikeout": 1.0024
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "660825",
    "profile": {
      "available": true,
      "pitcher_id": "660825",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 230.0,
        "k_percent": 23.3,
        "bb_percent": 8.0,
        "woba": 0.347,
        "xwoba": 0.333,
        "sweet_spot_percent": 38.0,
        "barrel_batted_rate": 9.1,
        "hard_hit_percent": 39.0,
        "avg_best_speed": 79.0265,
        "avg_hyper_speed": 94.1843,
        "whiff_percent": 21.5,
        "swing_percent": 45.1
      },
      "league_medians": {
        "pa": 117.0,
        "k_percent": 22.0,
        "bb_percent": 9.2,
        "woba": 0.317,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.1,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.5981,
        "avg_hyper_speed": 93.9191,
        "whiff_percent": 25.0,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.5585,
        "command_and_miss": -0.0314,
        "regression_edge": 0.4,
        "xwoba_edge": -0.6286,
        "barrel_edge": -0.4444,
        "hard_hit_edge": -0.1571,
        "whiff_edge": -0.5,
        "bb_edge": 0.3,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "660825",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": -0.2585,
      "sample_weight": 0.92,
      "run_prevention_factor": 1.022,
      "strikeout_factor": 0.9884,
      "walk_factor": 0.9779,
      "homer_factor": 1.0558,
      "woba_minus_xwoba": 0.014,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": true,
        "player_id": "660825",
        "espn_id": 41939,
        "player_name": "Eduard Bazardo",
        "team": "SEA",
        "role": "pitcher",
        "espn_rank": 345,
        "espn_total_ranked": 859,
        "metrics": {
          "espn_rank": 345,
          "gp_value": 67.0,
          "gp_rank": 12,
          "gs_value": 0.0,
          "gs_rank": 364,
          "qs_value": 0.0,
          "qs_rank": 210,
          "era_value": 3.8983,
          "era_rank": null,
          "w_value": 3.0,
          "w_rank": 243,
          "l_value": 3.0,
          "l_rank": 240,
          "sv_value": 0.0,
          "sv_rank": 249,
          "hld_value": 26.0,
          "hld_rank": 5,
          "ip_value": 62.1,
          "ip_rank": 218,
          "h_value": 69.0,
          "h_rank": 167,
          "er_value": 27.0,
          "er_rank": 214,
          "hr_value": 11.0,
          "hr_rank": 147,
          "bb_value": 22.0,
          "bb_rank": 260,
          "k_value": 64.0,
          "k_rank": 211,
          "k_per_9_value": 9.240642,
          "k_per_9_rank": 26,
          "whip_value": 1.4598,
          "whip_rank": null,
          "war_value": 0.21,
          "war_rank": null
        },
        "source": "espn_statistics_byathlete"
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0202,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0202,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9797,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0513,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9893,
        "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": 15,
    "BB": 6,
    "SO": 12,
    "HR": 3,
    "ERA": 7.714285714285715,
    "WHIP": 2.2500000000000004,
    "K9": 11.571428571428573,
    "HR9": 2.8928571428571432,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-08T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "660825",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.58,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7156,
    "prior_weight": 0.2844
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "660825",
  "report_date": "20260910",
  "season_year": 2026,
  "rows_used": 67,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.1,
        "ER": 7.0,
        "R": 7.0,
        "H": 11.0,
        "BB": 4.0,
        "SO": 5.0,
        "HR": 2.0,
        "BF": 26.0,
        "Pitches": 107.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 1.4,
        "R": 1.4,
        "H": 2.2,
        "BB": 0.8,
        "SO": 1.0,
        "HR": 0.4,
        "BF": 5.2,
        "Pitches": 21.4
      },
      "rates": {
        "ERA": 18.9,
        "WHIP": 4.5,
        "ER_per_IP": 2.1,
        "H_per_IP": 3.3,
        "BB_per_IP": 1.2,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.6
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 8.0,
        "R": 8.0,
        "H": 15.0,
        "BB": 6.0,
        "SO": 12.0,
        "HR": 3.0,
        "BF": 50.0,
        "Pitches": 195.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.5,
        "BB": 0.6,
        "SO": 1.2,
        "HR": 0.3,
        "BF": 5.0,
        "Pitches": 19.5
      },
      "rates": {
        "ERA": 7.7143,
        "WHIP": 2.25,
        "ER_per_IP": 0.85714,
        "H_per_IP": 1.60714,
        "BB_per_IP": 0.64286,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.32143
      }
    },
    "season": {
      "games": 67,
      "totals": {
        "IP": 62.1,
        "ER": 27.0,
        "R": 30.0,
        "H": 69.0,
        "BB": 22.0,
        "SO": 64.0,
        "HR": 11.0,
        "BF": 275.0,
        "Pitches": 1052.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.403,
        "R": 0.4478,
        "H": 1.0299,
        "BB": 0.3284,
        "SO": 0.9552,
        "HR": 0.1642,
        "BF": 4.1045,
        "Pitches": 15.7015
      },
      "rates": {
        "ERA": 3.8984,
        "WHIP": 1.4599,
        "ER_per_IP": 0.43316,
        "H_per_IP": 1.10695,
        "BB_per_IP": 0.35294,
        "SO_per_IP": 1.02674,
        "HR_per_IP": 0.17647
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.874,
    "predicted_H": 1.516,
    "predicted_BB": 0.561,
    "predicted_SO": 0.973,
    "predicted_HR": 0.272,
    "predicted_ERA": 9.8636,
    "predicted_WHIP": 2.6039
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4702,
  "form_weight": 0.5298,
  "form_reliability": 0.7156,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.58,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7156,
    "prior_weight": 0.2844
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.874,
      "final": 0.4631,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.516,
      "final": 0.8032,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.561,
      "final": 0.2972,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.973,
      "final": 0.9857,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.272,
      "final": 0.1441,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 9.8636,
      "final": 9.8636,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 2.6039,
      "final": 2.6039,
      "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."
}
Cal Raleigh (663728) · BATTER · C · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 410
All-history rows before 20260910: 410
System season_avg: 0.1830
Data season_avg (2026 season-to-date): 0.1668
Diff (system - data): 0.0162
System opponent_avg: 0.1540
System season_avg diverges from 2026 season-to-date by 0.0162. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1180.0000.000Hitting_2B0.1150.000-0.1150.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.9503.0004.000Hitting_AB3.6713.000-0.6710.000
predicted_AVG0.2600.3330.000Hitting_AVG0.1670.0000.1670.333
predicted_BB0.5551.0001.000Hitting_BB0.5561.0000.4440.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H1.0301.0000.000Hitting_H0.6120.0000.3881.000
predicted_HR0.2201.0000.000Hitting_HR0.1560.0000.8441.000
predicted_OBP0.3670.5000.200Hitting_OBP0.2790.2500.2210.250
predicted_R0.3821.0001.000Hitting_R0.3441.0000.6560.000
predicted_RBI0.6001.0001.000Hitting_RBI0.4980.0000.5021.000
predicted_SLG0.4921.3330.000Hitting_SLG0.3260.0001.0081.333
predicted_SO1.3000.0002.000Hitting_SO1.3511.000-1.351-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_HR: 0.2200 -> 1.0000 (boost 0.7800, better)
Biggest Deboostpredicted_SO: 1.3000 -> 0.0000 (deboost -1.3000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend53241predicted_R: 0.3820 -> 0.5034 (boost 0.1214, better)predicted_AB: 3.9500 -> 3.7914 (deboost -0.1586, worse)Final model input calibrated 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.5028 -> 0.4718 (deboost -0.0310, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62433predicted_RBI: 0.5654 -> 1.0000 (boost 0.4346, better)predicted_BB: 0.5425 -> 0.0000 (deboost -0.5425, worse)AB rounded to 4 (raw=3.95), rates preserved: AVG=0.239 HR/AB=0.053
6bvp_blend11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)
7consistency_constraints10101-predicted_R: 0.4827 -> 0.0000 (deboost -0.4827, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63324predicted_SO: 1.0000 -> 1.4703 (boost 0.4703, worse)predicted_BB: 1.0000 -> 0.4234 (deboost -0.5766, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation74334predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 0.6802 -> 0.0000 (deboost -0.6802, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context61524predicted_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
11simulation_box_score_reference42231predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.3810 -> 0.4718 (boost 0.0908, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663728",
  "player_name": "Cal Raleigh",
  "position": "C",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.118,
        "predicted_3B": 0.0,
        "predicted_AB": 3.95,
        "predicted_AVG": 0.26,
        "predicted_BB": 0.555,
        "predicted_H": 1.03,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.367,
        "predicted_R": 0.382,
        "predicted_RBI": 0.6,
        "predicted_SLG": 0.492,
        "predicted_SO": 1.3
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.191,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7914,
        "predicted_AVG": 0.2606,
        "predicted_BB": 0.5472,
        "predicted_H": 0.9898,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.2152,
        "predicted_OBP": 0.3636,
        "predicted_R": 0.5034,
        "predicted_RBI": 0.5896,
        "predicted_SLG": 0.5028,
        "predicted_SO": 1.2231
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.118,
          "after": 0.191,
          "delta": 0.073,
          "percent_delta": 0.6186,
          "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.95,
          "after": 3.7914,
          "delta": -0.1586,
          "percent_delta": -0.0402,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.26,
          "after": 0.2606,
          "delta": 0.0006,
          "percent_delta": 0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.555,
          "after": 0.5472,
          "delta": -0.0078,
          "percent_delta": -0.0141,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.03,
          "after": 0.9898,
          "delta": -0.0402,
          "percent_delta": -0.039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.2152,
          "delta": -0.0048,
          "percent_delta": -0.0218,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.367,
          "after": 0.3636,
          "delta": -0.0034,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.382,
          "after": 0.5034,
          "delta": 0.1214,
          "percent_delta": 0.3178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6,
          "after": 0.5896,
          "delta": -0.0104,
          "percent_delta": -0.0173,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.492,
          "after": 0.5028,
          "delta": 0.0108,
          "percent_delta": 0.022,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3,
          "after": 1.2231,
          "delta": -0.0769,
          "percent_delta": -0.0592,
          "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_R",
          "before": 0.382,
          "after": 0.5034,
          "delta": 0.1214,
          "percent_delta": 0.3178,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.95,
          "after": 3.7914,
          "delta": -0.1586,
          "percent_delta": -0.0402,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.191,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.7914,
        "predicted_AVG": 0.2547,
        "predicted_BB": 0.5425,
        "predicted_H": 0.9657,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.2104,
        "predicted_OBP": 0.348,
        "predicted_R": 0.4827,
        "predicted_RBI": 0.5654,
        "predicted_SLG": 0.4718,
        "predicted_SO": 1.2335
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.191,
          "after": 0.191,
          "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.7914,
          "after": 3.7914,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2606,
          "after": 0.2547,
          "delta": -0.0059,
          "percent_delta": -0.0226,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5472,
          "after": 0.5425,
          "delta": -0.0047,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9898,
          "after": 0.9657,
          "delta": -0.0241,
          "percent_delta": -0.0243,
          "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.2152,
          "after": 0.2104,
          "delta": -0.0048,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3636,
          "after": 0.348,
          "delta": -0.0156,
          "percent_delta": -0.0429,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5034,
          "after": 0.4827,
          "delta": -0.0207,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5896,
          "after": 0.5654,
          "delta": -0.0242,
          "percent_delta": -0.041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5028,
          "after": 0.4718,
          "delta": -0.031,
          "percent_delta": -0.0617,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2231,
          "after": 1.2335,
          "delta": 0.0104,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.5028,
          "after": 0.4718,
          "delta": -0.031,
          "percent_delta": -0.0617,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.95), rates preserved: AVG=0.239 HR/AB=0.053",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.191,
          "after": 0.0,
          "delta": -0.191,
          "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.7914,
          "after": 4.0,
          "delta": 0.2086,
          "percent_delta": 0.055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5425,
          "after": 0.0,
          "delta": -0.5425,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9657,
          "after": 1.0,
          "delta": 0.0343,
          "percent_delta": 0.0355,
          "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.2104,
          "after": 0.0,
          "delta": -0.2104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5654,
          "after": 1.0,
          "delta": 0.4346,
          "percent_delta": 0.7687,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2335,
          "after": 1.0,
          "delta": -0.2335,
          "percent_delta": -0.1893,
          "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.5654,
          "after": 1.0,
          "delta": 0.4346,
          "percent_delta": 0.7687,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5425,
          "after": 0.0,
          "delta": -0.5425,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)",
      "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.8791,
        "bvp": 0.1209
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4827,
          "after": 0.0,
          "delta": -0.4827,
          "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.4827,
          "after": 0.0,
          "delta": -0.4827,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1193,
        "predicted_3B": 0.0037,
        "predicted_BB": 0.4234,
        "predicted_H": 0.6802,
        "predicted_HR": 0.1796,
        "predicted_RBI": 0.4243,
        "predicted_SO": 1.4703
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1193,
          "delta": 0.1193,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0037,
          "delta": 0.0037,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4234,
          "delta": -0.5766,
          "percent_delta": -0.5766,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6802,
          "delta": -0.3198,
          "percent_delta": -0.3198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1796,
          "delta": 0.1796,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4243,
          "delta": -0.5757,
          "percent_delta": -0.5757,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4703,
          "delta": 0.4703,
          "percent_delta": 0.4703,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4703,
          "delta": 0.4703,
          "percent_delta": 0.4703,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4234,
          "delta": -0.5766,
          "percent_delta": -0.5766,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1193,
          "after": 0.0,
          "delta": -0.1193,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0037,
          "after": 0.0,
          "delta": -0.0037,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4234,
          "after": 1.0,
          "delta": 0.5766,
          "percent_delta": 1.3618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6802,
          "after": 0.0,
          "delta": -0.6802,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1796,
          "after": 0.0,
          "delta": -0.1796,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4243,
          "after": 1.0,
          "delta": 0.5757,
          "percent_delta": 1.3568,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4703,
          "after": 2.0,
          "delta": 0.5297,
          "percent_delta": 0.3603,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6802,
          "after": 0.0,
          "delta": -0.6802,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.192,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.381,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2547,
          "after": 0.192,
          "delta": -0.0627,
          "percent_delta": -0.2462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 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.348,
          "after": 0.284,
          "delta": -0.064,
          "percent_delta": -0.1839,
          "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.4718,
          "after": 0.381,
          "delta": -0.0908,
          "percent_delta": -0.1925,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2547,
        "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.348,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4718,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.192,
          "after": 0.2547,
          "delta": 0.0627,
          "percent_delta": 0.3267,
          "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.284,
          "after": 0.348,
          "delta": 0.064,
          "percent_delta": 0.2254,
          "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.381,
          "after": 0.4718,
          "delta": 0.0908,
          "percent_delta": 0.2383,
          "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.381,
          "after": 0.4718,
          "delta": 0.0908,
          "percent_delta": 0.2383,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.95,
        "after": 3.0,
        "delta": -0.95,
        "percent_delta": -0.2405,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.26,
        "after": 0.2547,
        "delta": -0.0053,
        "percent_delta": -0.0204,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.555,
        "after": 1.0,
        "delta": 0.445,
        "percent_delta": 0.8018,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.03,
        "after": 1.0,
        "delta": -0.03,
        "percent_delta": -0.0291,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.22,
        "after": 1.0,
        "delta": 0.78,
        "percent_delta": 3.5455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.367,
        "after": 0.348,
        "delta": -0.019,
        "percent_delta": -0.0518,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.382,
        "after": 1.0,
        "delta": 0.618,
        "percent_delta": 1.6178,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.6,
        "after": 1.0,
        "delta": 0.4,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.492,
        "after": 0.4718,
        "delta": -0.0202,
        "percent_delta": -0.0411,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.3,
        "after": 0.0,
        "delta": -1.3,
        "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.22,
        "after": 1.0,
        "delta": 0.78,
        "percent_delta": 3.5455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.3,
        "after": 0.0,
        "delta": -1.3,
        "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.000-
predicted_AB3.950-
predicted_AVG0.260-
predicted_BB0.555-
predicted_H1.030-
predicted_HR0.220-
predicted_OBP0.367-
predicted_R0.382-
predicted_RBI0.600-
predicted_SLG0.492-
predicted_SO1.300-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1910.073
predicted_3B0.0000.000
predicted_AB3.791-0.159
predicted_AVG0.2610.001
predicted_BB0.547-0.008
predicted_H0.990-0.040
predicted_HBP0.017-
predicted_HR0.215-0.005
predicted_OBP0.364-0.003
predicted_R0.5030.121
predicted_RBI0.590-0.010
predicted_SLG0.5030.011
predicted_SO1.223-0.077
3. team_form_snapshot

Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)

MetricValueDelta vs Prev Step
predicted_2B0.1910.000
predicted_3B0.0000.000
predicted_AB3.7910.000
predicted_AVG0.255-0.006
predicted_BB0.542-0.005
predicted_H0.966-0.024
predicted_HBP0.0170.000
predicted_HR0.210-0.005
predicted_OBP0.348-0.016
predicted_R0.483-0.021
predicted_RBI0.565-0.024
predicted_SLG0.472-0.031
predicted_SO1.2340.010
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.95), rates preserved: AVG=0.239 HR/AB=0.053

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0001.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1190.119
3B0.0040.004
BB0.423-0.577
H0.680-0.320
HR0.1800.180
RBI0.424-0.576
SO1.4700.470
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.119
3B0.000-0.004
AB4.0000.000
BB1.0000.577
H0.000-0.680
HR0.000-0.180
R1.0001.000
RBI1.0000.576
SO2.0000.530
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.191
predicted_3B0.000-0.000
predicted_AB4.0000.209
predicted_AVG0.192-0.063
predicted_BB1.0000.458
predicted_H1.0000.034
predicted_HR0.000-0.210
predicted_OBP0.284-0.064
predicted_R0.000-0.483
predicted_RBI1.0000.435
predicted_SLG0.381-0.091
predicted_SO1.000-0.234
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0000.000
CS0.0000.000
H1.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-2.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 110
Reference playing time: 3.950
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0007.0003.0000.0001.0003.0006.0003.0004.0000.41180.50000.76470.41180.05880.17650.17650.2353
last_100.2010-37.00013.0005.0000.0003.0007.00010.0005.00010.0000.35140.42860.72970.35130.08110.18920.13510.2703
season0.60110-394.00072.00013.0000.00021.00059.00042.00061.000143.0000.18270.29500.37560.18270.05330.14970.15480.3629
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2870
predicted_3B0.0010
predicted_AB3.5830
predicted_AVG0.2614
predicted_BB0.5370
predicted_H0.9370
predicted_HBP0.0170
predicted_HR0.2090
predicted_OBP0.3592
predicted_R0.6630
predicted_RBI0.5760
predicted_SLG0.5171
predicted_SO1.1220
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11800.28700.1910model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.95003.58303.7914model_form_blend
predicted_AVG0.26000.26140.2606model_form_blend
predicted_BB0.55500.53700.5472model_form_blend
predicted_H1.03000.93700.9898model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.22000.20900.2152model_form_blend
predicted_OBP0.36700.35920.3636model_form_blend
predicted_R0.38200.66300.5034model_form_blend
predicted_RBI0.60000.57600.5896model_form_blend
predicted_SLG0.49200.51710.5028model_form_blend
predicted_SO1.30001.12201.2231model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date410
Season rows before report date410
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
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_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_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
allPositionsPlayedC
gameID20260909_TEX@SEA
game_typefull
mlbID663728
playerID663728
playerNameCal Raleigh
posC
startedTrue
startingPositionC
teamSEA
teamID25
game_date2026-09-09
sl_k_percent31.0
sl_bb_percent13.3
sl_woba0.302
sl_xwoba0.315
sl_xba0.192
sl_xslg0.403
sl_sweet_spot_percent34.1
sl_barrel_batted_rate15.1
sl_hard_hit_percent38.9
sl_exit_velocity_avg89.8
sl_launch_angle_avg25.1
sl_whiff_percent31.6
sl_swing_percent50.1
Dominic Canzone (686527) · BATTER · DH · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 397
All-history rows before 20260910: 397
System season_avg: 0.2540
Data season_avg (2026 season-to-date): 0.2748
Diff (system - data): -0.0208
System opponent_avg: 0.2510
System season_avg diverges from 2026 season-to-date by -0.0208. 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.1880.0000.000Hitting_2B0.2270.000-0.2270.000
predicted_3B0.0160.0000.000Hitting_3B0.0130.000-0.0130.000
predicted_AB4.6403.0004.000Hitting_AB3.4744.000-0.474-1.000
predicted_AVG0.2220.0000.250Hitting_AVG0.2750.000-0.2750.000
predicted_BB0.2971.0000.000Hitting_BB0.3750.0000.6251.000
predicted_CS-0.0000.000BaseRunning_CS0.0050.000-0.0050.000
predicted_H1.0300.0001.000Hitting_H0.9550.000-0.9550.000
predicted_HR0.1800.0001.000Hitting_HR0.2070.000-0.2070.000
predicted_OBP0.2980.2500.250Hitting_OBP0.3500.000-0.1000.250
predicted_R0.3831.0001.000Hitting_R0.4810.0000.5191.000
predicted_RBI0.6500.0001.000Hitting_RBI0.5990.000-0.5990.000
predicted_SLG0.4100.0001.000Hitting_SLG0.5260.000-0.5260.000
predicted_SO0.7731.0001.000Hitting_SO0.7980.0000.2021.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.2970 -> 1.0000 (boost 0.7030, better)
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_blend41313predicted_AVG: 0.2220 -> 0.2317 (boost 0.0097, better)predicted_AB: 4.6400 -> 4.2287 (deboost -0.4113, worse)Final model input calibrated 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.2971 -> 0.2724 (deboost -0.0247, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61506predicted_SO: 0.7927 -> 1.0000 (boost 0.2073, worse)predicted_RBI: 0.5669 -> 0.0000 (deboost -0.5669, worse)AB rounded to 4 (raw=4.64), rates preserved: AVG=0.200 HR/AB=0.033
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
7consistency_constraints10101-predicted_R: 0.3557 -> 0.0000 (deboost -0.3557, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5054 (boost 0.5054, better)predicted_H: 1.0000 -> 0.9155 (deboost -0.0845, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation74352predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.3235 -> 0.0000 (deboost -0.3235, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context63333predicted_SLG: 0.3910 -> 0.4150 (boost 0.0240, better)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference42222predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4150 -> 0.3910 (deboost -0.0240, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "686527",
  "player_name": "Dominic Canzone",
  "position": "DH",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.188,
        "predicted_3B": 0.016,
        "predicted_AB": 4.64,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.297,
        "predicted_H": 1.03,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.298,
        "predicted_R": 0.383,
        "predicted_RBI": 0.65,
        "predicted_SLG": 0.41,
        "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.1979,
        "predicted_3B": 0.0208,
        "predicted_AB": 4.2287,
        "predicted_AVG": 0.2317,
        "predicted_BB": 0.2789,
        "predicted_H": 0.9743,
        "predicted_HBP": 0.027,
        "predicted_HR": 0.158,
        "predicted_OBP": 0.2971,
        "predicted_R": 0.3709,
        "predicted_RBI": 0.5912,
        "predicted_SLG": 0.4149,
        "predicted_SO": 0.786
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.188,
          "after": 0.1979,
          "delta": 0.0099,
          "percent_delta": 0.0527,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0208,
          "delta": 0.0048,
          "percent_delta": 0.3,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.64,
          "after": 4.2287,
          "delta": -0.4113,
          "percent_delta": -0.0886,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2317,
          "delta": 0.0097,
          "percent_delta": 0.0437,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.297,
          "after": 0.2789,
          "delta": -0.0181,
          "percent_delta": -0.0609,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.03,
          "after": 0.9743,
          "delta": -0.0557,
          "percent_delta": -0.0541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.158,
          "delta": -0.022,
          "percent_delta": -0.1222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.2971,
          "delta": -0.0009,
          "percent_delta": -0.003,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.383,
          "after": 0.3709,
          "delta": -0.0121,
          "percent_delta": -0.0316,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.65,
          "after": 0.5912,
          "delta": -0.0588,
          "percent_delta": -0.0905,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.4149,
          "delta": 0.0049,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.773,
          "after": 0.786,
          "delta": 0.013,
          "percent_delta": 0.0168,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2317,
          "delta": 0.0097,
          "percent_delta": 0.0437,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.64,
          "after": 4.2287,
          "delta": -0.4113,
          "percent_delta": -0.0886,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1979,
        "predicted_3B": 0.0208,
        "predicted_AB": 4.2287,
        "predicted_AVG": 0.2248,
        "predicted_BB": 0.2765,
        "predicted_H": 0.9506,
        "predicted_HBP": 0.027,
        "predicted_HR": 0.1545,
        "predicted_OBP": 0.2724,
        "predicted_R": 0.3557,
        "predicted_RBI": 0.5669,
        "predicted_SLG": 0.391,
        "predicted_SO": 0.7927
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1979,
          "after": 0.1979,
          "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": 4.2287,
          "after": 4.2287,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2317,
          "after": 0.2248,
          "delta": -0.0069,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2789,
          "after": 0.2765,
          "delta": -0.0024,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9743,
          "after": 0.9506,
          "delta": -0.0237,
          "percent_delta": -0.0243,
          "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.158,
          "after": 0.1545,
          "delta": -0.0035,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2971,
          "after": 0.2724,
          "delta": -0.0247,
          "percent_delta": -0.0831,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3709,
          "after": 0.3557,
          "delta": -0.0152,
          "percent_delta": -0.041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5912,
          "after": 0.5669,
          "delta": -0.0243,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4149,
          "after": 0.391,
          "delta": -0.0239,
          "percent_delta": -0.0576,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.786,
          "after": 0.7927,
          "delta": 0.0067,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2971,
          "after": 0.2724,
          "delta": -0.0247,
          "percent_delta": -0.0831,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.64), rates preserved: AVG=0.200 HR/AB=0.033",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1979,
          "after": 0.0,
          "delta": -0.1979,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0208,
          "after": 0.0,
          "delta": -0.0208,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.2287,
          "after": 4.0,
          "delta": -0.2287,
          "percent_delta": -0.0541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2765,
          "after": 0.0,
          "delta": -0.2765,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9506,
          "after": 1.0,
          "delta": 0.0494,
          "percent_delta": 0.052,
          "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.1545,
          "after": 0.0,
          "delta": -0.1545,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5669,
          "after": 0.0,
          "delta": -0.5669,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7927,
          "after": 1.0,
          "delta": 0.2073,
          "percent_delta": 0.2615,
          "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.7927,
          "after": 1.0,
          "delta": 0.2073,
          "percent_delta": 0.2615,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5669,
          "after": 0.0,
          "delta": -0.5669,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3557,
          "after": 0.0,
          "delta": -0.3557,
          "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.3557,
          "after": 0.0,
          "delta": -0.3557,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1646,
        "predicted_3B": 0.0069,
        "predicted_BB": 0.3235,
        "predicted_H": 0.9155,
        "predicted_HR": 0.1846,
        "predicted_RBI": 0.5054,
        "predicted_SO": 1.1899
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1646,
          "delta": 0.1646,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0069,
          "delta": 0.0069,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3235,
          "delta": 0.3235,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9155,
          "delta": -0.0845,
          "percent_delta": -0.0845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1846,
          "delta": 0.1846,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5054,
          "delta": 0.5054,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1899,
          "delta": 0.1899,
          "percent_delta": 0.1899,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5054,
          "delta": 0.5054,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9155,
          "delta": -0.0845,
          "percent_delta": -0.0845,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1646,
          "after": 0.0,
          "delta": -0.1646,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0069,
          "after": 0.0,
          "delta": -0.0069,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3235,
          "after": 0.0,
          "delta": -0.3235,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9155,
          "after": 1.0,
          "delta": 0.0845,
          "percent_delta": 0.0923,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1846,
          "after": 1.0,
          "delta": 0.8154,
          "percent_delta": 4.4171,
          "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.5054,
          "after": 1.0,
          "delta": 0.4946,
          "percent_delta": 0.9786,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1899,
          "after": 1.0,
          "delta": -0.1899,
          "percent_delta": -0.1596,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3235,
          "after": 0.0,
          "delta": -0.3235,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.294,
        "predicted_R": 0.0,
        "predicted_RBI": 0.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.2248,
          "after": 0.231,
          "delta": 0.0062,
          "percent_delta": 0.0276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2724,
          "after": 0.294,
          "delta": 0.0216,
          "percent_delta": 0.0793,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.391,
          "after": 0.415,
          "delta": 0.024,
          "percent_delta": 0.0614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.391,
          "after": 0.415,
          "delta": 0.024,
          "percent_delta": 0.0614,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 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": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2248,
        "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.2724,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.391,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2248,
          "delta": -0.0062,
          "percent_delta": -0.0268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.294,
          "after": 0.2724,
          "delta": -0.0216,
          "percent_delta": -0.0735,
          "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.415,
          "after": 0.391,
          "delta": -0.024,
          "percent_delta": -0.0578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.415,
          "after": 0.391,
          "delta": -0.024,
          "percent_delta": -0.0578,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.188,
        "after": 0.0,
        "delta": -0.188,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.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.222,
        "after": 0.2248,
        "delta": 0.0028,
        "percent_delta": 0.0126,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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": 1.03,
        "after": 0.0,
        "delta": -1.03,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.298,
        "after": 0.2724,
        "delta": -0.0256,
        "percent_delta": -0.0859,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.383,
        "after": 1.0,
        "delta": 0.617,
        "percent_delta": 1.611,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.65,
        "after": 0.0,
        "delta": -0.65,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.41,
        "after": 0.391,
        "delta": -0.019,
        "percent_delta": -0.0463,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.773,
        "after": 1.0,
        "delta": 0.227,
        "percent_delta": 0.2937,
        "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.297,
        "after": 1.0,
        "delta": 0.703,
        "percent_delta": 2.367,
        "direction": "boost",
        "projection_effect": "better",
        "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.188-
predicted_3B0.016-
predicted_AB4.640-
predicted_AVG0.222-
predicted_BB0.297-
predicted_H1.030-
predicted_HR0.180-
predicted_OBP0.298-
predicted_R0.383-
predicted_RBI0.650-
predicted_SLG0.410-
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.1980.010
predicted_3B0.0210.005
predicted_AB4.229-0.411
predicted_AVG0.2320.010
predicted_BB0.279-0.018
predicted_H0.974-0.056
predicted_HBP0.027-
predicted_HR0.158-0.022
predicted_OBP0.297-0.001
predicted_R0.371-0.012
predicted_RBI0.591-0.059
predicted_SLG0.4150.005
predicted_SO0.7860.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.1980.000
predicted_3B0.0210.000
predicted_AB4.2290.000
predicted_AVG0.225-0.007
predicted_BB0.277-0.002
predicted_H0.951-0.024
predicted_HBP0.0270.000
predicted_HR0.154-0.004
predicted_OBP0.272-0.025
predicted_R0.356-0.015
predicted_RBI0.567-0.024
predicted_SLG0.391-0.024
predicted_SO0.7930.007
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.64), rates preserved: AVG=0.200 HR/AB=0.033

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=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
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1650.165
3B0.0070.007
BB0.3240.324
H0.915-0.085
HR0.1850.185
RBI0.5050.505
SO1.1900.190
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.165
3B0.000-0.007
AB4.0000.000
BB0.000-0.324
H1.0000.085
HR1.0000.815
R1.0001.000
RBI1.0000.495
SO1.000-0.190
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.198
predicted_3B0.000-0.021
predicted_AB4.000-0.229
predicted_AVG0.2310.006
predicted_BB0.000-0.277
predicted_H1.0000.049
predicted_HR0.000-0.154
predicted_OBP0.2940.022
predicted_R0.000-0.356
predicted_RBI0.000-0.567
predicted_SLG0.4150.024
predicted_SO1.0000.207
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 128
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-22.0005.0001.0000.0000.0002.0001.0000.0003.0000.22730.22730.27270.22730.00000.09090.00000.1364
last_100.2010-43.00010.0003.0001.0001.0006.0003.0003.00010.0000.23260.28260.41860.23260.02330.13950.06980.2326
season0.60128-414.000105.00024.0002.00021.00065.00049.00038.00099.0000.25360.32240.47340.25360.05070.15700.09180.2391
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2110
predicted_3B0.0270
predicted_AB3.6880
predicted_AVG0.2444
predicted_BB0.2550
predicted_H0.9010
predicted_HBP0.0270
predicted_HR0.1290
predicted_OBP0.2960
predicted_R0.3550
predicted_RBI0.5140
predicted_SLG0.4214
predicted_SO0.8030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18800.21100.1979model_form_blend
predicted_3B0.01600.02700.0208model_form_blend
predicted_AB4.64003.68804.2287model_form_blend
predicted_AVG0.22200.24440.2317model_form_blend
predicted_BB0.29700.25500.2789model_form_blend
predicted_H1.03000.90100.9743model_form_blend
predicted_HBP-0.02700.0270form_only
predicted_HR0.18000.12900.1580model_form_blend
predicted_OBP0.29800.29600.2971model_form_blend
predicted_R0.38300.35500.3709model_form_blend
predicted_RBI0.65000.51400.5912model_form_blend
predicted_SLG0.41000.42140.4149model_form_blend
predicted_SO0.77300.80300.7860model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% 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 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
AB3
H0
2B0
3B0
HR0
R1
RBI0
BB1
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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
allPositionsPlayedDH
gameID20260909_TEX@SEA
game_typefull
mlbID686527
playerID686527
playerNameDominic Canzone
posDH
startedTrue
startingPositionDH
teamSEA
teamID25
game_date2026-09-09
sl_k_percent21.7
sl_bb_percent8.8
sl_woba0.348
sl_xwoba0.353
sl_xba0.268
sl_xslg0.482
sl_sweet_spot_percent33.5
sl_barrel_batted_rate12.1
sl_hard_hit_percent44.7
sl_exit_velocity_avg91.1
sl_launch_angle_avg10.1
sl_whiff_percent27.3
sl_swing_percent47.6
Randy Arozarena (668227) · BATTER · LF · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 528
All-history rows before 20260910: 528
System season_avg: 0.2730
Data season_avg (2026 season-to-date): 0.2834
Diff (system - data): -0.0104
System opponent_avg: 0.0620

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2100.0000.000Hitting_2B0.2311.000-0.231-1.000
predicted_3B0.0070.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB4.3203.0004.000Hitting_AB3.7694.000-0.769-1.000
predicted_AVG0.2660.0000.250Hitting_AVG0.2830.250-0.283-0.250
predicted_BB0.4350.0001.000Hitting_BB0.4200.000-0.4200.000
predicted_CS-0.0000.000BaseRunning_CS0.0590.000-0.0590.000
predicted_H1.1500.0001.000Hitting_H1.0681.000-1.068-1.000
predicted_HR0.1500.0000.000Hitting_HR0.1550.000-0.1550.000
predicted_OBP0.3730.2500.400Hitting_OBP0.3770.250-0.1270.000
predicted_R0.6740.0001.000Hitting_R0.7010.000-0.7010.000
predicted_RBI0.5600.0000.000Hitting_RBI0.4870.000-0.4870.000
predicted_SLG0.4480.0000.250Hitting_SLG0.4730.500-0.473-0.500
predicted_SO0.9421.0001.000Hitting_SO0.9031.0000.0970.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.9420 -> 1.0000 (boost 0.0580, worse)
Biggest Deboostpredicted_AB: 4.3200 -> 3.0000 (deboost -1.3200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32112predicted_SO: 0.9420 -> 0.9921 (boost 0.0501, worse)predicted_AB: 4.3200 -> 4.0462 (deboost -0.2738, worse)Final model input calibrated 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.3757 -> 0.3382 (deboost -0.0375, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling60606-predicted_RBI: 0.5127 -> 0.0000 (deboost -0.5127, worse)AB rounded to 4 (raw=4.32), rates preserved: AVG=0.244 HR/AB=0.032
6bvp_blend00000--Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)
7consistency_constraints11010predicted_R: 0.6291 -> 1.0000 (boost 0.3709, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3999 (boost 0.3999, better)predicted_H: 1.0000 -> 0.8280 (deboost -0.1720, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62433predicted_BB: 0.3369 -> 1.0000 (boost 0.6631, better)predicted_RBI: 0.3999 -> 0.0000 (deboost -0.3999, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context40404-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference41313predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.3710 -> 0.4259 (boost 0.0549, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "668227",
  "player_name": "Randy Arozarena",
  "position": "LF",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.21,
        "predicted_3B": 0.007,
        "predicted_AB": 4.32,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.435,
        "predicted_H": 1.15,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.373,
        "predicted_R": 0.674,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.448,
        "predicted_SO": 0.942
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2157,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.0462,
        "predicted_AVG": 0.2733,
        "predicted_BB": 0.4442,
        "predicted_H": 1.1038,
        "predicted_HBP": 0.17,
        "predicted_HR": 0.1426,
        "predicted_OBP": 0.3757,
        "predicted_R": 0.6561,
        "predicted_RBI": 0.5347,
        "predicted_SLG": 0.4505,
        "predicted_SO": 0.9921
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.21,
          "after": 0.2157,
          "delta": 0.0057,
          "percent_delta": 0.0271,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.007,
          "after": 0.0061,
          "delta": -0.0009,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.32,
          "after": 4.0462,
          "delta": -0.2738,
          "percent_delta": -0.0634,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.2733,
          "delta": 0.0073,
          "percent_delta": 0.0274,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.435,
          "after": 0.4442,
          "delta": 0.0092,
          "percent_delta": 0.0211,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.15,
          "after": 1.1038,
          "delta": -0.0462,
          "percent_delta": -0.0402,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1426,
          "delta": -0.0074,
          "percent_delta": -0.0493,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.373,
          "after": 0.3757,
          "delta": 0.0027,
          "percent_delta": 0.0072,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.674,
          "after": 0.6561,
          "delta": -0.0179,
          "percent_delta": -0.0266,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.56,
          "after": 0.5347,
          "delta": -0.0253,
          "percent_delta": -0.0452,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.448,
          "after": 0.4505,
          "delta": 0.0025,
          "percent_delta": 0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.942,
          "after": 0.9921,
          "delta": 0.0501,
          "percent_delta": 0.0532,
          "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.942,
          "after": 0.9921,
          "delta": 0.0501,
          "percent_delta": 0.0532,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.32,
          "after": 4.0462,
          "delta": -0.2738,
          "percent_delta": -0.0634,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 138
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2157,
        "predicted_3B": 0.0061,
        "predicted_AB": 4.0462,
        "predicted_AVG": 0.2662,
        "predicted_BB": 0.4404,
        "predicted_H": 1.077,
        "predicted_HBP": 0.17,
        "predicted_HR": 0.1394,
        "predicted_OBP": 0.3382,
        "predicted_R": 0.6291,
        "predicted_RBI": 0.5127,
        "predicted_SLG": 0.4259,
        "predicted_SO": 1.0005
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2157,
          "after": 0.2157,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0462,
          "after": 4.0462,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2733,
          "after": 0.2662,
          "delta": -0.0071,
          "percent_delta": -0.026,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4442,
          "after": 0.4404,
          "delta": -0.0038,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1038,
          "after": 1.077,
          "delta": -0.0268,
          "percent_delta": -0.0243,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.17,
          "after": 0.17,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1426,
          "after": 0.1394,
          "delta": -0.0032,
          "percent_delta": -0.0224,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3757,
          "after": 0.3382,
          "delta": -0.0375,
          "percent_delta": -0.0998,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6561,
          "after": 0.6291,
          "delta": -0.027,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5347,
          "after": 0.5127,
          "delta": -0.022,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4505,
          "after": 0.4259,
          "delta": -0.0246,
          "percent_delta": -0.0546,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9921,
          "after": 1.0005,
          "delta": 0.0084,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3757,
          "after": 0.3382,
          "delta": -0.0375,
          "percent_delta": -0.0998,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.32), rates preserved: AVG=0.244 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.2157,
          "after": 0.0,
          "delta": -0.2157,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0462,
          "after": 4.0,
          "delta": -0.0462,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4404,
          "after": 0.0,
          "delta": -0.4404,
          "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.17,
          "after": 0.0,
          "delta": -0.17,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1394,
          "after": 0.0,
          "delta": -0.1394,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5127,
          "after": 0.0,
          "delta": -0.5127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0005,
          "after": 1.0,
          "delta": -0.0005,
          "percent_delta": -0.0005,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 0,
        "deboosted_metrics": 6,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5127,
          "after": 0.0,
          "delta": -0.5127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8609,
        "bvp": 0.1391
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6291,
          "after": 1.0,
          "delta": 0.3709,
          "percent_delta": 0.5896,
          "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.6291,
          "after": 1.0,
          "delta": 0.3709,
          "percent_delta": 0.5896,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1433,
        "predicted_3B": 0.0049,
        "predicted_BB": 0.3369,
        "predicted_H": 0.828,
        "predicted_HR": 0.1421,
        "predicted_RBI": 0.3999,
        "predicted_SO": 1.1735
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1433,
          "delta": 0.1433,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0049,
          "delta": 0.0049,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3369,
          "delta": 0.3369,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.828,
          "delta": -0.172,
          "percent_delta": -0.172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1421,
          "delta": 0.1421,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3999,
          "delta": 0.3999,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1735,
          "delta": 0.1735,
          "percent_delta": 0.1735,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3999,
          "delta": 0.3999,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.828,
          "delta": -0.172,
          "percent_delta": -0.172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1433,
          "after": 0.0,
          "delta": -0.1433,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0049,
          "after": 0.0,
          "delta": -0.0049,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3369,
          "after": 1.0,
          "delta": 0.6631,
          "percent_delta": 1.9682,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.828,
          "after": 1.0,
          "delta": 0.172,
          "percent_delta": 0.2077,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1421,
          "after": 0.0,
          "delta": -0.1421,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3999,
          "after": 0.0,
          "delta": -0.3999,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1735,
          "after": 1.0,
          "delta": -0.1735,
          "percent_delta": -0.1478,
          "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.3369,
          "after": 1.0,
          "delta": 0.6631,
          "percent_delta": 1.9682,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3999,
          "after": 0.0,
          "delta": -0.3999,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.219,
        "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.371,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2662,
          "after": 0.219,
          "delta": -0.0472,
          "percent_delta": -0.1773,
          "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.3382,
          "after": 0.288,
          "delta": -0.0502,
          "percent_delta": -0.1484,
          "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.4259,
          "after": 0.371,
          "delta": -0.0549,
          "percent_delta": -0.1289,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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_HBP",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2662,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.3382,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4259,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.219,
          "after": 0.2662,
          "delta": 0.0472,
          "percent_delta": 0.2154,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.288,
          "after": 0.3382,
          "delta": 0.0502,
          "percent_delta": 0.1743,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.371,
          "after": 0.4259,
          "delta": 0.0549,
          "percent_delta": 0.1479,
          "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.371,
          "after": 0.4259,
          "delta": 0.0549,
          "percent_delta": 0.1479,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.21,
        "after": 0.0,
        "delta": -0.21,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.32,
        "after": 3.0,
        "delta": -1.32,
        "percent_delta": -0.3056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.2662,
        "delta": 0.0002,
        "percent_delta": 0.0008,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.435,
        "after": 0.0,
        "delta": -0.435,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.15,
        "after": 0.0,
        "delta": -1.15,
        "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.373,
        "after": 0.3382,
        "delta": -0.0348,
        "percent_delta": -0.0933,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.674,
        "after": 0.0,
        "delta": -0.674,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.448,
        "after": 0.4259,
        "delta": -0.0221,
        "percent_delta": -0.0493,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.942,
        "after": 1.0,
        "delta": 0.058,
        "percent_delta": 0.0616,
        "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.942,
        "after": 1.0,
        "delta": 0.058,
        "percent_delta": 0.0616,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.32,
        "after": 3.0,
        "delta": -1.32,
        "percent_delta": -0.3056,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.210-
predicted_3B0.007-
predicted_AB4.320-
predicted_AVG0.266-
predicted_BB0.435-
predicted_H1.150-
predicted_HR0.150-
predicted_OBP0.373-
predicted_R0.674-
predicted_RBI0.560-
predicted_SLG0.448-
predicted_SO0.942-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.2160.006
predicted_3B0.006-0.001
predicted_AB4.046-0.274
predicted_AVG0.2730.007
predicted_BB0.4440.009
predicted_H1.104-0.046
predicted_HBP0.170-
predicted_HR0.143-0.007
predicted_OBP0.3760.003
predicted_R0.656-0.018
predicted_RBI0.535-0.025
predicted_SLG0.4510.003
predicted_SO0.9920.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.2160.000
predicted_3B0.0060.000
predicted_AB4.0460.000
predicted_AVG0.266-0.007
predicted_BB0.440-0.004
predicted_H1.077-0.027
predicted_HBP0.1700.000
predicted_HR0.139-0.003
predicted_OBP0.338-0.037
predicted_R0.629-0.027
predicted_RBI0.513-0.022
predicted_SLG0.426-0.025
predicted_SO1.0000.008
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.32), rates preserved: AVG=0.244 HR/AB=0.032

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R1.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1430.143
3B0.0050.005
BB0.3370.337
H0.828-0.172
HR0.1420.142
RBI0.4000.400
SO1.1730.173
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.143
3B0.000-0.005
AB4.0000.000
BB1.0000.663
H1.0000.172
HR0.000-0.142
R1.0000.000
RBI0.000-0.400
SO1.000-0.173
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.216
predicted_3B0.000-0.006
predicted_AB4.000-0.046
predicted_AVG0.219-0.047
predicted_BB0.000-0.440
predicted_H1.000-0.077
predicted_HR0.000-0.139
predicted_OBP0.288-0.050
predicted_R1.0000.371
predicted_RBI0.000-0.513
predicted_SLG0.371-0.055
predicted_SO1.000-0.000
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP1.0001.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: 138
Reference playing time: 4.320
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0005.0001.0000.0000.0001.0002.0003.0006.0000.29410.40910.35290.29410.00000.05880.17650.3529
last_100.2010-39.00012.0003.0000.0002.0009.0008.0004.00013.0000.30770.39130.53850.30770.05130.23080.10260.3333
season0.60138-512.000140.00029.0001.00022.00067.00093.00060.000130.0000.27340.37120.46290.27340.04300.13090.11720.2539
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2230
predicted_3B0.0050
predicted_AB3.6920
predicted_AVG0.2827
predicted_BB0.4560
predicted_H1.0440
predicted_HBP0.1700
predicted_HR0.1330
predicted_OBP0.3791
predicted_R0.6330
predicted_RBI0.5020
predicted_SLG0.4537
predicted_SO1.0570
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21000.22300.2157model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB4.32003.69204.0462model_form_blend
predicted_AVG0.26600.28270.2733model_form_blend
predicted_BB0.43500.45600.4442model_form_blend
predicted_H1.15001.04401.1038model_form_blend
predicted_HBP-0.17000.1700form_only
predicted_HR0.15000.13300.1426model_form_blend
predicted_OBP0.37300.37910.3757model_form_blend
predicted_R0.67400.63300.6561model_form_blend
predicted_RBI0.56000.50200.5347model_form_blend
predicted_SLG0.44800.45370.4505model_form_blend
predicted_SO0.94201.05700.9921model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date528
Season rows before report date528
Report year2026
Profile rows used138
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
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_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_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20260909_TEX@SEA
game_typefull
mlbID668227
playerID668227
playerNameRandy Arozarena
posLF
startedTrue
startingPositionLF
teamSEA
teamID25
game_date2026-09-09
sl_k_percent21.7
sl_bb_percent10.1
sl_woba0.368
sl_xwoba0.348
sl_xba0.259
sl_xslg0.419
sl_sweet_spot_percent37.1
sl_barrel_batted_rate7.8
sl_hard_hit_percent41.8
sl_exit_velocity_avg90.6
sl_launch_angle_avg9.6
sl_whiff_percent26.8
sl_swing_percent45.3
J.P. Crawford (641487) · BATTER · SS · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 379
All-history rows before 20260910: 379
System season_avg: 0.2210
Data season_avg (2026 season-to-date): 0.2225
Diff (system - data): -0.0015
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.1200.0000.000Hitting_2B0.1290.000-0.1290.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.5504.0004.000Hitting_AB3.6893.0000.3111.000
predicted_AVG0.2220.0000.250Hitting_AVG0.2220.000-0.2220.000
predicted_BB0.6100.0001.000Hitting_BB0.6331.000-0.633-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H0.7900.0001.000Hitting_H0.8210.000-0.8210.000
predicted_HR0.0800.0000.000Hitting_HR0.1240.000-0.1240.000
predicted_OBP0.3630.0000.400Hitting_OBP0.3410.250-0.341-0.250
predicted_R0.4200.0000.000Hitting_R0.4780.000-0.4780.000
predicted_RBI0.3800.0000.000Hitting_RBI0.3800.000-0.3800.000
predicted_SLG0.3170.0000.250Hitting_SLG0.3580.000-0.3580.000
predicted_SO0.8501.0001.000Hitting_SO0.8890.0000.1111.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.5500 -> 4.0000 (boost 0.4500, better)
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_blend31221predicted_AVG: 0.2220 -> 0.2295 (boost 0.0075, better)predicted_AB: 3.5500 -> 3.4626 (deboost -0.0874, worse)Final model input calibrated 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.3676 -> 0.3465 (deboost -0.0211, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling84435predicted_AB: 3.4626 -> 4.0000 (boost 0.5374, better)predicted_RBI: 0.3511 -> 0.0000 (deboost -0.3511, worse)AB rounded to 4 (raw=3.55), rates preserved: AVG=0.213 HR/AB=0.020
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)
7consistency_constraints10101-predicted_R: 0.3615 -> 0.0000 (deboost -0.3615, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_RBI: 0.0000 -> 0.3579 (boost 0.3579, better)predicted_BB: 1.0000 -> 0.4562 (deboost -0.5438, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation52323predicted_BB: 0.4562 -> 1.0000 (boost 0.5438, better)predicted_RBI: 0.3579 -> 0.0000 (deboost -0.3579, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context31212predicted_SLG: 0.3167 -> 0.3550 (boost 0.0383, better)predicted_OBP: 0.3465 -> 0.3070 (deboost -0.0395, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference20202-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_OBP: 0.3070 -> 0.3465 (boost 0.0395, better)predicted_SLG: 0.3550 -> 0.3167 (deboost -0.0383, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "641487",
  "player_name": "J.P. Crawford",
  "position": "SS",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.12,
        "predicted_3B": 0.0,
        "predicted_AB": 3.55,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.61,
        "predicted_H": 0.79,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.363,
        "predicted_R": 0.42,
        "predicted_RBI": 0.38,
        "predicted_SLG": 0.317,
        "predicted_SO": 0.85
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1097,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4626,
        "predicted_AVG": 0.2295,
        "predicted_BB": 0.6552,
        "predicted_H": 0.7947,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.0718,
        "predicted_OBP": 0.3676,
        "predicted_R": 0.377,
        "predicted_RBI": 0.3662,
        "predicted_SLG": 0.32,
        "predicted_SO": 0.7988
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.12,
          "after": 0.1097,
          "delta": -0.0103,
          "percent_delta": -0.0858,
          "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.55,
          "after": 3.4626,
          "delta": -0.0874,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2295,
          "delta": 0.0075,
          "percent_delta": 0.0338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.61,
          "after": 0.6552,
          "delta": 0.0452,
          "percent_delta": 0.0741,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.79,
          "after": 0.7947,
          "delta": 0.0047,
          "percent_delta": 0.0059,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0718,
          "delta": -0.0082,
          "percent_delta": -0.1025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.363,
          "after": 0.3676,
          "delta": 0.0046,
          "percent_delta": 0.0127,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.42,
          "after": 0.377,
          "delta": -0.043,
          "percent_delta": -0.1024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.38,
          "after": 0.3662,
          "delta": -0.0138,
          "percent_delta": -0.0363,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.317,
          "after": 0.32,
          "delta": 0.003,
          "percent_delta": 0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.85,
          "after": 0.7988,
          "delta": -0.0512,
          "percent_delta": -0.0602,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2295,
          "delta": 0.0075,
          "percent_delta": 0.0338,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.55,
          "after": 3.4626,
          "delta": -0.0874,
          "percent_delta": -0.0246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1097,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4626,
        "predicted_AVG": 0.2239,
        "predicted_BB": 0.6496,
        "predicted_H": 0.7754,
        "predicted_HBP": 0.056,
        "predicted_HR": 0.0702,
        "predicted_OBP": 0.3465,
        "predicted_R": 0.3615,
        "predicted_RBI": 0.3511,
        "predicted_SLG": 0.3167,
        "predicted_SO": 0.8056
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1097,
          "after": 0.1097,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4626,
          "after": 3.4626,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2295,
          "after": 0.2239,
          "delta": -0.0056,
          "percent_delta": -0.0244,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6552,
          "after": 0.6496,
          "delta": -0.0056,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7947,
          "after": 0.7754,
          "delta": -0.0193,
          "percent_delta": -0.0243,
          "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.0718,
          "after": 0.0702,
          "delta": -0.0016,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3676,
          "after": 0.3465,
          "delta": -0.0211,
          "percent_delta": -0.0574,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.377,
          "after": 0.3615,
          "delta": -0.0155,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3662,
          "after": 0.3511,
          "delta": -0.0151,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.32,
          "after": 0.3167,
          "delta": -0.0033,
          "percent_delta": -0.0103,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.7988,
          "after": 0.8056,
          "delta": 0.0068,
          "percent_delta": 0.0085,
          "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.3676,
          "after": 0.3465,
          "delta": -0.0211,
          "percent_delta": -0.0574,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.55), rates preserved: AVG=0.213 HR/AB=0.020",
      "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.1097,
          "after": 0.0,
          "delta": -0.1097,
          "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.4626,
          "after": 4.0,
          "delta": 0.5374,
          "percent_delta": 0.1552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6496,
          "after": 1.0,
          "delta": 0.3504,
          "percent_delta": 0.5394,
          "direction": "boost",
          "projection_effect": "better",
          "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.056,
          "after": 0.0,
          "delta": -0.056,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0702,
          "after": 0.0,
          "delta": -0.0702,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3511,
          "after": 0.0,
          "delta": -0.3511,
          "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": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4626,
          "after": 4.0,
          "delta": 0.5374,
          "percent_delta": 0.1552,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3511,
          "after": 0.0,
          "delta": -0.3511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.3615,
          "after": 0.0,
          "delta": -0.3615,
          "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.3615,
          "after": 0.0,
          "delta": -0.3615,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1212,
        "predicted_3B": 0.0039,
        "predicted_BB": 0.4562,
        "predicted_H": 0.7469,
        "predicted_HR": 0.1267,
        "predicted_RBI": 0.3579,
        "predicted_SO": 1.0498
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1212,
          "delta": 0.1212,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0039,
          "delta": 0.0039,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4562,
          "delta": -0.5438,
          "percent_delta": -0.5438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7469,
          "delta": -0.2531,
          "percent_delta": -0.2531,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1267,
          "delta": 0.1267,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3579,
          "delta": 0.3579,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0498,
          "delta": 0.0498,
          "percent_delta": 0.0498,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3579,
          "delta": 0.3579,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4562,
          "delta": -0.5438,
          "percent_delta": -0.5438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1212,
          "after": 0.0,
          "delta": -0.1212,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0039,
          "after": 0.0,
          "delta": -0.0039,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4562,
          "after": 1.0,
          "delta": 0.5438,
          "percent_delta": 1.192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7469,
          "after": 1.0,
          "delta": 0.2531,
          "percent_delta": 0.3389,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3579,
          "after": 0.0,
          "delta": -0.3579,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0498,
          "after": 1.0,
          "delta": -0.0498,
          "percent_delta": -0.0474,
          "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.4562,
          "after": 1.0,
          "delta": 0.5438,
          "percent_delta": 1.192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3579,
          "after": 0.0,
          "delta": -0.3579,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.211,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.307,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.355,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2239,
          "after": 0.211,
          "delta": -0.0129,
          "percent_delta": -0.0576,
          "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.3465,
          "after": 0.307,
          "delta": -0.0395,
          "percent_delta": -0.114,
          "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.3167,
          "after": 0.355,
          "delta": 0.0383,
          "percent_delta": 0.1209,
          "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.3167,
          "after": 0.355,
          "delta": 0.0383,
          "percent_delta": 0.1209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3465,
          "after": 0.307,
          "delta": -0.0395,
          "percent_delta": -0.114,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "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": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2239,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3465,
        "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_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.211,
          "after": 0.2239,
          "delta": 0.0129,
          "percent_delta": 0.0613,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3465,
          "delta": 0.0395,
          "percent_delta": 0.1288,
          "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.355,
          "after": 0.3167,
          "delta": -0.0383,
          "percent_delta": -0.108,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.3465,
          "delta": 0.0395,
          "percent_delta": 0.1288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.355,
          "after": 0.3167,
          "delta": -0.0383,
          "percent_delta": -0.108,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.55,
        "after": 4.0,
        "delta": 0.45,
        "percent_delta": 0.1268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.2239,
        "delta": 0.0019,
        "percent_delta": 0.0086,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "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.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.363,
        "after": 0.3465,
        "delta": -0.0165,
        "percent_delta": -0.0455,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.42,
        "after": 0.0,
        "delta": -0.42,
        "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.317,
        "after": 0.3167,
        "delta": -0.0003,
        "percent_delta": -0.0009,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.85,
        "after": 1.0,
        "delta": 0.15,
        "percent_delta": 0.1765,
        "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.55,
        "after": 4.0,
        "delta": 0.45,
        "percent_delta": 0.1268,
        "direction": "boost",
        "projection_effect": "better",
        "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.120-
predicted_3B0.000-
predicted_AB3.550-
predicted_AVG0.222-
predicted_BB0.610-
predicted_H0.790-
predicted_HR0.080-
predicted_OBP0.363-
predicted_R0.420-
predicted_RBI0.380-
predicted_SLG0.317-
predicted_SO0.850-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.110-0.010
predicted_3B0.0000.000
predicted_AB3.463-0.087
predicted_AVG0.2300.008
predicted_BB0.6550.045
predicted_H0.7950.005
predicted_HBP0.056-
predicted_HR0.072-0.008
predicted_OBP0.3680.005
predicted_R0.377-0.043
predicted_RBI0.366-0.014
predicted_SLG0.3200.003
predicted_SO0.799-0.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.1100.000
predicted_3B0.0000.000
predicted_AB3.4630.000
predicted_AVG0.224-0.006
predicted_BB0.650-0.006
predicted_H0.775-0.019
predicted_HBP0.0560.000
predicted_HR0.070-0.002
predicted_OBP0.346-0.021
predicted_R0.361-0.016
predicted_RBI0.351-0.015
predicted_SLG0.317-0.003
predicted_SO0.8060.007
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=3.55), rates preserved: AVG=0.213 HR/AB=0.020

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1210.121
3B0.0040.004
BB0.456-0.544
H0.747-0.253
HR0.1270.127
RBI0.3580.358
SO1.0500.050
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.121
3B0.000-0.004
AB4.0000.000
BB1.0000.544
H1.0000.253
HR0.000-0.127
R0.0000.000
RBI0.000-0.358
SO1.000-0.050
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.110
predicted_3B0.000-0.000
predicted_AB4.0000.537
predicted_AVG0.211-0.013
predicted_BB1.0000.350
predicted_H1.0000.225
predicted_HR0.000-0.070
predicted_OBP0.307-0.039
predicted_R0.000-0.361
predicted_RBI0.000-0.351
predicted_SLG0.3550.038
predicted_SO1.0000.194
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.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: 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.0003.0000.0000.0000.0002.0000.0004.0003.0000.18750.35000.18750.18750.00000.12500.25000.1875
last_100.2010-29.00010.0001.0000.0000.0003.0003.00010.0005.0000.34480.51220.37930.34480.00000.10350.34480.1724
season0.60100-349.00077.00012.0000.00010.00033.00042.00061.00085.0000.22060.34370.34100.22060.02860.09460.17480.2435
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0960
predicted_3B0.0010
predicted_AB3.3470
predicted_AVG0.2394
predicted_BB0.7150
predicted_H0.8010
predicted_HBP0.0560
predicted_HR0.0610
predicted_OBP0.3738
predicted_R0.3200
predicted_RBI0.3480
predicted_SLG0.3239
predicted_SO0.7310
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12000.09600.1097model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.55003.34703.4626model_form_blend
predicted_AVG0.22200.23940.2295model_form_blend
predicted_BB0.61000.71500.6552model_form_blend
predicted_H0.79000.80100.7947model_form_blend
predicted_HBP-0.05600.0560form_only
predicted_HR0.08000.06100.0718model_form_blend
predicted_OBP0.36300.37380.3676model_form_blend
predicted_R0.42000.32000.3770model_form_blend
predicted_RBI0.38000.34800.3662model_form_blend
predicted_SLG0.31700.32390.3200model_form_blend
predicted_SO0.85000.73100.7988model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date379
Season rows before report date379
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
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.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_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
gameID20260909_TEX@SEA
game_typefull
mlbID641487
playerID641487
playerNameJ.P. Crawford
posSS
startedTrue
startingPositionSS
teamSEA
teamID25
game_date2026-09-09
sl_k_percent20.5
sl_bb_percent14.5
sl_woba0.315
sl_xwoba0.324
sl_xba0.239
sl_xslg0.356
sl_sweet_spot_percent34.5
sl_barrel_batted_rate5.7
sl_hard_hit_percent35.6
sl_exit_velocity_avg87.9
sl_launch_angle_avg12.2
sl_whiff_percent17.3
sl_swing_percent38.0
Lazaro Montes (703155) · BATTER · RF · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 7
All-history rows before 20260910: 7
System season_avg: 0.2630
Data season_avg (2026 season-to-date): 0.2632
Diff (system - data): -0.0002
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.1430.0000.000Hitting_2B0.1431.000-0.143-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.7143.0003.000Hitting_AB2.7141.0000.2862.000
predicted_AVG0.3520.6670.333Hitting_AVG0.2631.0000.404-0.333
predicted_BB0.1430.0000.000Hitting_BB0.1430.000-0.1430.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3902.0001.000Hitting_H0.7141.0001.2861.000
predicted_HR0.1002.0000.000Hitting_HR0.2860.0001.7142.000
predicted_OBP0.3520.6670.333Hitting_OBP0.3001.0000.367-0.333
predicted_R0.4291.0000.000Hitting_R0.4290.0000.5711.000
predicted_RBI0.2704.0001.000Hitting_RBI0.8570.0003.1434.000
predicted_SLG0.5992.6670.333Hitting_SLG0.6322.0002.0350.667
predicted_SO1.2861.0001.000Hitting_SO1.2860.000-0.2861.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.2700 -> 4.0000 (boost 3.7300, better)
Biggest Deboostpredicted_SO: 1.2860 -> 1.0000 (deboost -0.2860, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend73443predicted_AB: 2.7140 -> 2.8373 (boost 0.1233, better)predicted_SO: 1.2860 -> 1.2201 (deboost -0.0659, 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.5685 -> 0.3551 (deboost -0.2134, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_SO: 1.2305 -> 2.0000 (boost 0.7695, worse)predicted_RBI: 0.3526 -> 0.0000 (deboost -0.3526, worse)AB rounded to 3 (raw=2.84), rates preserved: AVG=0.164 HR/AB=0.043
6consistency_constraints10101-predicted_R: 0.4029 -> 0.0000 (deboost -0.4029, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4547 (boost 0.4547, better)predicted_SO: 2.0000 -> 1.3724 (deboost -0.6276, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation62433predicted_RBI: 0.4547 -> 1.0000 (boost 0.5453, better)predicted_SO: 1.3724 -> 1.0000 (deboost -0.3724, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context54132predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference54150predicted_RBI: 0.0000 -> 4.0000 (boost 4.0000, better)predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_OBP: 0.2900 -> 0.2079 (deboost -0.0821, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "703155",
  "player_name": "Lazaro Montes",
  "position": "RF",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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": 2.714,
        "predicted_AVG": 0.352,
        "predicted_BB": 0.143,
        "predicted_H": 0.39,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.352,
        "predicted_R": 0.429,
        "predicted_RBI": 0.27,
        "predicted_SLG": 0.599,
        "predicted_SO": 1.286
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1584,
        "predicted_3B": 0.0022,
        "predicted_AB": 2.8373,
        "predicted_AVG": 0.3202,
        "predicted_BB": 0.1452,
        "predicted_H": 0.4877,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1258,
        "predicted_OBP": 0.3308,
        "predicted_R": 0.4202,
        "predicted_RBI": 0.3677,
        "predicted_SLG": 0.5685,
        "predicted_SO": 1.2201
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.143,
          "after": 0.1584,
          "delta": 0.0154,
          "percent_delta": 0.1077,
          "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.714,
          "after": 2.8373,
          "delta": 0.1233,
          "percent_delta": 0.0454,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.352,
          "after": 0.3202,
          "delta": -0.0318,
          "percent_delta": -0.0903,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.143,
          "after": 0.1452,
          "delta": 0.0022,
          "percent_delta": 0.0154,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.39,
          "after": 0.4877,
          "delta": 0.0977,
          "percent_delta": 0.2505,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1258,
          "delta": 0.0258,
          "percent_delta": 0.258,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.352,
          "after": 0.3308,
          "delta": -0.0212,
          "percent_delta": -0.0602,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.429,
          "after": 0.4202,
          "delta": -0.0088,
          "percent_delta": -0.0205,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.27,
          "after": 0.3677,
          "delta": 0.0977,
          "percent_delta": 0.3619,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.599,
          "after": 0.5685,
          "delta": -0.0305,
          "percent_delta": -0.0509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.286,
          "after": 1.2201,
          "delta": -0.0659,
          "percent_delta": -0.0512,
          "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": 2.714,
          "after": 2.8373,
          "delta": 0.1233,
          "percent_delta": 0.0454,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.286,
          "after": 1.2201,
          "delta": -0.0659,
          "percent_delta": -0.0512,
          "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": 7,
        "season": 7
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1584,
        "predicted_3B": 0.0022,
        "predicted_AB": 2.8373,
        "predicted_AVG": 0.1677,
        "predicted_BB": 0.144,
        "predicted_H": 0.4758,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.123,
        "predicted_OBP": 0.2079,
        "predicted_R": 0.4029,
        "predicted_RBI": 0.3526,
        "predicted_SLG": 0.3551,
        "predicted_SO": 1.2305
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1584,
          "after": 0.1584,
          "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.8373,
          "after": 2.8373,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3202,
          "after": 0.1677,
          "delta": -0.1525,
          "percent_delta": -0.4763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1452,
          "after": 0.144,
          "delta": -0.0012,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.4877,
          "after": 0.4758,
          "delta": -0.0119,
          "percent_delta": -0.0244,
          "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.1258,
          "after": 0.123,
          "delta": -0.0028,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3308,
          "after": 0.2079,
          "delta": -0.1229,
          "percent_delta": -0.3715,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4202,
          "after": 0.4029,
          "delta": -0.0173,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3677,
          "after": 0.3526,
          "delta": -0.0151,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5685,
          "after": 0.3551,
          "delta": -0.2134,
          "percent_delta": -0.3754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2201,
          "after": 1.2305,
          "delta": 0.0104,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.5685,
          "after": 0.3551,
          "delta": -0.2134,
          "percent_delta": -0.3754,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.84), rates preserved: AVG=0.164 HR/AB=0.043",
      "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.1584,
          "after": 0.0,
          "delta": -0.1584,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.8373,
          "after": 3.0,
          "delta": 0.1627,
          "percent_delta": 0.0573,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.144,
          "after": 0.0,
          "delta": -0.144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4758,
          "after": 1.0,
          "delta": 0.5242,
          "percent_delta": 1.1017,
          "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.123,
          "after": 0.0,
          "delta": -0.123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3526,
          "after": 0.0,
          "delta": -0.3526,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2305,
          "after": 2.0,
          "delta": 0.7695,
          "percent_delta": 0.6254,
          "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": 1.2305,
          "after": 2.0,
          "delta": 0.7695,
          "percent_delta": 0.6254,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3526,
          "after": 0.0,
          "delta": -0.3526,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "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.4029,
          "after": 0.0,
          "delta": -0.4029,
          "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.4029,
          "after": 0.0,
          "delta": -0.4029,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1418,
        "predicted_3B": 0.0058,
        "predicted_BB": 0.2777,
        "predicted_H": 0.7911,
        "predicted_HR": 0.1509,
        "predicted_RBI": 0.4547,
        "predicted_SO": 1.3724
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1418,
          "delta": 0.1418,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0058,
          "delta": 0.0058,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2777,
          "delta": 0.2777,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7911,
          "delta": -0.2089,
          "percent_delta": -0.2089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1509,
          "delta": 0.1509,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4547,
          "delta": 0.4547,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.3724,
          "delta": -0.6276,
          "percent_delta": -0.3138,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4547,
          "delta": 0.4547,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.3724,
          "delta": -0.6276,
          "percent_delta": -0.3138,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1418,
          "after": 0.0,
          "delta": -0.1418,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0058,
          "after": 0.0,
          "delta": -0.0058,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2777,
          "after": 0.0,
          "delta": -0.2777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7911,
          "after": 1.0,
          "delta": 0.2089,
          "percent_delta": 0.2641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1509,
          "after": 0.0,
          "delta": -0.1509,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4547,
          "after": 1.0,
          "delta": 0.5453,
          "percent_delta": 1.1993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3724,
          "after": 1.0,
          "delta": -0.3724,
          "percent_delta": -0.2713,
          "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.4547,
          "after": 1.0,
          "delta": 0.5453,
          "percent_delta": 1.1993,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.3724,
          "after": 1.0,
          "delta": -0.3724,
          "percent_delta": -0.2713,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.29,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.401,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1677,
          "after": 0.227,
          "delta": 0.0593,
          "percent_delta": 0.3536,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2079,
          "after": 0.29,
          "delta": 0.0821,
          "percent_delta": 0.3949,
          "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.3551,
          "after": 0.401,
          "delta": 0.0459,
          "percent_delta": 0.1293,
          "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": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 2.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": 3.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": 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": 0.0,
          "after": 4.0,
          "delta": 4.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 4.0,
          "delta": 4.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "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.1677,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 2.0,
        "predicted_OBP": 0.2079,
        "predicted_R": 1.0,
        "predicted_RBI": 4.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3551,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.1677,
          "delta": -0.0593,
          "percent_delta": -0.2612,
          "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": 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.29,
          "after": 0.2079,
          "delta": -0.0821,
          "percent_delta": -0.2831,
          "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": 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.401,
          "after": 0.3551,
          "delta": -0.0459,
          "percent_delta": -0.1144,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.29,
          "after": 0.2079,
          "delta": -0.0821,
          "percent_delta": -0.2831,
          "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": 2.714,
        "after": 3.0,
        "delta": 0.286,
        "percent_delta": 0.1054,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.352,
        "after": 0.1677,
        "delta": -0.1843,
        "percent_delta": -0.5236,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.143,
        "after": 0.0,
        "delta": -0.143,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.39,
        "after": 2.0,
        "delta": 1.61,
        "percent_delta": 4.1282,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 2.0,
        "delta": 1.9,
        "percent_delta": 19.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.352,
        "after": 0.2079,
        "delta": -0.1441,
        "percent_delta": -0.4094,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.429,
        "after": 1.0,
        "delta": 0.571,
        "percent_delta": 1.331,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.27,
        "after": 4.0,
        "delta": 3.73,
        "percent_delta": 13.8148,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.599,
        "after": 0.3551,
        "delta": -0.2439,
        "percent_delta": -0.4072,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.286,
        "after": 1.0,
        "delta": -0.286,
        "percent_delta": -0.2224,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.27,
        "after": 4.0,
        "delta": 3.73,
        "percent_delta": 13.8148,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.286,
        "after": 1.0,
        "delta": -0.286,
        "percent_delta": -0.2224,
        "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.143-
predicted_3B0.000-
predicted_AB2.714-
predicted_AVG0.352-
predicted_BB0.143-
predicted_H0.390-
predicted_HR0.100-
predicted_OBP0.352-
predicted_R0.429-
predicted_RBI0.270-
predicted_SLG0.599-
predicted_SO1.286-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1580.015
predicted_3B0.0020.002
predicted_AB2.8370.123
predicted_AVG0.320-0.032
predicted_BB0.1450.002
predicted_H0.4880.098
predicted_HBP0.016-
predicted_HR0.1260.026
predicted_OBP0.331-0.021
predicted_R0.420-0.009
predicted_RBI0.3680.098
predicted_SLG0.569-0.030
predicted_SO1.220-0.066
3. team_form_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.0020.000
predicted_AB2.8370.000
predicted_AVG0.168-0.152
predicted_BB0.144-0.001
predicted_H0.476-0.012
predicted_HBP0.0160.000
predicted_HR0.123-0.003
predicted_OBP0.208-0.123
predicted_R0.403-0.017
predicted_RBI0.353-0.015
predicted_SLG0.355-0.213
predicted_SO1.2300.010
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.84), rates preserved: AVG=0.164 HR/AB=0.043

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO2.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
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
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1420.142
3B0.0060.006
BB0.2780.278
H0.791-0.209
HR0.1510.151
RBI0.4550.455
SO1.372-0.628
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.142
3B0.000-0.006
AB3.0000.000
BB0.000-0.278
H1.0000.209
HR0.000-0.151
R0.0000.000
RBI1.0000.545
SO1.000-0.372
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.158
predicted_3B0.000-0.002
predicted_AB3.0000.163
predicted_AVG0.2270.059
predicted_BB0.000-0.144
predicted_H1.0000.524
predicted_HR0.000-0.123
predicted_OBP0.2900.082
predicted_R0.000-0.403
predicted_RBI0.000-0.353
predicted_SLG0.4010.046
predicted_SO2.0000.770
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR2.0002.000
PA3.000-
R1.0001.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: 7
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.0002.0001.0000.0001.0003.0001.0000.0005.0000.20000.20000.60000.20000.10000.30000.00000.5000
last_100.207-19.0005.0001.0000.0002.0006.0003.0001.0009.0000.26320.30000.63160.26320.10530.31580.05260.4737
season0.607-19.0005.0001.0000.0002.0006.0003.0001.0009.0000.26320.30000.63160.26320.10530.31580.05260.4737
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1990
predicted_3B0.0080
predicted_AB3.1630
predicted_AVG0.2360
predicted_BB0.1510
predicted_H0.7460
predicted_HBP0.0160
predicted_HR0.1940
predicted_OBP0.2747
predicted_R0.3970
predicted_RBI0.6260
predicted_SLG0.4880
predicted_SO1.0460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14300.19900.1584model_form_blend
predicted_3B0.00000.00800.0022model_form_blend
predicted_AB2.71403.16302.8373model_form_blend
predicted_AVG0.35200.23600.3202model_form_blend
predicted_BB0.14300.15100.1452model_form_blend
predicted_H0.39000.74600.4877model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.10000.19400.1258model_form_blend
predicted_OBP0.35200.27470.3308model_form_blend
predicted_R0.42900.39700.4202model_form_blend
predicted_RBI0.27000.62600.3677model_form_blend
predicted_SLG0.59900.48800.5685model_form_blend
predicted_SO1.28601.04601.2201model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date7
Season rows before report date7
Report year2026
Profile rows used7
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H2
2B0
3B0
HR2
R1
RBI4
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_AB1
Hitting_AVG1.0
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder9
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20260909_TEX@SEA
game_typeph
mlbID703155
noteDoubled for Wilson, W in the 7th.
playerID703155
playerNameLazaro Montes
posRF
startedFalse
startingPositionPH
teamSEA
teamID25
game_date2026-09-09
sl_k_percent47.4
sl_bb_percent5.3
sl_woba0.346
sl_xwoba0.315
sl_xba0.187
sl_xslg0.518
sl_sweet_spot_percent33.3
sl_barrel_batted_rate22.2
sl_hard_hit_percent33.3
sl_exit_velocity_avg89.2
sl_launch_angle_avg21.5
sl_whiff_percent51.2
sl_swing_percent62.3
Brock Rodden (801126) · BATTER · 3B · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 37
All-history rows before 20260910: 37
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2617
Diff (system - data): -0.0267
System opponent_avg: 0.2350
System season_avg diverges from 2026 season-to-date by -0.0267. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1760.0000.000Hitting_2B0.2970.000-0.2970.000
predicted_3B0.0590.0000.000Hitting_3B0.1080.000-0.1080.000
predicted_AB3.0003.0003.000Hitting_AB2.8920.0000.1083.000
predicted_AVG0.2350.0000.000Hitting_AVG0.262--0.262-
predicted_BB0.4710.0000.000Hitting_BB0.4860.000-0.4860.000
predicted_CS-0.0000.000BaseRunning_CS0.1080.000-0.1080.000
predicted_H0.7060.0000.000Hitting_H0.7570.000-0.7570.000
predicted_HR0.0000.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.3390.0000.000Hitting_OBP0.354--0.354-
predicted_R0.3530.0000.000Hitting_R0.3510.000-0.3510.000
predicted_RBI0.2350.0000.000Hitting_RBI0.4320.000-0.4320.000
predicted_SLG0.3330.0000.000Hitting_SLG0.439--0.439-
predicted_SO1.0001.0001.000Hitting_SO1.2430.000-0.2431.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics2
Deboosted Metrics6
Better Metrics2
Worse Metrics6
Biggest Boostpredicted_SLG: 0.3330 -> 0.3424 (boost 0.0094, better)
Biggest Deboostpredicted_H: 0.7060 -> 0.0000 (deboost -0.7060, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_AB: 3.0000 -> 3.0613 (boost 0.0613, 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.3480 -> 0.3424 (deboost -0.0056, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling51414predicted_H: 0.7384 -> 1.0000 (boost 0.2616, better)predicted_BB: 0.4593 -> 0.0000 (deboost -0.4593, worse)AB rounded to 3 (raw=3.06), rates preserved: AVG=0.236 HR/AB=0.004
6consistency_constraints10101-predicted_R: 0.3493 -> 0.0000 (deboost -0.3493, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3226 (boost 0.3226, better)predicted_H: 1.0000 -> 0.6827 (deboost -0.3173, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation60615-predicted_H: 0.6827 -> 0.0000 (deboost -0.6827, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context42222predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.3402 -> 0.3000 (deboost -0.0402, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference10101-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final32121predicted_OBP: 0.3000 -> 0.3402 (boost 0.0402, better)predicted_SLG: 0.3600 -> 0.3424 (deboost -0.0176, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "801126",
  "player_name": "Brock Rodden",
  "position": "3B",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.059,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.235,
        "predicted_BB": 0.471,
        "predicted_H": 0.706,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.339,
        "predicted_R": 0.353,
        "predicted_RBI": 0.235,
        "predicted_SLG": 0.333,
        "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.1749,
        "predicted_3B": 0.0484,
        "predicted_AB": 3.0613,
        "predicted_AVG": 0.2466,
        "predicted_BB": 0.4632,
        "predicted_H": 0.7568,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.013,
        "predicted_OBP": 0.345,
        "predicted_R": 0.3643,
        "predicted_RBI": 0.2516,
        "predicted_SLG": 0.348,
        "predicted_SO": 0.9531
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.176,
          "after": 0.1749,
          "delta": -0.0011,
          "percent_delta": -0.0062,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.059,
          "after": 0.0484,
          "delta": -0.0106,
          "percent_delta": -0.1797,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0613,
          "delta": 0.0613,
          "percent_delta": 0.0204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.235,
          "after": 0.2466,
          "delta": 0.0116,
          "percent_delta": 0.0494,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.471,
          "after": 0.4632,
          "delta": -0.0078,
          "percent_delta": -0.0166,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.706,
          "after": 0.7568,
          "delta": 0.0508,
          "percent_delta": 0.072,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.013,
          "delta": 0.013,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.339,
          "after": 0.345,
          "delta": 0.006,
          "percent_delta": 0.0177,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.353,
          "after": 0.3643,
          "delta": 0.0113,
          "percent_delta": 0.032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.235,
          "after": 0.2516,
          "delta": 0.0166,
          "percent_delta": 0.0706,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.333,
          "after": 0.348,
          "delta": 0.015,
          "percent_delta": 0.045,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9531,
          "delta": -0.0469,
          "percent_delta": -0.0469,
          "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": 3.0613,
          "delta": 0.0613,
          "percent_delta": 0.0204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 17
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1749,
        "predicted_3B": 0.0484,
        "predicted_AB": 3.0613,
        "predicted_AVG": 0.2412,
        "predicted_BB": 0.4593,
        "predicted_H": 0.7384,
        "predicted_HBP": 0.009,
        "predicted_HR": 0.0127,
        "predicted_OBP": 0.3402,
        "predicted_R": 0.3493,
        "predicted_RBI": 0.2413,
        "predicted_SLG": 0.3424,
        "predicted_SO": 0.9612
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1749,
          "after": 0.1749,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0484,
          "after": 0.0484,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0613,
          "after": 3.0613,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2466,
          "after": 0.2412,
          "delta": -0.0054,
          "percent_delta": -0.0219,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4632,
          "after": 0.4593,
          "delta": -0.0039,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7568,
          "after": 0.7384,
          "delta": -0.0184,
          "percent_delta": -0.0243,
          "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.013,
          "after": 0.0127,
          "delta": -0.0003,
          "percent_delta": -0.0231,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.345,
          "after": 0.3402,
          "delta": -0.0048,
          "percent_delta": -0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3643,
          "after": 0.3493,
          "delta": -0.015,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2516,
          "after": 0.2413,
          "delta": -0.0103,
          "percent_delta": -0.0409,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.348,
          "after": 0.3424,
          "delta": -0.0056,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9531,
          "after": 0.9612,
          "delta": 0.0081,
          "percent_delta": 0.0085,
          "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.348,
          "after": 0.3424,
          "delta": -0.0056,
          "percent_delta": -0.0161,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.06), rates preserved: AVG=0.236 HR/AB=0.004",
      "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.1749,
          "after": 0.0,
          "delta": -0.1749,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0484,
          "after": 0.0,
          "delta": -0.0484,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0613,
          "after": 3.0,
          "delta": -0.0613,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4593,
          "after": 0.0,
          "delta": -0.4593,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7384,
          "after": 1.0,
          "delta": 0.2616,
          "percent_delta": 0.3543,
          "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.0127,
          "after": 0.0,
          "delta": -0.0127,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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": 0.9612,
          "after": 1.0,
          "delta": 0.0388,
          "percent_delta": 0.0404,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7384,
          "after": 1.0,
          "delta": 0.2616,
          "percent_delta": 0.3543,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4593,
          "after": 0.0,
          "delta": -0.4593,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3493,
          "after": 0.0,
          "delta": -0.3493,
          "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.3493,
          "after": 0.0,
          "delta": -0.3493,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1248,
        "predicted_3B": 0.0063,
        "predicted_BB": 0.3037,
        "predicted_H": 0.6827,
        "predicted_HR": 0.0918,
        "predicted_RBI": 0.3226,
        "predicted_SO": 1.0722
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1248,
          "delta": 0.1248,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0063,
          "delta": 0.0063,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3037,
          "delta": 0.3037,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6827,
          "delta": -0.3173,
          "percent_delta": -0.3173,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0918,
          "delta": 0.0918,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3226,
          "delta": 0.3226,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0722,
          "delta": 0.0722,
          "percent_delta": 0.0722,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3226,
          "delta": 0.3226,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6827,
          "delta": -0.3173,
          "percent_delta": -0.3173,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1248,
          "after": 0.0,
          "delta": -0.1248,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0063,
          "after": 0.0,
          "delta": -0.0063,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3037,
          "after": 0.0,
          "delta": -0.3037,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6827,
          "after": 0.0,
          "delta": -0.6827,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0918,
          "after": 0.0,
          "delta": -0.0918,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3226,
          "after": 0.0,
          "delta": -0.3226,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0722,
          "after": 1.0,
          "delta": -0.0722,
          "percent_delta": -0.0673,
          "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.6827,
          "after": 0.0,
          "delta": -0.6827,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.36,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2412,
          "after": 0.224,
          "delta": -0.0172,
          "percent_delta": -0.0713,
          "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.3402,
          "after": 0.3,
          "delta": -0.0402,
          "percent_delta": -0.1182,
          "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.3424,
          "after": 0.36,
          "delta": 0.0176,
          "percent_delta": 0.0514,
          "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3402,
          "after": 0.3,
          "delta": -0.0402,
          "percent_delta": -0.1182,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2412,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3402,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3424,
        "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.224,
          "after": 0.2412,
          "delta": 0.0172,
          "percent_delta": 0.0768,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.3402,
          "delta": 0.0402,
          "percent_delta": 0.134,
          "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.36,
          "after": 0.3424,
          "delta": -0.0176,
          "percent_delta": -0.0488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.3402,
          "delta": 0.0402,
          "percent_delta": 0.134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.36,
          "after": 0.3424,
          "delta": -0.0176,
          "percent_delta": -0.0488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.176,
        "after": 0.0,
        "delta": -0.176,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.059,
        "after": 0.0,
        "delta": -0.059,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AVG",
        "before": 0.235,
        "after": 0.2412,
        "delta": 0.0062,
        "percent_delta": 0.0264,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.471,
        "after": 0.0,
        "delta": -0.471,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.706,
        "after": 0.0,
        "delta": -0.706,
        "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.339,
        "after": 0.3402,
        "delta": 0.0012,
        "percent_delta": 0.0035,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.353,
        "after": 0.0,
        "delta": -0.353,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.235,
        "after": 0.0,
        "delta": -0.235,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.333,
        "after": 0.3424,
        "delta": 0.0094,
        "percent_delta": 0.0282,
        "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": 8,
      "boosted_metrics": 2,
      "deboosted_metrics": 6,
      "better_metrics": 2,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_SLG",
        "before": 0.333,
        "after": 0.3424,
        "delta": 0.0094,
        "percent_delta": 0.0282,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.706,
        "after": 0.0,
        "delta": -0.706,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.176-
predicted_3B0.059-
predicted_AB3.000-
predicted_AVG0.235-
predicted_BB0.471-
predicted_H0.706-
predicted_HR0.000-
predicted_OBP0.339-
predicted_R0.353-
predicted_RBI0.235-
predicted_SLG0.333-
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.175-0.001
predicted_3B0.048-0.011
predicted_AB3.0610.061
predicted_AVG0.2470.012
predicted_BB0.463-0.008
predicted_H0.7570.051
predicted_HBP0.009-
predicted_HR0.0130.013
predicted_OBP0.3450.006
predicted_R0.3640.011
predicted_RBI0.2520.017
predicted_SLG0.3480.015
predicted_SO0.953-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.0480.000
predicted_AB3.0610.000
predicted_AVG0.241-0.005
predicted_BB0.459-0.004
predicted_H0.738-0.018
predicted_HBP0.0090.000
predicted_HR0.013-0.000
predicted_OBP0.340-0.005
predicted_R0.349-0.015
predicted_RBI0.241-0.010
predicted_SLG0.342-0.006
predicted_SO0.9610.008
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.06), rates preserved: AVG=0.236 HR/AB=0.004

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1250.125
3B0.0060.006
BB0.3040.304
H0.683-0.317
HR0.0920.092
RBI0.3230.323
SO1.0720.072
8. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.125
3B0.000-0.006
AB3.0000.000
BB0.000-0.304
H0.000-0.683
HR0.000-0.092
R0.0000.000
RBI0.000-0.323
SO1.000-0.072
9. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.175
predicted_3B0.000-0.048
predicted_AB3.000-0.061
predicted_AVG0.224-0.017
predicted_BB0.000-0.459
predicted_H1.0000.262
predicted_HR0.000-0.013
predicted_OBP0.300-0.040
predicted_R0.000-0.349
predicted_RBI0.000-0.241
predicted_SLG0.3600.018
predicted_SO1.0000.039
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA3.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 17
Reference playing time: 3.802
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-13.0006.0001.0000.0000.0001.0002.0003.0003.0000.46150.56250.53850.46150.00000.07690.23080.2308
last_100.2010-27.0006.0001.0000.0000.0001.0002.0005.0007.0000.22220.34380.25930.22220.00000.03700.18520.2593
season0.6017-51.00012.0003.0001.0000.0004.0006.0008.00017.0000.23530.33330.33330.23530.00000.07840.15690.3333
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1730
predicted_3B0.0290
predicted_AB3.1740
predicted_AVG0.2679
predicted_BB0.4490
predicted_H0.8500
predicted_HBP0.0090
predicted_HR0.0370
predicted_OBP0.3560
predicted_R0.3850
predicted_RBI0.2820
predicted_SLG0.3755
predicted_SO0.8670
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17600.17300.1749model_form_blend
predicted_3B0.05900.02900.0484model_form_blend
predicted_AB3.00003.17403.0613model_form_blend
predicted_AVG0.23500.26790.2466model_form_blend
predicted_BB0.47100.44900.4632model_form_blend
predicted_H0.70600.85000.7568model_form_blend
predicted_HBP-0.00900.0090form_only
predicted_HR0.00000.03700.0130model_form_blend
predicted_OBP0.33900.35600.3450model_form_blend
predicted_R0.35300.38500.3643model_form_blend
predicted_RBI0.23500.28200.2516model_form_blend
predicted_SLG0.33300.37550.3480model_form_blend
predicted_SO1.00000.86700.9531model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date37
Season rows before report date37
Report year2026
Profile rows used17
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_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_battingOrder9
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20260909_TEX@SEA
game_typeshort
mlbID801126
playerID801126
playerNameBrock Rodden
pos2B
startedFalse
startingPosition3B
teamSEA
teamID25
game_date2026-09-09
sl_k_percent28.3
sl_bb_percent13.3
sl_woba0.302
sl_xwoba0.235
sl_xba0.147
sl_xslg0.223
sl_sweet_spot_percent37.1
sl_barrel_batted_rate2.9
sl_hard_hit_percent37.1
sl_exit_velocity_avg87.5
sl_launch_angle_avg18.8
sl_whiff_percent35.2
sl_swing_percent45.1
Josh Naylor (647304) · BATTER · 1B · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 523
All-history rows before 20260910: 523
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2757
Diff (system - data): -0.0087
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.1471.0000.000Hitting_2B0.1530.0000.8471.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3403.0004.000Hitting_AB3.9464.000-0.946-1.000
predicted_AVG0.2530.3330.250Hitting_AVG0.2760.2500.0580.083
predicted_BB0.3010.0000.000Hitting_BB0.3330.000-0.3330.000
predicted_CS-0.0000.000BaseRunning_CS0.0610.000-0.0610.000
predicted_H1.1001.0001.000Hitting_H1.0881.000-0.0880.000
predicted_HR0.0500.0000.000Hitting_HR0.0800.000-0.0800.000
predicted_OBP0.3040.3330.250Hitting_OBP0.3380.250-0.0040.083
predicted_R0.3901.0000.000Hitting_R0.4151.0000.5850.000
predicted_RBI0.3400.0000.000Hitting_RBI0.3960.000-0.3960.000
predicted_SLG0.3440.6670.250Hitting_SLG0.3750.2500.2910.417
predicted_SO0.5440.0001.000Hitting_SO0.5490.000-0.5490.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_2B: 0.1470 -> 1.0000 (boost 0.8530, better)
Biggest Deboostpredicted_AB: 4.3400 -> 3.0000 (deboost -1.3400, 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.2588 (boost 0.0058, better)predicted_AB: 4.3400 -> 4.1575 (deboost -0.1825, worse)Final model input calibrated 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.3453 -> 0.3253 (deboost -0.0200, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling51405predicted_SO: 0.5306 -> 1.0000 (boost 0.4694, worse)predicted_RBI: 0.3118 -> 0.0000 (deboost -0.3118, worse)AB rounded to 4 (raw=4.34), rates preserved: AVG=0.236 HR/AB=0.011
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)
7consistency_constraints10101-predicted_R: 0.3777 -> 0.0000 (deboost -0.3777, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3403 (boost 0.3403, better)predicted_SO: 1.0000 -> 0.7055 (deboost -0.2945, better)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation62415predicted_SO: 0.7055 -> 1.0000 (boost 0.2945, worse)predicted_RBI: 0.3403 -> 0.0000 (deboost -0.3403, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context32121predicted_SLG: 0.3253 -> 0.3570 (boost 0.0317, better)predicted_AVG: 0.2524 -> 0.2450 (deboost -0.0074, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_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
12current_json_final31212predicted_AVG: 0.2450 -> 0.2524 (boost 0.0074, better)predicted_SLG: 0.3570 -> 0.3253 (deboost -0.0317, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "647304",
  "player_name": "Josh Naylor",
  "position": "1B",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.147,
        "predicted_3B": 0.0,
        "predicted_AB": 4.34,
        "predicted_AVG": 0.253,
        "predicted_BB": 0.301,
        "predicted_H": 1.1,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.304,
        "predicted_R": 0.39,
        "predicted_RBI": 0.34,
        "predicted_SLG": 0.344,
        "predicted_SO": 0.544
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1575,
        "predicted_AVG": 0.2588,
        "predicted_BB": 0.2587,
        "predicted_H": 1.0756,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.0496,
        "predicted_OBP": 0.3045,
        "predicted_R": 0.3939,
        "predicted_RBI": 0.3252,
        "predicted_SLG": 0.3453,
        "predicted_SO": 0.5261
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.147,
          "after": 0.1566,
          "delta": 0.0096,
          "percent_delta": 0.0653,
          "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.34,
          "after": 4.1575,
          "delta": -0.1825,
          "percent_delta": -0.0421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.253,
          "after": 0.2588,
          "delta": 0.0058,
          "percent_delta": 0.0229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.301,
          "after": 0.2587,
          "delta": -0.0423,
          "percent_delta": -0.1405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1,
          "after": 1.0756,
          "delta": -0.0244,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0496,
          "delta": -0.0004,
          "percent_delta": -0.008,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.3045,
          "delta": 0.0005,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.39,
          "after": 0.3939,
          "delta": 0.0039,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.34,
          "after": 0.3252,
          "delta": -0.0148,
          "percent_delta": -0.0435,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.344,
          "after": 0.3453,
          "delta": 0.0013,
          "percent_delta": 0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.544,
          "after": 0.5261,
          "delta": -0.0179,
          "percent_delta": -0.0329,
          "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.2588,
          "delta": 0.0058,
          "percent_delta": 0.0229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.34,
          "after": 4.1575,
          "delta": -0.1825,
          "percent_delta": -0.0421,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 136
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1566,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1575,
        "predicted_AVG": 0.2524,
        "predicted_BB": 0.2565,
        "predicted_H": 1.0495,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.0485,
        "predicted_OBP": 0.2959,
        "predicted_R": 0.3777,
        "predicted_RBI": 0.3118,
        "predicted_SLG": 0.3253,
        "predicted_SO": 0.5306
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1566,
          "after": 0.1566,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1575,
          "after": 4.1575,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2588,
          "after": 0.2524,
          "delta": -0.0064,
          "percent_delta": -0.0247,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2587,
          "after": 0.2565,
          "delta": -0.0022,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0756,
          "after": 1.0495,
          "delta": -0.0261,
          "percent_delta": -0.0243,
          "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.0496,
          "after": 0.0485,
          "delta": -0.0011,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3045,
          "after": 0.2959,
          "delta": -0.0086,
          "percent_delta": -0.0282,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3939,
          "after": 0.3777,
          "delta": -0.0162,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3252,
          "after": 0.3118,
          "delta": -0.0134,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3453,
          "after": 0.3253,
          "delta": -0.02,
          "percent_delta": -0.0579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5261,
          "after": 0.5306,
          "delta": 0.0045,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3453,
          "after": 0.3253,
          "delta": -0.02,
          "percent_delta": -0.0579,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.34), rates preserved: AVG=0.236 HR/AB=0.011",
      "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.1566,
          "after": 0.0,
          "delta": -0.1566,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1575,
          "after": 4.0,
          "delta": -0.1575,
          "percent_delta": -0.0379,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2565,
          "after": 0.0,
          "delta": -0.2565,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0495,
          "after": 1.0,
          "delta": -0.0495,
          "percent_delta": -0.0472,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.0485,
          "after": 0.0,
          "delta": -0.0485,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3118,
          "after": 0.0,
          "delta": -0.3118,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5306,
          "after": 1.0,
          "delta": 0.4694,
          "percent_delta": 0.8847,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.5306,
          "after": 1.0,
          "delta": 0.4694,
          "percent_delta": 0.8847,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3118,
          "after": 0.0,
          "delta": -0.3118,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)",
      "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": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3777,
          "after": 0.0,
          "delta": -0.3777,
          "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.3777,
          "after": 0.0,
          "delta": -0.3777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1375,
        "predicted_3B": 0.0038,
        "predicted_BB": 0.272,
        "predicted_H": 0.9306,
        "predicted_HR": 0.0935,
        "predicted_RBI": 0.3403,
        "predicted_SO": 0.7055
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1375,
          "delta": 0.1375,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0038,
          "delta": 0.0038,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.272,
          "delta": 0.272,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9306,
          "delta": -0.0694,
          "percent_delta": -0.0694,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0935,
          "delta": 0.0935,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3403,
          "delta": 0.3403,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7055,
          "delta": -0.2945,
          "percent_delta": -0.2945,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3403,
          "delta": 0.3403,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7055,
          "delta": -0.2945,
          "percent_delta": -0.2945,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1375,
          "after": 0.0,
          "delta": -0.1375,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0038,
          "after": 0.0,
          "delta": -0.0038,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.272,
          "after": 0.0,
          "delta": -0.272,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9306,
          "after": 1.0,
          "delta": 0.0694,
          "percent_delta": 0.0746,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0935,
          "after": 0.0,
          "delta": -0.0935,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3403,
          "after": 0.0,
          "delta": -0.3403,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7055,
          "after": 1.0,
          "delta": 0.2945,
          "percent_delta": 0.4174,
          "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.7055,
          "after": 1.0,
          "delta": 0.2945,
          "percent_delta": 0.4174,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3403,
          "after": 0.0,
          "delta": -0.3403,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2524,
          "after": 0.245,
          "delta": -0.0074,
          "percent_delta": -0.0293,
          "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.2959,
          "after": 0.301,
          "delta": 0.0051,
          "percent_delta": 0.0172,
          "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.3253,
          "after": 0.357,
          "delta": 0.0317,
          "percent_delta": 0.0974,
          "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.3253,
          "after": 0.357,
          "delta": 0.0317,
          "percent_delta": 0.0974,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2524,
          "after": 0.245,
          "delta": -0.0074,
          "percent_delta": -0.0293,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 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": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2524,
        "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.2959,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3253,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2524,
          "delta": 0.0074,
          "percent_delta": 0.0303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.2959,
          "delta": -0.0051,
          "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.357,
          "after": 0.3253,
          "delta": -0.0317,
          "percent_delta": -0.0889,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2524,
          "delta": 0.0074,
          "percent_delta": 0.0303,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.357,
          "after": 0.3253,
          "delta": -0.0317,
          "percent_delta": -0.0889,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.147,
        "after": 1.0,
        "delta": 0.853,
        "percent_delta": 5.8027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.34,
        "after": 3.0,
        "delta": -1.34,
        "percent_delta": -0.3088,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.253,
        "after": 0.2524,
        "delta": -0.0006,
        "percent_delta": -0.0024,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.301,
        "after": 0.0,
        "delta": -0.301,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 1.0,
        "delta": -0.1,
        "percent_delta": -0.0909,
        "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.2959,
        "delta": -0.0081,
        "percent_delta": -0.0266,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.39,
        "after": 1.0,
        "delta": 0.61,
        "percent_delta": 1.5641,
        "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.344,
        "after": 0.3253,
        "delta": -0.0187,
        "percent_delta": -0.0544,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.544,
        "after": 0.0,
        "delta": -0.544,
        "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_2B",
        "before": 0.147,
        "after": 1.0,
        "delta": 0.853,
        "percent_delta": 5.8027,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.34,
        "after": 3.0,
        "delta": -1.34,
        "percent_delta": -0.3088,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.147-
predicted_3B0.000-
predicted_AB4.340-
predicted_AVG0.253-
predicted_BB0.301-
predicted_H1.100-
predicted_HR0.050-
predicted_OBP0.304-
predicted_R0.390-
predicted_RBI0.340-
predicted_SLG0.344-
predicted_SO0.544-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.010
predicted_3B0.0000.000
predicted_AB4.157-0.183
predicted_AVG0.2590.006
predicted_BB0.259-0.042
predicted_H1.076-0.024
predicted_HBP0.023-
predicted_HR0.050-0.000
predicted_OBP0.3040.001
predicted_R0.3940.004
predicted_RBI0.325-0.015
predicted_SLG0.3450.001
predicted_SO0.526-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.1570.000
predicted_3B0.0000.000
predicted_AB4.1570.000
predicted_AVG0.252-0.006
predicted_BB0.257-0.002
predicted_H1.050-0.026
predicted_HBP0.0230.000
predicted_HR0.049-0.001
predicted_OBP0.296-0.009
predicted_R0.378-0.016
predicted_RBI0.312-0.013
predicted_SLG0.325-0.020
predicted_SO0.5310.004
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.34), rates preserved: AVG=0.236 HR/AB=0.011

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1380.138
3B0.0040.004
BB0.2720.272
H0.931-0.069
HR0.0930.093
RBI0.3400.340
SO0.706-0.294
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.138
3B0.000-0.004
AB4.0000.000
BB0.000-0.272
H1.0000.069
HR0.000-0.093
R0.0000.000
RBI0.000-0.340
SO1.0000.294
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.157
predicted_3B0.000-0.000
predicted_AB4.000-0.157
predicted_AVG0.245-0.007
predicted_BB0.000-0.257
predicted_H1.000-0.050
predicted_HR0.000-0.049
predicted_OBP0.3010.005
predicted_R0.000-0.378
predicted_RBI0.000-0.312
predicted_SLG0.3570.032
predicted_SO1.0000.469
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.000-1.000
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
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 136
Reference playing time: 4.340
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0006.0001.0000.0000.0001.0002.0000.0001.0000.31580.31580.36840.31580.00000.05260.00000.0526
last_100.2010-41.0009.0002.0000.0000.0002.0004.0001.0006.0000.21950.23810.26830.21950.00000.04880.02440.1463
season0.60136-532.000142.00020.0000.00010.00049.00053.00041.00074.0000.26690.32410.36090.26690.01880.09210.07710.1391
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1690
predicted_3B0.0010
predicted_AB3.9210
predicted_AVG0.2663
predicted_BB0.2040
predicted_H1.0440
predicted_HBP0.0230
predicted_HR0.0490
predicted_OBP0.3052
predicted_R0.3990
predicted_RBI0.3060
predicted_SLG0.3470
predicted_SO0.5030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14700.16900.1566model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.34003.92104.1575model_form_blend
predicted_AVG0.25300.26630.2588model_form_blend
predicted_BB0.30100.20400.2587model_form_blend
predicted_H1.10001.04401.0756model_form_blend
predicted_HBP-0.02300.0230form_only
predicted_HR0.05000.04900.0496model_form_blend
predicted_OBP0.30400.30520.3045model_form_blend
predicted_R0.39000.39900.3939model_form_blend
predicted_RBI0.34000.30600.3252model_form_blend
predicted_SLG0.34400.34700.3453model_form_blend
predicted_SO0.54400.50300.5261model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date523
Season rows before report date523
Report year2026
Profile rows used136
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H1
2B1
3B0
HR0
R1
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_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
allPositionsPlayed1B
gameID20260909_TEX@SEA
game_typefull
mlbID647304
playerID647304
playerNameJosh Naylor
pos1B
startedTrue
startingPosition1B
teamSEA
teamID25
game_date2026-09-09
sl_k_percent12.8
sl_bb_percent7.1
sl_woba0.305
sl_xwoba0.315
sl_xba0.273
sl_xslg0.386
sl_sweet_spot_percent35.1
sl_barrel_batted_rate4.4
sl_hard_hit_percent35.3
sl_exit_velocity_avg87.1
sl_launch_angle_avg10.8
sl_whiff_percent17.5
sl_swing_percent51.8
Julio Rodríguez (677594) · BATTER · CF · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 521
All-history rows before 20260910: 521
System season_avg: 0.2390
Data season_avg (2026 season-to-date): 0.2498
Diff (system - data): -0.0108
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.1570.0001.000Hitting_2B0.1520.000-0.1520.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB5.1504.0004.000Hitting_AB4.0194.000-0.0190.000
predicted_AVG0.2020.0000.250Hitting_AVG0.2500.250-0.250-0.250
predicted_BB0.3060.0000.000Hitting_BB0.3420.000-0.3420.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H1.0400.0001.000Hitting_H1.0041.000-1.004-1.000
predicted_HR0.1100.0000.000Hitting_HR0.1610.000-0.1610.000
predicted_OBP0.2470.0000.250Hitting_OBP0.3130.250-0.313-0.250
predicted_R0.4850.0001.000Hitting_R0.5160.000-0.5160.000
predicted_RBI0.4900.0001.000Hitting_RBI0.4760.000-0.4760.000
predicted_SLG0.3340.0000.500Hitting_SLG0.4080.250-0.408-0.250
predicted_SO0.9932.0001.000Hitting_SO0.9421.0001.0581.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics0
Worse Metrics11
Biggest Boostpredicted_SO: 0.9930 -> 2.0000 (boost 1.0070, worse)
Biggest Deboostpredicted_AB: 5.1500 -> 4.0000 (deboost -1.1500, 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.1500 -> 4.6946 (deboost -0.4554, worse)Final model input calibrated 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.3208 -> 0.2928 (deboost -0.0280, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling61515predicted_H: 0.9161 -> 1.0000 (boost 0.0839, better)predicted_AB: 4.6946 -> 4.0000 (deboost -0.6946, worse)AB rounded to 4 (raw=5.15), rates preserved: AVG=0.174 HR/AB=0.020
6bvp_blend00000--Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.389)
7consistency_constraints10101-predicted_R: 0.4375 -> 0.0000 (deboost -0.4375, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4517 (boost 0.4517, better)predicted_H: 1.0000 -> 0.9465 (deboost -0.0535, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation74352predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.2620 -> 0.0000 (deboost -0.2620, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context63333predicted_SLG: 0.2928 -> 0.4010 (boost 0.1082, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference21102predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4010 -> 0.2928 (deboost -0.1082, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677594",
  "player_name": "Julio Rodríguez",
  "position": "CF",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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": 5.15,
        "predicted_AVG": 0.202,
        "predicted_BB": 0.306,
        "predicted_H": 1.04,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.247,
        "predicted_R": 0.485,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.334,
        "predicted_SO": 0.993
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1557,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.6946,
        "predicted_AVG": 0.1997,
        "predicted_BB": 0.2646,
        "predicted_H": 0.9389,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.103,
        "predicted_OBP": 0.2423,
        "predicted_R": 0.4562,
        "predicted_RBI": 0.4586,
        "predicted_SLG": 0.3208,
        "predicted_SO": 0.9908
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.1557,
          "delta": -0.0013,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.15,
          "after": 4.6946,
          "delta": -0.4554,
          "percent_delta": -0.0884,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.202,
          "after": 0.1997,
          "delta": -0.0023,
          "percent_delta": -0.0114,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.306,
          "after": 0.2646,
          "delta": -0.0414,
          "percent_delta": -0.1353,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.04,
          "after": 0.9389,
          "delta": -0.1011,
          "percent_delta": -0.0972,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.103,
          "delta": -0.007,
          "percent_delta": -0.0636,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.247,
          "after": 0.2423,
          "delta": -0.0047,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.485,
          "after": 0.4562,
          "delta": -0.0288,
          "percent_delta": -0.0594,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.4586,
          "delta": -0.0314,
          "percent_delta": -0.0641,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.334,
          "after": 0.3208,
          "delta": -0.0132,
          "percent_delta": -0.0395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.993,
          "after": 0.9908,
          "delta": -0.0022,
          "percent_delta": -0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.15,
          "after": 4.6946,
          "delta": -0.4554,
          "percent_delta": -0.0884,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 134
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1557,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.6946,
        "predicted_AVG": 0.1951,
        "predicted_BB": 0.2624,
        "predicted_H": 0.9161,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.1007,
        "predicted_OBP": 0.2377,
        "predicted_R": 0.4375,
        "predicted_RBI": 0.4398,
        "predicted_SLG": 0.2928,
        "predicted_SO": 0.9992
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1557,
          "after": 0.1557,
          "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.6946,
          "after": 4.6946,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1997,
          "after": 0.1951,
          "delta": -0.0046,
          "percent_delta": -0.023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2646,
          "after": 0.2624,
          "delta": -0.0022,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9389,
          "after": 0.9161,
          "delta": -0.0228,
          "percent_delta": -0.0243,
          "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.103,
          "after": 0.1007,
          "delta": -0.0023,
          "percent_delta": -0.0223,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2423,
          "after": 0.2377,
          "delta": -0.0046,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4562,
          "after": 0.4375,
          "delta": -0.0187,
          "percent_delta": -0.041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4586,
          "after": 0.4398,
          "delta": -0.0188,
          "percent_delta": -0.041,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3208,
          "after": 0.2928,
          "delta": -0.028,
          "percent_delta": -0.0873,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9908,
          "after": 0.9992,
          "delta": 0.0084,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3208,
          "after": 0.2928,
          "delta": -0.028,
          "percent_delta": -0.0873,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.15), rates preserved: AVG=0.174 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.1557,
          "after": 0.0,
          "delta": -0.1557,
          "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.6946,
          "after": 4.0,
          "delta": -0.6946,
          "percent_delta": -0.148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2624,
          "after": 0.0,
          "delta": -0.2624,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9161,
          "after": 1.0,
          "delta": 0.0839,
          "percent_delta": 0.0916,
          "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.1007,
          "after": 0.0,
          "delta": -0.1007,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4398,
          "after": 0.0,
          "delta": -0.4398,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9992,
          "after": 1.0,
          "delta": 0.0008,
          "percent_delta": 0.0008,
          "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.9161,
          "after": 1.0,
          "delta": 0.0839,
          "percent_delta": 0.0916,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.6946,
          "after": 4.0,
          "delta": -0.6946,
          "percent_delta": -0.148,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.389)",
      "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.85,
        "bvp": 0.15
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.4375,
          "after": 0.0,
          "delta": -0.4375,
          "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.4375,
          "after": 0.0,
          "delta": -0.4375,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1512,
        "predicted_3B": 0.004,
        "predicted_BB": 0.262,
        "predicted_H": 0.9465,
        "predicted_HR": 0.1615,
        "predicted_RBI": 0.4517,
        "predicted_SO": 1.2422
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1512,
          "delta": 0.1512,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.004,
          "delta": 0.004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.262,
          "delta": 0.262,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9465,
          "delta": -0.0535,
          "percent_delta": -0.0535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1615,
          "delta": 0.1615,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4517,
          "delta": 0.4517,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2422,
          "delta": 0.2422,
          "percent_delta": 0.2422,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4517,
          "delta": 0.4517,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9465,
          "delta": -0.0535,
          "percent_delta": -0.0535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1512,
          "after": 1.0,
          "delta": 0.8488,
          "percent_delta": 5.6138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.004,
          "after": 0.0,
          "delta": -0.004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.262,
          "after": 0.0,
          "delta": -0.262,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9465,
          "after": 1.0,
          "delta": 0.0535,
          "percent_delta": 0.0565,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1615,
          "after": 0.0,
          "delta": -0.1615,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4517,
          "after": 1.0,
          "delta": 0.5483,
          "percent_delta": 1.2139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2422,
          "after": 1.0,
          "delta": -0.2422,
          "percent_delta": -0.195,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.262,
          "after": 0.0,
          "delta": -0.262,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.239,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.292,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.401,
        "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.1951,
          "after": 0.239,
          "delta": 0.0439,
          "percent_delta": 0.225,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2377,
          "after": 0.292,
          "delta": 0.0543,
          "percent_delta": 0.2284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2928,
          "after": 0.401,
          "delta": 0.1082,
          "percent_delta": 0.3695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2928,
          "after": 0.401,
          "delta": 0.1082,
          "percent_delta": 0.3695,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1951,
        "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.2377,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2928,
        "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.239,
          "after": 0.1951,
          "delta": -0.0439,
          "percent_delta": -0.1835,
          "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.292,
          "after": 0.2377,
          "delta": -0.0543,
          "percent_delta": -0.1858,
          "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.401,
          "after": 0.2928,
          "delta": -0.1082,
          "percent_delta": -0.2698,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.2928,
          "delta": -0.1082,
          "percent_delta": -0.2698,
          "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": 5.15,
        "after": 4.0,
        "delta": -1.15,
        "percent_delta": -0.2233,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.202,
        "after": 0.1951,
        "delta": -0.0069,
        "percent_delta": -0.0342,
        "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": 1.04,
        "after": 0.0,
        "delta": -1.04,
        "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.247,
        "after": 0.2377,
        "delta": -0.0093,
        "percent_delta": -0.0377,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.485,
        "after": 0.0,
        "delta": -0.485,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.334,
        "after": 0.2928,
        "delta": -0.0412,
        "percent_delta": -0.1234,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.993,
        "after": 2.0,
        "delta": 1.007,
        "percent_delta": 1.0141,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 0,
      "worse_metrics": 11,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.993,
        "after": 2.0,
        "delta": 1.007,
        "percent_delta": 1.0141,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.15,
        "after": 4.0,
        "delta": -1.15,
        "percent_delta": -0.2233,
        "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_AB5.150-
predicted_AVG0.202-
predicted_BB0.306-
predicted_H1.040-
predicted_HR0.110-
predicted_OBP0.247-
predicted_R0.485-
predicted_RBI0.490-
predicted_SLG0.334-
predicted_SO0.993-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.156-0.001
predicted_3B0.0000.000
predicted_AB4.695-0.455
predicted_AVG0.200-0.002
predicted_BB0.265-0.041
predicted_H0.939-0.101
predicted_HBP0.024-
predicted_HR0.103-0.007
predicted_OBP0.242-0.005
predicted_R0.456-0.029
predicted_RBI0.459-0.031
predicted_SLG0.321-0.013
predicted_SO0.991-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.1560.000
predicted_3B0.0000.000
predicted_AB4.6950.000
predicted_AVG0.195-0.005
predicted_BB0.262-0.002
predicted_H0.916-0.023
predicted_HBP0.0240.000
predicted_HR0.101-0.002
predicted_OBP0.238-0.005
predicted_R0.438-0.019
predicted_RBI0.440-0.019
predicted_SLG0.293-0.028
predicted_SO0.9990.008
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=5.15), rates preserved: AVG=0.174 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-
6. bvp_blend

Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.389)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1510.151
3B0.0040.004
BB0.2620.262
H0.947-0.053
HR0.1620.162
RBI0.4520.452
SO1.2420.242
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B1.0000.849
3B0.000-0.004
AB4.0000.000
BB0.000-0.262
H1.0000.053
HR0.000-0.162
R1.0001.000
RBI1.0000.548
SO1.000-0.242
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.156
predicted_3B0.000-0.000
predicted_AB4.000-0.695
predicted_AVG0.2390.044
predicted_BB0.000-0.262
predicted_H1.0000.084
predicted_HR0.000-0.101
predicted_OBP0.2920.054
predicted_R0.000-0.438
predicted_RBI0.000-0.440
predicted_SLG0.4010.108
predicted_SO1.0000.001
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 134
Reference playing time: 5.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.0002.0000.0000.0000.0001.0001.0000.0004.0000.09520.09520.09520.09520.00000.04760.00000.1905
last_100.2010-44.0007.0003.0000.0000.0005.0004.0001.00012.0000.15910.17780.22730.15910.00000.11360.02270.2727
season0.60134-536.000128.00021.0000.00020.00061.00065.00041.000133.0000.23880.29690.38990.23880.03730.11380.07650.2481
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1540
predicted_3B0.0010
predicted_AB4.1050
predicted_AVG0.1968
predicted_BB0.2110
predicted_H0.8080
predicted_HBP0.0240
predicted_HR0.0940
predicted_OBP0.2363
predicted_R0.4190
predicted_RBI0.4180
predicted_SLG0.3037
predicted_SO0.9880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.15400.1557model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB5.15004.10504.6946model_form_blend
predicted_AVG0.20200.19680.1997model_form_blend
predicted_BB0.30600.21100.2646model_form_blend
predicted_H1.04000.80800.9389model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.11000.09400.1030model_form_blend
predicted_OBP0.24700.23630.2423model_form_blend
predicted_R0.48500.41900.4562model_form_blend
predicted_RBI0.49000.41800.4586model_form_blend
predicted_SLG0.33400.30370.3208model_form_blend
predicted_SO0.99300.98800.9908model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date521
Season rows before report date521
Report year2026
Profile rows used134
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_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
gameID20260909_TEX@SEA
game_typefull
mlbID677594
playerID677594
playerNameJulio Rodríguez
posCF
startedTrue
startingPositionCF
teamSEA
teamID25
game_date2026-09-09
sl_k_percent22.6
sl_bb_percent7.2
sl_woba0.302
sl_xwoba0.334
sl_xba0.263
sl_xslg0.442
sl_sweet_spot_percent32.4
sl_barrel_batted_rate8.9
sl_hard_hit_percent43.6
sl_exit_velocity_avg90.0
sl_launch_angle_avg13.2
sl_whiff_percent27.4
sl_swing_percent51.9
Cole Young (702284) · BATTER · 2B · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 529
All-history rows before 20260910: 529
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2557
Diff (system - data): -0.0087
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.1250.0000.000Hitting_2B0.1131.000-0.113-1.000
predicted_3B0.0210.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB4.0603.0003.000Hitting_AB3.7493.000-0.7490.000
predicted_AVG0.2500.3330.333Hitting_AVG0.2560.3330.0780.000
predicted_BB0.2640.0000.000Hitting_BB0.2610.000-0.2610.000
predicted_CS-0.0000.000BaseRunning_CS0.0340.000-0.0340.000
predicted_H1.0101.0001.000Hitting_H0.9581.0000.0420.000
predicted_HR0.0900.0000.000Hitting_HR0.1170.000-0.1170.000
predicted_OBP0.3320.3330.333Hitting_OBP0.3150.3330.0180.000
predicted_R0.4791.0001.000Hitting_R0.5030.0000.4971.000
predicted_RBI0.5400.0000.000Hitting_RBI0.4332.000-0.433-2.000
predicted_SB-0.0000.000BaseRunning_SB0.0230.000-0.0230.000
predicted_SLG0.3850.3330.333Hitting_SLG0.3940.667-0.061-0.333
predicted_SO0.6940.0001.000Hitting_SO0.6841.000-0.684-1.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_R: 0.4790 -> 1.0000 (boost 0.5210, better)
Biggest Deboostpredicted_AB: 4.0600 -> 3.0000 (deboost -1.0600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_AB: 4.0600 -> 3.8688 (deboost -0.1912, worse)Final model input calibrated 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.3339 -> 0.2961 (deboost -0.0378, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.7469 -> 1.0000 (boost 0.2531, worse)predicted_AB: 3.8688 -> 3.0000 (deboost -0.8688, worse)AB rounded to 3 (raw=4.06), rates preserved: AVG=0.230 HR/AB=0.019
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
7consistency_constraints10101-predicted_R: 0.4877 -> 0.0000 (deboost -0.4877, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3593 (boost 0.3593, better)predicted_H: 1.0000 -> 0.8033 (deboost -0.1967, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation73425predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.3593 -> 0.0000 (deboost -0.3593, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context41313predicted_SLG: 0.3576 -> 0.3700 (boost 0.0124, 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
11simulation_box_score_reference21120predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_AVG: 0.2310 -> 0.2473 (boost 0.0163, better)predicted_SLG: 0.3700 -> 0.3576 (deboost -0.0124, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "702284",
  "player_name": "Cole Young",
  "position": "2B",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is 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.021,
        "predicted_AB": 4.06,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.264,
        "predicted_H": 1.01,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.332,
        "predicted_R": 0.479,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.385,
        "predicted_SO": 0.694
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1555,
        "predicted_3B": 0.0171,
        "predicted_AB": 3.8688,
        "predicted_AVG": 0.2544,
        "predicted_BB": 0.2705,
        "predicted_H": 0.9804,
        "predicted_HBP": 0.146,
        "predicted_HR": 0.0809,
        "predicted_OBP": 0.3339,
        "predicted_R": 0.5086,
        "predicted_RBI": 0.493,
        "predicted_SLG": 0.3819,
        "predicted_SO": 0.7406
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.125,
          "after": 0.1555,
          "delta": 0.0305,
          "percent_delta": 0.244,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.021,
          "after": 0.0171,
          "delta": -0.0039,
          "percent_delta": -0.1857,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.06,
          "after": 3.8688,
          "delta": -0.1912,
          "percent_delta": -0.0471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2544,
          "delta": 0.0044,
          "percent_delta": 0.0176,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.264,
          "after": 0.2705,
          "delta": 0.0065,
          "percent_delta": 0.0246,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.01,
          "after": 0.9804,
          "delta": -0.0296,
          "percent_delta": -0.0293,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0809,
          "delta": -0.0091,
          "percent_delta": -0.1011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.3339,
          "delta": 0.0019,
          "percent_delta": 0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.479,
          "after": 0.5086,
          "delta": 0.0296,
          "percent_delta": 0.0618,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 0.493,
          "delta": -0.047,
          "percent_delta": -0.087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.385,
          "after": 0.3819,
          "delta": -0.0031,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.694,
          "after": 0.7406,
          "delta": 0.0466,
          "percent_delta": 0.0671,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.06,
          "after": 3.8688,
          "delta": -0.1912,
          "percent_delta": -0.0471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 144
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1555,
        "predicted_3B": 0.0171,
        "predicted_AB": 3.8688,
        "predicted_AVG": 0.2473,
        "predicted_BB": 0.2682,
        "predicted_H": 0.9566,
        "predicted_HBP": 0.146,
        "predicted_HR": 0.0791,
        "predicted_OBP": 0.2961,
        "predicted_R": 0.4877,
        "predicted_RBI": 0.4727,
        "predicted_SLG": 0.3576,
        "predicted_SO": 0.7469
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1555,
          "after": 0.1555,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0171,
          "after": 0.0171,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8688,
          "after": 3.8688,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2544,
          "after": 0.2473,
          "delta": -0.0071,
          "percent_delta": -0.0279,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2705,
          "after": 0.2682,
          "delta": -0.0023,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9804,
          "after": 0.9566,
          "delta": -0.0238,
          "percent_delta": -0.0243,
          "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.0809,
          "after": 0.0791,
          "delta": -0.0018,
          "percent_delta": -0.0222,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3339,
          "after": 0.2961,
          "delta": -0.0378,
          "percent_delta": -0.1132,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5086,
          "after": 0.4877,
          "delta": -0.0209,
          "percent_delta": -0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.493,
          "after": 0.4727,
          "delta": -0.0203,
          "percent_delta": -0.0412,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3819,
          "after": 0.3576,
          "delta": -0.0243,
          "percent_delta": -0.0636,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7406,
          "after": 0.7469,
          "delta": 0.0063,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3339,
          "after": 0.2961,
          "delta": -0.0378,
          "percent_delta": -0.1132,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=4.06), rates preserved: AVG=0.230 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.1555,
          "after": 0.0,
          "delta": -0.1555,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0171,
          "after": 0.0,
          "delta": -0.0171,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8688,
          "after": 3.0,
          "delta": -0.8688,
          "percent_delta": -0.2246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2682,
          "after": 0.0,
          "delta": -0.2682,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9566,
          "after": 1.0,
          "delta": 0.0434,
          "percent_delta": 0.0454,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.0791,
          "after": 0.0,
          "delta": -0.0791,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4727,
          "after": 0.0,
          "delta": -0.4727,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7469,
          "after": 1.0,
          "delta": 0.2531,
          "percent_delta": 0.3389,
          "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.7469,
          "after": 1.0,
          "delta": 0.2531,
          "percent_delta": 0.3389,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.8688,
          "after": 3.0,
          "delta": -0.8688,
          "percent_delta": -0.2246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4877,
          "after": 0.0,
          "delta": -0.4877,
          "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.4877,
          "after": 0.0,
          "delta": -0.4877,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1228,
        "predicted_3B": 0.008,
        "predicted_BB": 0.2351,
        "predicted_H": 0.8033,
        "predicted_HR": 0.1152,
        "predicted_RBI": 0.3593,
        "predicted_SO": 0.8693
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1228,
          "delta": 0.1228,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.008,
          "delta": 0.008,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2351,
          "delta": 0.2351,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8033,
          "delta": -0.1967,
          "percent_delta": -0.1967,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1152,
          "delta": 0.1152,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3593,
          "delta": 0.3593,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8693,
          "delta": -0.1307,
          "percent_delta": -0.1307,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3593,
          "delta": 0.3593,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8033,
          "delta": -0.1967,
          "percent_delta": -0.1967,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1228,
          "after": 0.0,
          "delta": -0.1228,
          "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.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2351,
          "after": 0.0,
          "delta": -0.2351,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8033,
          "after": 1.0,
          "delta": 0.1967,
          "percent_delta": 0.2449,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1152,
          "after": 0.0,
          "delta": -0.1152,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3593,
          "after": 0.0,
          "delta": -0.3593,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8693,
          "after": 1.0,
          "delta": 0.1307,
          "percent_delta": 0.1504,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3593,
          "after": 0.0,
          "delta": -0.3593,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.231,
        "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.37,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2473,
          "after": 0.231,
          "delta": -0.0163,
          "percent_delta": -0.0659,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2961,
          "after": 0.285,
          "delta": -0.0111,
          "percent_delta": -0.0375,
          "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.3576,
          "after": 0.37,
          "delta": 0.0124,
          "percent_delta": 0.0347,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3576,
          "after": 0.37,
          "delta": 0.0124,
          "percent_delta": 0.0347,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 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_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.2473,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2961,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3576,
        "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.231,
          "after": 0.2473,
          "delta": 0.0163,
          "percent_delta": 0.0704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2961,
          "delta": 0.0111,
          "percent_delta": 0.0388,
          "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.37,
          "after": 0.3576,
          "delta": -0.0124,
          "percent_delta": -0.0335,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.231,
          "after": 0.2473,
          "delta": 0.0163,
          "percent_delta": 0.0704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.37,
          "after": 0.3576,
          "delta": -0.0124,
          "percent_delta": -0.0335,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.125,
        "after": 0.0,
        "delta": -0.125,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.021,
        "after": 0.0,
        "delta": -0.021,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.06,
        "after": 3.0,
        "delta": -1.06,
        "percent_delta": -0.2611,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2473,
        "delta": -0.0027,
        "percent_delta": -0.0108,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.264,
        "after": 0.0,
        "delta": -0.264,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.01,
        "after": 1.0,
        "delta": -0.01,
        "percent_delta": -0.0099,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.332,
        "after": 0.2961,
        "delta": -0.0359,
        "percent_delta": -0.1081,
        "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.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.385,
        "after": 0.3576,
        "delta": -0.0274,
        "percent_delta": -0.0712,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.694,
        "after": 0.0,
        "delta": -0.694,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 1,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.479,
        "after": 1.0,
        "delta": 0.521,
        "percent_delta": 1.0877,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.06,
        "after": 3.0,
        "delta": -1.06,
        "percent_delta": -0.2611,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

Raw model output with missing event categories filled from season-profile fallback

MetricValueDelta vs Prev Step
predicted_2B0.125-
predicted_3B0.021-
predicted_AB4.060-
predicted_AVG0.250-
predicted_BB0.264-
predicted_H1.010-
predicted_HR0.090-
predicted_OBP0.332-
predicted_R0.479-
predicted_RBI0.540-
predicted_SLG0.385-
predicted_SO0.694-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.

MetricValueDelta vs Prev Step
predicted_2B0.1550.030
predicted_3B0.017-0.004
predicted_AB3.869-0.191
predicted_AVG0.2540.004
predicted_BB0.2710.007
predicted_H0.980-0.030
predicted_HBP0.146-
predicted_HR0.081-0.009
predicted_OBP0.3340.002
predicted_R0.5090.030
predicted_RBI0.493-0.047
predicted_SLG0.382-0.003
predicted_SO0.7410.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.1550.000
predicted_3B0.0170.000
predicted_AB3.8690.000
predicted_AVG0.247-0.007
predicted_BB0.268-0.002
predicted_H0.957-0.024
predicted_HBP0.1460.000
predicted_HR0.079-0.002
predicted_OBP0.296-0.038
predicted_R0.488-0.021
predicted_RBI0.473-0.020
predicted_SLG0.358-0.024
predicted_SO0.7470.006
4. matchup_context

Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=4.06), rates preserved: AVG=0.230 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-
6. bvp_blend

Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

Enforced H<=AB, HR<=H, safety nets, derived R

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
8. hitter_rate_engine

Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context

MetricValueDelta vs Prev Step
2B0.1230.123
3B0.0080.008
BB0.2350.235
H0.803-0.197
HR0.1150.115
RBI0.3590.359
SO0.869-0.131
9. lineup_integer_allocation

Lineup-level largest-remainder allocation so team totals match the summed model expectation

MetricValueDelta vs Prev Step
2B0.000-0.123
3B0.000-0.008
AB3.0000.000
BB0.000-0.235
H1.0000.197
HR0.000-0.115
R1.0001.000
RBI0.000-0.359
SO1.0000.131
10. embedded_savant_player_context

Player Savant profile contributed to the team run-environment adjustment against the opposing starter

MetricValueDelta vs Prev Step
predicted_2B0.000-0.155
predicted_3B0.000-0.017
predicted_AB3.000-0.869
predicted_AVG0.231-0.016
predicted_BB0.000-0.268
predicted_H1.0000.043
predicted_HR0.000-0.079
predicted_OBP0.285-0.011
predicted_R0.000-0.488
predicted_RBI0.000-0.473
predicted_SLG0.3700.012
predicted_SO1.0000.253
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA3.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: 144
Reference playing time: 4.060
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0006.0002.0000.0000.0003.0003.0001.0005.0000.33330.40000.44440.33330.00000.16670.05560.2778
last_100.2010-35.0008.0002.0000.0000.0003.0007.0004.0009.0000.22860.35710.28570.22860.00000.08570.11430.2571
season0.60144-526.000130.00018.0003.00016.00060.00069.00038.000100.0000.24710.31090.38400.24720.03040.11410.07220.1901
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1950
predicted_3B0.0120
predicted_AB3.6210
predicted_AVG0.2600
predicted_BB0.2790
predicted_H0.9420
predicted_HBP0.1460
predicted_HR0.0690
predicted_OBP0.3364
predicted_R0.5470
predicted_RBI0.4320
predicted_SLG0.3779
predicted_SO0.8010
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12500.19500.1555model_form_blend
predicted_3B0.02100.01200.0171model_form_blend
predicted_AB4.06003.62103.8688model_form_blend
predicted_AVG0.25000.26000.2544model_form_blend
predicted_BB0.26400.27900.2705model_form_blend
predicted_H1.01000.94200.9804model_form_blend
predicted_HBP-0.14600.1460form_only
predicted_HR0.09000.06900.0809model_form_blend
predicted_OBP0.33200.33640.3339model_form_blend
predicted_R0.47900.54700.5086model_form_blend
predicted_RBI0.54000.43200.4930model_form_blend
predicted_SLG0.38500.37790.3819model_form_blend
predicted_SO0.69400.80100.7406model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date529
Season rows before report date529
Report year2026
Profile rows used144
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H1
2B0
3B0
HR0
R1
RBI0
BB0
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_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
gameID20260909_TEX@SEA
game_typefull
mlbID702284
playerID702284
playerNameCole Young
pos2B
startedTrue
startingPosition2B
teamSEA
teamID25
game_date2026-09-09
sl_k_percent17.2
sl_bb_percent6.6
sl_woba0.308
sl_xwoba0.315
sl_xba0.261
sl_xslg0.388
sl_sweet_spot_percent32.9
sl_barrel_batted_rate4.7
sl_hard_hit_percent37.1
sl_exit_velocity_avg88.1
sl_launch_angle_avg13.6
sl_whiff_percent19.5
sl_swing_percent48.1
Logan Gilbert (669302) · PITCHER · Starter · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 28
All-history rows before 20260910: 28

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.5002.0001.5001.000
predicted_ER3.0003.0003.000Pitching_ER2.4297.0000.571-4.000
predicted_H4.0004.0004.000Pitching_H4.7868.000-0.786-4.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.7434.200-0.5431.000
predicted_SO6.0006.0006.000Pitching_SO6.28610.000-0.286-4.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better)
Biggest Deboostpredicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail21111predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better)predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "669302",
  "player_name": "Logan Gilbert",
  "position": "Starter",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement 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": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.6667,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.6667,
          "after": 5.2,
          "delta": -0.4667,
          "percent_delta": -0.0824,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_R": 3.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2,
          "after": 5.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 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": 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.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 6.0,
        "delta": 1.0,
        "percent_delta": 0.2,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.6667,
        "after": 5.2,
        "delta": -0.4667,
        "percent_delta": -0.0824,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "neutral"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB3.000-
predicted_ER3.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP5.667-
predicted_SO5.000-
2. pitcher_quality_guardrail

Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.

MetricValueDelta vs Prev Step
predicted_BB3.0000.000
predicted_ER3.0000.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP5.200-0.467
predicted_SO6.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 28
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45525.20015.00027.00010.00031.0007.0005.25971.44160.58441.05190.38961.20780.2727
last_100.351057.20030.00054.00020.00062.00012.0004.68211.28320.52020.93640.34681.07510.2081
season0.2028165.00068.000134.00042.000176.00026.0003.70911.06670.41210.81210.25451.06670.1576
Weighted Prediction From Real Data
MetricValue
predicted_BB1.9210
predicted_ER2.8640
predicted_ERA4.7140
predicted_H5.2770
predicted_HR1.1750
predicted_IP5.1000
predicted_SO6.0370
predicted_WHIP1.3162
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB3.00001.92102.3677model_form_blend
predicted_ER3.00002.86402.9203model_form_blend
predicted_ERA-4.71404.7140form_only
predicted_H4.00005.27704.7483model_form_blend
predicted_HR0.00001.17500.6885model_form_blend
predicted_IP5.20005.10005.1000model_form_blend
predicted_SO5.00006.03705.6077model_form_blend
predicted_WHIP-1.31621.3162form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date28
Season rows before report date28
Report year2026
Profile rows used28
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H4
R3
ER3
BB3
SO6
HR0
BF24
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_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 Faced23
Pitching_ER7
Pitching_ERA3.71
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H8
Pitching_HBP0
Pitching_HR4
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched4.2
Pitching_Pitches99
Pitching_R7
Pitching_SO10
Pitching_Strikes59
Pitching_Wild Pitch1
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260904_OAK@SEA
game_typefull
mlbID669302
playerID669302
playerNameLogan Gilbert
posP
startedTrue
startingPositionP
teamSEA
teamID25
game_date2026-09-04
sl_k_percent26.6
sl_bb_percent6.4
sl_woba0.297
sl_xwoba0.299
sl_sweet_spot_percent37.2
sl_barrel_batted_rate10.3
sl_hard_hit_percent41.6
sl_whiff_percent29.7
sl_swing_percent50.2
sl_avg_best_speed79.132216852
sl_avg_hyper_speed94.446668051
Andrés Muñoz (662253) · PITCHER · Closer · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 56
All-history rows before 20260910: 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.3751.000-0.375-1.000
predicted_ER0.0000.0000.000Pitching_ER0.4290.000-0.4290.000
predicted_H0.0000.0000.000Pitching_H0.7140.000-0.7140.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8981.0000.1020.000
predicted_SO0.0000.0000.000Pitching_SO1.5182.000-1.518-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "662253",
  "player_name": "Andrés Muñoz",
  "position": "Closer",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement 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": 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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "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_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: 55
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.0008.0000.0001.80000.40000.20000.20000.20001.60000.0000
last_100.35109.2006.0006.0004.00016.0002.0005.58621.03450.62070.62070.41381.65520.2069
season0.205553.10022.00039.00020.00085.0007.0003.71251.10620.41250.73120.37501.59380.1313
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3290
predicted_ER0.4260
predicted_ERA3.8309
predicted_H0.6180
predicted_HR0.1140
predicted_IP1.0000
predicted_SO1.4030
predicted_WHIP0.9477
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.32900.1698model_form_blend
predicted_ER0.00000.42600.2198model_form_blend
predicted_ERA-3.83093.8309form_only
predicted_H0.00000.61800.3189model_form_blend
predicted_HR0.00000.11400.0588model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.40301.2079model_form_blend
predicted_WHIP-0.94770.9477form_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 used55
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_ER0
Pitching_ERA4.05
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_Strikes10
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260909_TEX@SEA
game_typefull
mlbID662253
playerID662253
playerNameAndrés Muñoz
posP
startedFalse
startingPositionP
teamSEA
teamID25
game_date2026-09-09
sl_k_percent38.5
sl_bb_percent9.5
sl_woba0.278
sl_xwoba0.275
sl_sweet_spot_percent32.5
sl_barrel_batted_rate8.8
sl_hard_hit_percent42.1
sl_whiff_percent41.2
sl_swing_percent47.8
sl_avg_best_speed76.13861
sl_avg_hyper_speed94.713604732
José A. Ferrer (678606) · PITCHER · Setup Man · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 66
All-history rows before 20260910: 66

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2731.000-0.273-1.000
predicted_ER1.0001.0001.000Pitching_ER0.3791.0000.6210.000
predicted_H2.0002.0002.000Pitching_H1.0001.0001.0001.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.7800.2000.3200.900
predicted_SO1.0001.0001.000Pitching_SO0.7272.0000.273-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": "678606",
  "player_name": "José A. Ferrer",
  "position": "Setup Man",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement 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.1,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_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: 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.0003.0006.0004.0004.0000.0006.75002.50000.75001.50001.00001.00000.0000
last_100.35108.2004.00011.0004.0007.0000.0004.15381.73080.46151.26920.46150.80770.0000
season0.206559.20025.00065.00018.00048.0006.0003.77091.39110.41901.08940.30170.80450.1006
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5220
predicted_ER0.5000
predicted_ERA5.0346
predicted_H1.1000
predicted_HR0.0510
predicted_IP1.0000
predicted_SO0.8110
predicted_WHIP1.8140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.52200.2746model_form_blend
predicted_ER1.00000.50000.7370model_form_blend
predicted_ERA-5.03465.0346form_only
predicted_H2.00001.10001.5266model_form_blend
predicted_HR0.00000.05100.0268model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.81100.9006model_form_blend
predicted_WHIP-1.81401.8140form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date66
Season rows before report date66
Report year2026
Profile rows used65
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H2
R1
ER1
BB0
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_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER1
Pitching_ERA3.77
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners3
Pitching_Inherited Runners Scored2
Pitching_InningsPitched0.2
Pitching_Pitches20
Pitching_R1
Pitching_SO2
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260908_TEX@SEA
game_typefull
mlbID678606
playerID678606
playerNameJosé A. Ferrer
posP
startedFalse
startingPositionP
teamSEA
teamID25
game_date2026-09-08
sl_k_percent18.1
sl_bb_percent6.8
sl_woba0.327
sl_xwoba0.299
sl_sweet_spot_percent27.5
sl_barrel_batted_rate5.2
sl_hard_hit_percent36.8
sl_whiff_percent18.3
sl_swing_percent50.5
sl_avg_best_speed74.849816316
sl_avg_hyper_speed93.430747778
Eduard Bazardo (660825) · PITCHER · Middle Reliever (High Leverage) · Team SEA
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20260910: 67
All-history rows before 20260910: 67

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3281.000-0.328-1.000
predicted_ER0.0000.0000.000Pitching_ER0.4034.000-0.403-4.000
predicted_H0.0000.0000.000Pitching_H1.0303.000-1.030-3.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7810.1000.2190.900
predicted_SO1.0001.0001.000Pitching_SO0.9551.0000.0450.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": "660825",
  "player_name": "Eduard Bazardo",
  "position": "Middle Reliever (High Leverage)",
  "team": "SEA",
  "interpretation": "Boost/deboost is numeric movement 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": 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.6667,
          "after": 1.0,
          "delta": 0.3333,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 1.0,
          "delta": 0.3333,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.0,
        "delta": 0.3333,
        "percent_delta": 0.4999,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 1,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.0,
        "delta": 0.3333,
        "percent_delta": 0.4999,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_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: 67
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.1007.00011.0004.0005.0002.00018.90004.50002.10003.30001.20001.50000.6000
last_100.35109.1008.00015.0006.00012.0003.0007.71432.25000.85711.60710.64291.28570.3214
season0.206762.10027.00069.00022.00064.00011.0003.89841.45990.43321.10700.35291.02670.1765
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5610
predicted_ER0.8740
predicted_ERA9.8636
predicted_H1.5160
predicted_HR0.2720
predicted_IP0.2000
predicted_SO0.9730
predicted_WHIP2.6039
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.56100.2972model_form_blend
predicted_ER0.00000.87400.4631model_form_blend
predicted_ERA-9.86369.8636form_only
predicted_H0.00001.51600.8032model_form_blend
predicted_HR0.00000.27200.1441model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO1.00000.97300.9857model_form_blend
predicted_WHIP-2.60392.6039form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report date67
Season rows before report date67
Report year2026
Profile rows used67
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
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 Faced6
Pitching_ER4
Pitching_ERA3.90
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H3
Pitching_HBP1
Pitching_HR2
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored1
Pitching_InningsPitched0.1
Pitching_Pitches25
Pitching_R4
Pitching_SO1
Pitching_Strikes14
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260908_TEX@SEA
game_typefull
mlbID660825
playerID660825
playerNameEduard Bazardo
posP
startedFalse
startingPositionP
teamSEA
teamID25
game_date2026-09-08
sl_k_percent23.3
sl_bb_percent8.0
sl_woba0.347
sl_xwoba0.333
sl_sweet_spot_percent38.0
sl_barrel_batted_rate9.1
sl_hard_hit_percent39.0
sl_whiff_percent21.5
sl_swing_percent45.1
sl_avg_best_speed79.026470978
sl_avg_hyper_speed94.184329891