Ultra Detailed Player Audit - 20261005

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.

20261005_CHW@CLE

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 5, "confidence": 0.5184996125, "home_win_probability": 0.5184996125, "away_win_probability": 0.4815003875, "predicted_score_text": "CHW 4 - 5 CLE", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "CHW", "original_runs": 4, "run_delta": -0.1691, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 31.0, "quality": 0.20061598810045134, "contact": 0.13385046119581112, "power": 0.3340160534701457, "discipline": 0.06781188765425736, "xwoba": 0.3295161290322581, "recent_xwoba": 0.3295161290322581, "barrel": 9.825806451612904, "ab_hard_contact": 0.18022890350429321, "ab_bat_speed": 69.76851619677676, "ab_strikeout_rate": 0.26424390315959806, "available_players": 9, "top_players": [{"player_id": "808959", "player_name": "Munetaka Murakami", "position": "1B", "weight": 4.0, "quality": 0.8250851188870992, "contact": 0.3690512901662923, "power": 1.7446519928411803, "discipline": -0.08415194258297673, "xwoba": 0.351, "recent_xwoba": 0.351, "barrel": 20.5, "ab_hard_contact": 0.8118969996807419, "ab_bat_speed": 73.14047844827586, "ab_strikeout_rate": 0.3649014778325123, "available": 1.0}, {"player_id": "678246", "player_name": "Miguel Vargas", "position": "3B", "weight": 4.0, "quality": 1.0124378036314987, "contact": 0.9855242917270529, "power": 1.1471618233528365, "discipline": 0.9850155946934471, "xwoba": 0.378, "recent_xwoba": 0.378, "barrel": 13.0, "ab_hard_contact": 0.7655221813424515, "ab_bat_speed": 72.6348808991158, "ab_strikeout_rate": 0.18509108341323108, "available": 1.0}, {"player_id": "805367", "player_name": "Chase Meidroth", "position": "2B", "weight": 3.0, "quality": -0.36065419515144226, "contact": -0.2681916119183442, "power": -0.5522273360814376, "discipline": 0.28802797440297456, "xwoba": 0.301, "recent_xwoba": 0.301, "barrel": 4.6, "ab_hard_contact": -0.6148324359144686, "ab_bat_speed": 64.30609355709878, "ab_strikeout_rate": 0.22379298941798942, "available": 1.0}, {"player_id": "695657", "player_name": "Colson Montgomery", "position": "SS", "weight": 3.0, "quality": -0.273775716178393, "contact": -0.7182543847035345, "power": 0.35869520601172783, "discipline": -0.9236800422152533, "xwoba": 0.294, "recent_xwoba": 0.294, "barrel": 12.0, "ab_hard_contact": 0.36666602499646367, "ab_bat_speed": 74.80167379275653, "ab_strikeout_rate": 0.3513581488933602, "available": 1.0}, {"player_id": "803011", "player_name": "Sam Antonacci", "position": "LF", "weight": 4.0, "quality": 0.2258623095223891, "contact": 0.6076162398121087, "power": -0.23627065027240549, "discipline": 0.49326319342598424, "xwoba": 0.348, "recent_xwoba": 0.348, "barrel": 5.0, "ab_hard_contact": -0.10103205306716208, "ab_bat_speed": 68.13744058805106, "ab_strikeout_rate": 0.15012919896640828, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "668909", "player_name": "Gavin Williams", "quality": 0.2978196427625173, "contact": 0.00676738371165328, "command": 0.8326841458805745, "movement": 0.5288565493116775, "xwoba": 0.302, "whiff": 32.8, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "CLE", "original_runs": 5, "run_delta": 0.2405, "adjusted_runs": 5, "lineup": {"players_used": 9, "total_weight": 33.0, "quality": 0.08783973362229333, "contact": 0.21386448980642986, "power": -0.09085382226297484, "discipline": 0.2958489880816083, "xwoba": 0.31975757575757574, "recent_xwoba": 0.31975757575757574, "barrel": 5.715151515151514, "ab_hard_contact": -0.09580660398965658, "ab_bat_speed": 69.6376105508282, "ab_strikeout_rate": 0.19153041729779705, "available_players": 9, "top_players": [{"player_id": "800050", "player_name": "Chase DeLauter", "position": "RF", "weight": 4.0, "quality": 0.6851132659298864, "contact": 1.0199038319320137, "power": 0.41767573846230455, "discipline": 0.8617381306877105, "xwoba": 0.346, "recent_xwoba": 0.346, "barrel": 6.3, "ab_hard_contact": 0.4399909597222753, "ab_bat_speed": 69.96645661597972, "ab_strikeout_rate": 0.1463685474189676, "available": 1.0}, {"player_id": "677587", "player_name": "Brayan Rocchio", "position": "SS", "weight": 3.0, "quality": -0.43497326578051737, "contact": -0.31060163416013786, "power": -0.7262924960328402, "discipline": 0.09286007946722233, "xwoba": 0.294, "recent_xwoba": 0.294, "barrel": 2.9, "ab_hard_contact": -0.5128975397044175, "ab_bat_speed": 68.84742151360544, "ab_strikeout_rate": 0.14203231292517007, "available": 1.0}, {"player_id": "680757", "player_name": "Steven Kwan", "position": "CF", "weight": 4.0, "quality": -0.2603459813350393, "contact": 0.09193386543373923, "power": -1.2198986439724582, "discipline": 1.6009967427745206, "xwoba": 0.329, "recent_xwoba": 0.329, "barrel": 0.4, "ab_hard_contact": -0.679115736592031, "ab_bat_speed": 61.13357732706252, "ab_strikeout_rate": 0.09382422104644327, "available": 1.0}, {"player_id": "666176", "player_name": "Jo Adell", "position": "DH", "weight": 4.0, "quality": 0.3687970428584988, "contact": 0.4036481057653567, "power": 0.6056087008777206, "discipline": -0.6249783559069273, "xwoba": 0.329, "recent_xwoba": 0.329, "barrel": 8.9, "ab_hard_contact": 0.4234121127924978, "ab_bat_speed": 75.66038783608683, "ab_strikeout_rate": 0.2590136054421769, "available": 1.0}, {"player_id": "663993", "player_name": "Nathaniel Lowe", "position": "1B", "weight": 4.0, "quality": 0.38001022677653395, "contact": 0.4691124922871121, "power": 0.43010485771086193, "discipline": 0.058430400256088366, "xwoba": 0.335, "recent_xwoba": 0.335, "barrel": 8.4, "ab_hard_contact": 0.13200191612200524, "ab_bat_speed": 73.60725835517694, "ab_strikeout_rate": 0.2686762778505898, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "641743", "player_name": "Anthony Kay", "quality": -0.338959383747517, "contact": -0.3627341557312044, "command": -0.4073158541194256, "movement": -0.2198221522728276, "xwoba": 0.342, "whiff": 23.4, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 4, "home_runs": 5, "winner_side": "home"}, "adjusted_score": {"away_runs": 4, "home_runs": 5, "winner_side": "home"}, "signals": {"season_quality_edge_home_minus_away": -0.1605, "recent_form_edge_home_minus_away": -0.03, "pitcher_matchup_edge_home_minus_away": 0.049, "composite_home_edge": 0.192, "existing_home_win_probability": 0.5256, "refreshed_home_win_probability": 0.5948, "winner_support_before_review": 0.192}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.525605, "uncapped_away_win_probability": 0.474395, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.525605, "discount_factor": 0.7225, "published_confidence": 0.5185, "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.59485, "incoming_favoured_side": "home", "score_winner_side": "home", "published_home_win_probability": 0.5185, "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": "CHW 4 - 5 CLE", "confidence": 0.5184996125, "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": "CHW 4 - 5 CLE", "winner": "CLE"}, "final_simulation_score": {"away_runs": 4, "home_runs": 5, "score_text": "CHW 4 - 5 CLE", "winner": "CLE"}, "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.049, "recent_form_edge_home_minus_away": -0.03, "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": "CLE", "model_winner": "CLE", "simulation_winner": "CLE", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 2, "published_winner": "CLE", "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.1605, "winner": "CLE", "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": "CLE", "display_confidence": 0.5185, "internal_signal_score": 0.5507, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5185, "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": "neutral_totals", "winner_accuracy_and_margin_accuracy_decoupled": true, "signals": {"final_margin": 1, "winner_quality_edge": -0.1605, "winner_recent_form_edge": 0.04, "winner_pitcher_matchup_edge": 0.049, "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": 0.0, "total_runs_spread": {"min": 7, "median": 8, "max": 8, "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 predictionCHW 4 - 5 CLECLE0.518enhanced_prediction.pre_simulation_targetTrue
Simulation drawCHW 4 - 5 CLECLE-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.5398; empirical=0.5639; weight=0.5000; final=0.5519
P1H2H margin as base featureavailablehome net=-5; abs=5; home delta=-0.0288; away delta=0.0288
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=2.2500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=-0.2685; recent edge=0.0400; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.9000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5185
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.0534.658-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction450.5185Enhanced 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.5227558159653954,
  "base_low_score_probability": 0.4266614235155328,
  "low_score_signal_threshold": 0.5066614235155328,
  "low_score_signal_strength": 0.09609439244986262,
  "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": 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": 821,
  "near_bucket_sample_size": 821,
  "medium_bucket_sample_size": 890,
  "wide_bucket_sample_size": 1092,
  "global_sample_size": 1131,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5639,
  "bayesian_hit_rate": 0.5626,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5413,
  "raw_pick_probability_unclamped": 0.5413,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.5073,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.526,
  "score_implied_floor_pick_probability": 0.5072,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.541258,
  "uncapped_away_win_probability": 0.458742,
  "calibrated_pick_probability": 0.5256,
  "predicted_side": "home",
  "reliability": 0.978546,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.986055
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.539822,
  "sample_size": 821,
  "empirical_hit_rate": 0.5639,
  "empirical_weight": 0.5,
  "blended_confidence": 0.551861,
  "published_confidence": 0.5185,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": -5.0,
  "absolute_net_margin": 5.0,
  "home_average_margin": -1.0,
  "home_run_delta": -0.0288,
  "away_run_delta": 0.0288,
  "evidence": [
    {
      "game_id": null,
      "home_margin": 3.0
    },
    {
      "game_id": null,
      "home_margin": 1.0
    },
    {
      "game_id": null,
      "home_margin": -4.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -3.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5246913580246914,
    "runs_scored": 678,
    "runs_allowed": 667,
    "run_differential": 11,
    "run_differential_per_game": 0.06790123456790123,
    "available": true
  },
  "away": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185185185185185,
    "runs_scored": 776,
    "runs_allowed": 720,
    "run_differential": 56,
    "run_differential_per_game": 0.345679012345679,
    "available": true
  },
  "run_differential_edge_per_game": -0.2778,
  "win_pct_edge": 0.0062,
  "quality_edge": -0.1605,
  "season_quality_edge": -0.2685,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.2685,
    "recent_quality_edge": 0.04,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.1605
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.01744160494745018
    },
    {
      "home_runs": 4,
      "away_runs": 4,
      "probability": 0.017375707797229457
    },
    {
      "home_runs": 5,
      "away_runs": 5,
      "probability": 0.017334799164934776
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.017269305543902796
    },
    {
      "home_runs": 5,
      "away_runs": 3,
      "probability": 0.015876983281940128
    }
  ],
  "home_distribution": {
    "0": 0.048314403764278285,
    "1": 0.07175173601017976,
    "2": 0.09661848868951951,
    "3": 0.11796688312224266,
    "4": 0.13059664125373613,
    "5": 0.13109192735013284,
    "6": 0.11931414339498507,
    "7": 0.09846456002099437,
    "8": 0.07367836837057504,
    "9": 0.04998872879225278,
    "10": 0.030752202373672564,
    "11": 0.017153486031480765,
    "12": 0.008675621581975525,
    "13": 0.003978513588860975,
    "14": 0.0016542956551136854
  },
  "away_distribution": {
    "0": 0.05009797024117762,
    "1": 0.07431848632840023,
    "2": 0.0997441633368908,
    "3": 0.12111335612248927,
    "4": 0.13304865753377382,
    "5": 0.13223391794855024,
    "6": 0.11890199614517424,
    "7": 0.09672736041242856,
    "8": 0.07119072868340738,
    "9": 0.0474036137658919,
    "10": 0.028557052144400165,
    "11": 0.015564286235275058,
    "12": 0.007674656641990396,
    "13": 0.003423754460150115
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.56,
  "winner_flipped": false,
  "reasons": [
    "recent head-to-head is split and volatile",
    "recent head-to-head margin does not support a strong repeat pick",
    "a prior same-side pick already missed against the actual result"
  ],
  "signals": {
    "predicted_team": "CLE",
    "opponent_team": "CHW",
    "h2h_net_margin": 0,
    "opponent_breakout": false,
    "opponent_blowout_win": false,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-16",
        "predicted_team_runs": 6,
        "opponent_runs": 3,
        "margin_for_predicted_team": 3,
        "winner": "CLE"
      },
      {
        "date": "2026-09-15",
        "predicted_team_runs": 7,
        "opponent_runs": 6,
        "margin_for_predicted_team": 1,
        "winner": "CLE"
      },
      {
        "date": "2026-09-14",
        "predicted_team_runs": 3,
        "opponent_runs": 7,
        "margin_for_predicted_team": -4,
        "winner": "CHW"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 12,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20261003",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CHW",
          "actual_margin": 3,
          "raw_pick_probability": 0.5229980000000001,
          "artifact": "20261003_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260916",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CLE",
          "actual_margin": 3,
          "raw_pick_probability": 0.556513,
          "artifact": "20260916_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260915",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CLE",
          "actual_margin": 1,
          "raw_pick_probability": 0.544573,
          "artifact": "20260915_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260914",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CHW",
          "actual_margin": 4,
          "raw_pick_probability": 0.505654,
          "artifact": "20260914_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260809",
          "away": "CLE",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "CHW",
          "actual_winner": "CHW",
          "actual_margin": 2,
          "raw_pick_probability": 0.56,
          "artifact": "20260809_CLE@CHW.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "CLE",
    "guardrail_opponent_team": "CHW",
    "output_pre_simulation_winner": "CLE",
    "output_opponent_team": "CHW",
    "simulation_score_winner": "CLE",
    "final_score_winner": "CLE",
    "pre_simulation_winner": "CLE",
    "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": "CHW 4 - 5 CLE",
      "winner": "CLE"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "CHW 4 - 5 CLE",
      "winner": "CLE"
    },
    "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.049,
      "recent_form_edge_home_minus_away": -0.03,
      "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": "CLE",
      "model_winner": "CLE",
      "simulation_winner": "CLE",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "CLE",
        "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.1605,
      "winner": "CLE",
      "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": "CLE",
      "games": 162,
      "wins": 85,
      "losses": 77,
      "win_pct": 0.5246913580246914,
      "runs_scored": 678,
      "runs_allowed": 667,
      "run_differential": 11,
      "run_differential_per_game": 0.06790123456790123,
      "available": true
    },
    "away": {
      "team": "CHW",
      "games": 162,
      "wins": 84,
      "losses": 78,
      "win_pct": 0.5185185185185185,
      "runs_scored": 776,
      "runs_allowed": 720,
      "run_differential": 56,
      "run_differential_per_game": 0.345679012345679,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": 0.1,
  "final_margin": 0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.1605,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.551861,
  "final_confidence": 0.5256,
  "calibrated_pick_probability": 0.5256,
  "shrinkage_weight": 0.986055,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 821,
  "calibration_empirical_hit_rate": 0.5639,
  "calibration_bayesian_hit_rate": 0.5626,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.1605,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 5
    },
    "margin": 1,
    "probability_before": 0.525605,
    "margin_implied_home_probability": 0.572388,
    "shrinkage_weight": 0.986055,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.525605,
    "aligned_pick_probability": 0.525605
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 32,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "CHW 4 - 5 CLE",
    "winner": "CLE"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 5,
    "score_text": "CHW 4 - 5 CLE",
    "winner": "CLE"
  },
  "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.049,
    "recent_form_edge_home_minus_away": -0.03,
    "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": "CLE",
    "model_winner": "CLE",
    "simulation_winner": "CLE",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 2,
      "published_winner": "CLE",
      "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.1605,
    "winner": "CLE",
    "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.5184996125,
  "home_win_probability": 0.5184996125,
  "away_win_probability": 0.4815003875,
  "predicted_score_text": "CHW 4 - 5 CLE",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "CHW",
      "original_runs": 4,
      "run_delta": -0.1691,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 31.0,
        "quality": 0.20061598810045134,
        "contact": 0.13385046119581112,
        "power": 0.3340160534701457,
        "discipline": 0.06781188765425736,
        "xwoba": 0.3295161290322581,
        "recent_xwoba": 0.3295161290322581,
        "barrel": 9.825806451612904,
        "ab_hard_contact": 0.18022890350429321,
        "ab_bat_speed": 69.76851619677676,
        "ab_strikeout_rate": 0.26424390315959806,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "808959",
            "player_name": "Munetaka Murakami",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.8250851188870992,
            "contact": 0.3690512901662923,
            "power": 1.7446519928411803,
            "discipline": -0.08415194258297673,
            "xwoba": 0.351,
            "recent_xwoba": 0.351,
            "barrel": 20.5,
            "ab_hard_contact": 0.8118969996807419,
            "ab_bat_speed": 73.14047844827586,
            "ab_strikeout_rate": 0.3649014778325123,
            "available": 1.0
          },
          {
            "player_id": "678246",
            "player_name": "Miguel Vargas",
            "position": "3B",
            "weight": 4.0,
            "quality": 1.0124378036314987,
            "contact": 0.9855242917270529,
            "power": 1.1471618233528365,
            "discipline": 0.9850155946934471,
            "xwoba": 0.378,
            "recent_xwoba": 0.378,
            "barrel": 13.0,
            "ab_hard_contact": 0.7655221813424515,
            "ab_bat_speed": 72.6348808991158,
            "ab_strikeout_rate": 0.18509108341323108,
            "available": 1.0
          },
          {
            "player_id": "805367",
            "player_name": "Chase Meidroth",
            "position": "2B",
            "weight": 3.0,
            "quality": -0.36065419515144226,
            "contact": -0.2681916119183442,
            "power": -0.5522273360814376,
            "discipline": 0.28802797440297456,
            "xwoba": 0.301,
            "recent_xwoba": 0.301,
            "barrel": 4.6,
            "ab_hard_contact": -0.6148324359144686,
            "ab_bat_speed": 64.30609355709878,
            "ab_strikeout_rate": 0.22379298941798942,
            "available": 1.0
          },
          {
            "player_id": "695657",
            "player_name": "Colson Montgomery",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.273775716178393,
            "contact": -0.7182543847035345,
            "power": 0.35869520601172783,
            "discipline": -0.9236800422152533,
            "xwoba": 0.294,
            "recent_xwoba": 0.294,
            "barrel": 12.0,
            "ab_hard_contact": 0.36666602499646367,
            "ab_bat_speed": 74.80167379275653,
            "ab_strikeout_rate": 0.3513581488933602,
            "available": 1.0
          },
          {
            "player_id": "803011",
            "player_name": "Sam Antonacci",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.2258623095223891,
            "contact": 0.6076162398121087,
            "power": -0.23627065027240549,
            "discipline": 0.49326319342598424,
            "xwoba": 0.348,
            "recent_xwoba": 0.348,
            "barrel": 5.0,
            "ab_hard_contact": -0.10103205306716208,
            "ab_bat_speed": 68.13744058805106,
            "ab_strikeout_rate": 0.15012919896640828,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "668909",
        "player_name": "Gavin Williams",
        "quality": 0.2978196427625173,
        "contact": 0.00676738371165328,
        "command": 0.8326841458805745,
        "movement": 0.5288565493116775,
        "xwoba": 0.302,
        "whiff": 32.8,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "CLE",
      "original_runs": 5,
      "run_delta": 0.2405,
      "adjusted_runs": 5,
      "lineup": {
        "players_used": 9,
        "total_weight": 33.0,
        "quality": 0.08783973362229333,
        "contact": 0.21386448980642986,
        "power": -0.09085382226297484,
        "discipline": 0.2958489880816083,
        "xwoba": 0.31975757575757574,
        "recent_xwoba": 0.31975757575757574,
        "barrel": 5.715151515151514,
        "ab_hard_contact": -0.09580660398965658,
        "ab_bat_speed": 69.6376105508282,
        "ab_strikeout_rate": 0.19153041729779705,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "800050",
            "player_name": "Chase DeLauter",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.6851132659298864,
            "contact": 1.0199038319320137,
            "power": 0.41767573846230455,
            "discipline": 0.8617381306877105,
            "xwoba": 0.346,
            "recent_xwoba": 0.346,
            "barrel": 6.3,
            "ab_hard_contact": 0.4399909597222753,
            "ab_bat_speed": 69.96645661597972,
            "ab_strikeout_rate": 0.1463685474189676,
            "available": 1.0
          },
          {
            "player_id": "677587",
            "player_name": "Brayan Rocchio",
            "position": "SS",
            "weight": 3.0,
            "quality": -0.43497326578051737,
            "contact": -0.31060163416013786,
            "power": -0.7262924960328402,
            "discipline": 0.09286007946722233,
            "xwoba": 0.294,
            "recent_xwoba": 0.294,
            "barrel": 2.9,
            "ab_hard_contact": -0.5128975397044175,
            "ab_bat_speed": 68.84742151360544,
            "ab_strikeout_rate": 0.14203231292517007,
            "available": 1.0
          },
          {
            "player_id": "680757",
            "player_name": "Steven Kwan",
            "position": "CF",
            "weight": 4.0,
            "quality": -0.2603459813350393,
            "contact": 0.09193386543373923,
            "power": -1.2198986439724582,
            "discipline": 1.6009967427745206,
            "xwoba": 0.329,
            "recent_xwoba": 0.329,
            "barrel": 0.4,
            "ab_hard_contact": -0.679115736592031,
            "ab_bat_speed": 61.13357732706252,
            "ab_strikeout_rate": 0.09382422104644327,
            "available": 1.0
          },
          {
            "player_id": "666176",
            "player_name": "Jo Adell",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.3687970428584988,
            "contact": 0.4036481057653567,
            "power": 0.6056087008777206,
            "discipline": -0.6249783559069273,
            "xwoba": 0.329,
            "recent_xwoba": 0.329,
            "barrel": 8.9,
            "ab_hard_contact": 0.4234121127924978,
            "ab_bat_speed": 75.66038783608683,
            "ab_strikeout_rate": 0.2590136054421769,
            "available": 1.0
          },
          {
            "player_id": "663993",
            "player_name": "Nathaniel Lowe",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.38001022677653395,
            "contact": 0.4691124922871121,
            "power": 0.43010485771086193,
            "discipline": 0.058430400256088366,
            "xwoba": 0.335,
            "recent_xwoba": 0.335,
            "barrel": 8.4,
            "ab_hard_contact": 0.13200191612200524,
            "ab_bat_speed": 73.60725835517694,
            "ab_strikeout_rate": 0.2686762778505898,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "641743",
        "player_name": "Anthony Kay",
        "quality": -0.338959383747517,
        "contact": -0.3627341557312044,
        "command": -0.4073158541194256,
        "movement": -0.2198221522728276,
        "xwoba": 0.342,
        "whiff": 23.4,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 4,
      "home_runs": 5,
      "winner_side": "home"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 5,
      "winner_side": "home"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.1605,
      "recent_form_edge_home_minus_away": -0.03,
      "pitcher_matchup_edge_home_minus_away": 0.049,
      "composite_home_edge": 0.192,
      "existing_home_win_probability": 0.5256,
      "refreshed_home_win_probability": 0.5948,
      "winner_support_before_review": 0.192
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.525605,
  "uncapped_away_win_probability": 0.474395,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.525605,
    "discount_factor": 0.7225,
    "published_confidence": 0.5185,
    "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.59485,
    "incoming_favoured_side": "home",
    "score_winner_side": "home",
    "published_home_win_probability": 0.5185,
    "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": "CHW 4 - 5 CLE",
    "confidence": 0.5184996125,
    "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": "CHW 4 - 5 CLE",
      "winner": "CLE"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 5,
      "score_text": "CHW 4 - 5 CLE",
      "winner": "CLE"
    },
    "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.049,
      "recent_form_edge_home_minus_away": -0.03,
      "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": "CLE",
      "model_winner": "CLE",
      "simulation_winner": "CLE",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "CLE",
        "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.1605,
      "winner": "CLE",
      "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": "CLE",
    "display_confidence": 0.5185,
    "internal_signal_score": 0.5507,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5185,
    "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": "neutral_totals",
    "winner_accuracy_and_margin_accuracy_decoupled": true,
    "signals": {
      "final_margin": 1,
      "winner_quality_edge": -0.1605,
      "winner_recent_form_edge": 0.04,
      "winner_pitcher_matchup_edge": 0.049,
      "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": 0.0,
      "total_runs_spread": {
        "min": 7,
        "median": 8,
        "max": 8,
        "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 CHWTrue1.03221.0322190
Home CLETrue1.02221.0222190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
LFSam Antonacci-1.04460.5947neutral0.34800.28400.3990533.6087.509.9014.7014.707.700.0857
1BMunetaka Murakami-1.08351.1131neutral0.35100.20400.469020.5056.8093.9016.1042.3035.4016.60-0.1429
3BMiguel Vargas-1.10951.4598neutral0.37800.26300.49601343.8090.1020.502117.9014.300.4286
RFBraden Montgomery-1.03050.4073neutral0.32500.25500.39204.4040.9088.90330.1019.7010.400.7714
DHAndrew Benintendi-1.02320.3097neutral0.30700.24000.39808.6045.1089.3017.3028.3023.908.30-0.1143
CKyle Teel-1.01310.1752neutral0.32100.21100.375011.4047.1085.7013.6035.6035.4013.200.1143
CFTristan Peters-1.00190.0255neutral0.31400.24800.38405.4034.1087.50182318.307.50-0.7429
2BChase Meidroth-0.9823-0.2365negative_batter_regression0.30100.23900.34804.6034.6087.208.5019.7021.909.50-1.0857
SSColson Montgomery-1.00090.0126neutral0.29400.19900.38801240.9088.6023.6037.4035.608.50-0.1714

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFSteven Kwan-1.00180.0246neutral0.32900.27800.34300.4010.5083.9012.808.209.7013.30-0.1429
DHJo Adell-1.05380.7179neutral0.32900.25700.44408.9044.9090.4016.2028.2023.805.200.6286
3BJosé Ramírez-1.03590.4788neutral0.32500.26600.39104.1038.8088.601915.3012.70110.6857
1BNathaniel Lowe-1.05550.7399neutral0.33500.26800.43708.4041.4089.6014.602223.108.900.1714
LFAngel Martínez-0.9984-0.0218neutral0.29900.25100.40107.2035.5087.5014.8020.7021.903.10-0.7714
RFChase DeLauter-1.06020.8032neutral0.34600.27700.42706.3046.3091.4011.801514.7010.70-0.3714
CPatrick Bailey-1.03300.4406positive_batter_regression0.30700.24000.39807.7042.4090.5013.4026.8026.708.101.0286
2BTravis Bazzana-0.9817-0.2433neutral0.29900.22400.34705.2036.2087.6015.7023.2020.7010.80-0.8286
SSBrayan Rocchio-0.9791-0.2783neutral0.29400.24600.35002.90308713.8022.1014.406.40-0.4857
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0222,
    "raw_average_factor": 1.0222,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "CF",
        "player_id": "680757",
        "player_name": "Steven Kwan",
        "offense_factor": 1.0018,
        "quality_score": 0.0246,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680757",
          "espn_rank": null
        },
        "metrics": {
          "pa": 580.0,
          "k_percent": 9.7,
          "bb_percent": 13.3,
          "woba": 0.334,
          "xwoba": 0.329,
          "xba": 0.278,
          "xslg": 0.343,
          "sweet_spot_percent": 40.6,
          "barrel_batted_rate": 0.4,
          "hard_hit_percent": 10.5,
          "exit_velocity_avg": 83.9,
          "launch_angle_avg": 12.8,
          "whiff_percent": 8.2,
          "swing_percent": 35.7
        },
        "components": {
          "expected_quality": 0.0518,
          "regression_edge": -0.1429,
          "xwoba_edge": 0.8571,
          "xba_edge": 1.2,
          "xslg_edge": -0.2857,
          "barrel_edge": -1.3778,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.8,
          "sweet_spot_edge": 1.2167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "666176",
        "player_name": "Jo Adell",
        "offense_factor": 1.0538,
        "quality_score": 0.7179,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666176",
          "espn_rank": null
        },
        "metrics": {
          "pa": 605.0,
          "k_percent": 23.8,
          "bb_percent": 5.2,
          "woba": 0.307,
          "xwoba": 0.329,
          "xba": 0.257,
          "xslg": 0.444,
          "sweet_spot_percent": 32.2,
          "barrel_batted_rate": 8.9,
          "hard_hit_percent": 44.9,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 16.2,
          "whiff_percent": 28.2,
          "swing_percent": 53.2
        },
        "components": {
          "expected_quality": 0.7325,
          "regression_edge": 0.6286,
          "xwoba_edge": 0.8571,
          "xba_edge": 0.6,
          "xslg_edge": 1.1571,
          "barrel_edge": 0.5111,
          "hard_hit_edge": 1.0429,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.1833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "608070",
        "player_name": "José Ramírez",
        "offense_factor": 1.0359,
        "quality_score": 0.4788,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "608070",
          "espn_rank": null
        },
        "metrics": {
          "pa": 486.0,
          "k_percent": 12.7,
          "bb_percent": 11.0,
          "woba": 0.301,
          "xwoba": 0.325,
          "xba": 0.266,
          "xslg": 0.391,
          "sweet_spot_percent": 35.3,
          "barrel_batted_rate": 4.1,
          "hard_hit_percent": 38.8,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 19.0,
          "whiff_percent": 15.3,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": 0.4451,
          "regression_edge": 0.6857,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.8571,
          "xslg_edge": 0.4,
          "barrel_edge": -0.5556,
          "hard_hit_edge": 0.1714,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": 0.3333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "663993",
        "player_name": "Nathaniel Lowe",
        "offense_factor": 1.0555,
        "quality_score": 0.7399,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663993",
          "espn_rank": null
        },
        "metrics": {
          "pa": 391.0,
          "k_percent": 23.1,
          "bb_percent": 8.9,
          "woba": 0.329,
          "xwoba": 0.335,
          "xba": 0.268,
          "xslg": 0.437,
          "sweet_spot_percent": 39.3,
          "barrel_batted_rate": 8.4,
          "hard_hit_percent": 41.4,
          "exit_velocity_avg": 89.6,
          "launch_angle_avg": 14.6,
          "whiff_percent": 22.0,
          "swing_percent": 46.1
        },
        "components": {
          "expected_quality": 0.8325,
          "regression_edge": 0.1714,
          "xwoba_edge": 1.0286,
          "xba_edge": 0.9143,
          "xslg_edge": 1.0571,
          "barrel_edge": 0.4,
          "hard_hit_edge": 0.5429,
          "exit_velocity_edge": 0.48,
          "sweet_spot_edge": 1.0,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "LF",
        "player_id": "682657",
        "player_name": "Angel Martínez",
        "offense_factor": 0.9984,
        "quality_score": -0.0218,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682657",
          "espn_rank": null
        },
        "metrics": {
          "pa": 374.0,
          "k_percent": 21.9,
          "bb_percent": 3.1,
          "woba": 0.326,
          "xwoba": 0.299,
          "xba": 0.251,
          "xslg": 0.401,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 7.2,
          "hard_hit_percent": 35.5,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 14.8,
          "whiff_percent": 20.7,
          "swing_percent": 54.3
        },
        "components": {
          "expected_quality": 0.1002,
          "regression_edge": -0.7714,
          "xwoba_edge": 0.0,
          "xba_edge": 0.4286,
          "xslg_edge": 0.5429,
          "barrel_edge": 0.1333,
          "hard_hit_edge": -0.3,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "800050",
        "player_name": "Chase DeLauter",
        "offense_factor": 1.0602,
        "quality_score": 0.8032,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "800050",
          "espn_rank": null
        },
        "metrics": {
          "pa": 511.0,
          "k_percent": 14.7,
          "bb_percent": 10.7,
          "woba": 0.359,
          "xwoba": 0.346,
          "xba": 0.277,
          "xslg": 0.427,
          "sweet_spot_percent": 35.1,
          "barrel_batted_rate": 6.3,
          "hard_hit_percent": 46.3,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 11.8,
          "whiff_percent": 15.0,
          "swing_percent": 42.3
        },
        "components": {
          "expected_quality": 0.9944,
          "regression_edge": -0.3714,
          "xwoba_edge": 1.3429,
          "xba_edge": 1.1714,
          "xslg_edge": 0.9143,
          "barrel_edge": -0.0667,
          "hard_hit_edge": 1.2429,
          "exit_velocity_edge": 1.2,
          "sweet_spot_edge": 0.3,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "672275",
        "player_name": "Patrick Bailey",
        "offense_factor": 1.033,
        "quality_score": 0.4406,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "672275",
          "espn_rank": null
        },
        "metrics": {
          "pa": 306.0,
          "k_percent": 26.7,
          "bb_percent": 8.1,
          "woba": 0.271,
          "xwoba": 0.307,
          "xba": 0.24,
          "xslg": 0.398,
          "sweet_spot_percent": 36.6,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 42.4,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 13.4,
          "whiff_percent": 26.8,
          "swing_percent": 49.6
        },
        "components": {
          "expected_quality": 0.3449,
          "regression_edge": 1.0286,
          "xwoba_edge": 0.2286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.5,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.6857,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": 0.55,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "683953",
        "player_name": "Travis Bazzana",
        "offense_factor": 0.9817,
        "quality_score": -0.2433,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683953",
          "espn_rank": null
        },
        "metrics": {
          "pa": 473.0,
          "k_percent": 20.7,
          "bb_percent": 10.8,
          "woba": 0.328,
          "xwoba": 0.299,
          "xba": 0.224,
          "xslg": 0.347,
          "sweet_spot_percent": 30.0,
          "barrel_batted_rate": 5.2,
          "hard_hit_percent": 36.2,
          "exit_velocity_avg": 87.6,
          "launch_angle_avg": 15.7,
          "whiff_percent": 23.2,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": -0.1481,
          "regression_edge": -0.8286,
          "xwoba_edge": 0.0,
          "xba_edge": -0.3429,
          "xslg_edge": -0.2286,
          "barrel_edge": -0.3111,
          "hard_hit_edge": -0.2,
          "exit_velocity_edge": -0.32,
          "sweet_spot_edge": -0.55,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "677587",
        "player_name": "Brayan Rocchio",
        "offense_factor": 0.9791,
        "quality_score": -0.2783,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "677587",
          "espn_rank": null
        },
        "metrics": {
          "pa": 548.0,
          "k_percent": 14.4,
          "bb_percent": 6.4,
          "woba": 0.311,
          "xwoba": 0.294,
          "xba": 0.246,
          "xslg": 0.35,
          "sweet_spot_percent": 34.9,
          "barrel_batted_rate": 2.9,
          "hard_hit_percent": 30.0,
          "exit_velocity_avg": 87.0,
          "launch_angle_avg": 13.8,
          "whiff_percent": 22.1,
          "swing_percent": 50.0
        },
        "components": {
          "expected_quality": -0.2445,
          "regression_edge": -0.4857,
          "xwoba_edge": -0.1429,
          "xba_edge": 0.2857,
          "xslg_edge": -0.1857,
          "barrel_edge": -0.8222,
          "hard_hit_edge": -1.0857,
          "exit_velocity_edge": -0.56,
          "sweet_spot_edge": 0.2667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0322,
    "raw_average_factor": 1.0322,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "LF",
        "player_id": "803011",
        "player_name": "Sam Antonacci",
        "offense_factor": 1.0446,
        "quality_score": 0.5947,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "803011",
          "espn_rank": null
        },
        "metrics": {
          "pa": 511.0,
          "k_percent": 14.7,
          "bb_percent": 7.7,
          "woba": 0.345,
          "xwoba": 0.348,
          "xba": 0.284,
          "xslg": 0.399,
          "sweet_spot_percent": 38.0,
          "barrel_batted_rate": 5.0,
          "hard_hit_percent": 33.6,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 9.9,
          "whiff_percent": 14.7,
          "swing_percent": 42.5
        },
        "components": {
          "expected_quality": 0.6776,
          "regression_edge": 0.0857,
          "xwoba_edge": 1.4,
          "xba_edge": 1.3714,
          "xslg_edge": 0.5143,
          "barrel_edge": -0.3556,
          "hard_hit_edge": -0.5714,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": 0.7833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "1B",
        "player_id": "808959",
        "player_name": "Munetaka Murakami",
        "offense_factor": 1.0835,
        "quality_score": 1.1131,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "808959",
          "espn_rank": null
        },
        "metrics": {
          "pa": 491.0,
          "k_percent": 35.4,
          "bb_percent": 16.6,
          "woba": 0.356,
          "xwoba": 0.351,
          "xba": 0.204,
          "xslg": 0.469,
          "sweet_spot_percent": 30.5,
          "barrel_batted_rate": 20.5,
          "hard_hit_percent": 56.8,
          "exit_velocity_avg": 93.9,
          "launch_angle_avg": 16.1,
          "whiff_percent": 42.3,
          "swing_percent": 40.7
        },
        "components": {
          "expected_quality": 1.3175,
          "regression_edge": -0.1429,
          "xwoba_edge": 1.4857,
          "xba_edge": -0.9143,
          "xslg_edge": 1.5143,
          "barrel_edge": 2.5,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.2,
          "sweet_spot_edge": -0.4667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "678246",
        "player_name": "Miguel Vargas",
        "offense_factor": 1.1095,
        "quality_score": 1.4598,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "678246",
          "espn_rank": null
        },
        "metrics": {
          "pa": 651.0,
          "k_percent": 17.9,
          "bb_percent": 14.3,
          "woba": 0.363,
          "xwoba": 0.378,
          "xba": 0.263,
          "xslg": 0.496,
          "sweet_spot_percent": 39.4,
          "barrel_batted_rate": 13.0,
          "hard_hit_percent": 43.8,
          "exit_velocity_avg": 90.1,
          "launch_angle_avg": 20.5,
          "whiff_percent": 21.0,
          "swing_percent": 43.9
        },
        "components": {
          "expected_quality": 1.6277,
          "regression_edge": 0.4286,
          "xwoba_edge": 2.2571,
          "xba_edge": 0.7714,
          "xslg_edge": 1.9,
          "barrel_edge": 1.4222,
          "hard_hit_edge": 0.8857,
          "exit_velocity_edge": 0.68,
          "sweet_spot_edge": 1.0167,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "RF",
        "player_id": "695731",
        "player_name": "Braden Montgomery",
        "offense_factor": 1.0305,
        "quality_score": 0.4073,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "695731",
          "espn_rank": null
        },
        "metrics": {
          "pa": 332.0,
          "k_percent": 19.7,
          "bb_percent": 10.4,
          "woba": 0.298,
          "xwoba": 0.325,
          "xba": 0.255,
          "xslg": 0.392,
          "sweet_spot_percent": 28.2,
          "barrel_batted_rate": 4.4,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 88.9,
          "launch_angle_avg": 3.0,
          "whiff_percent": 30.1,
          "swing_percent": 50.4
        },
        "components": {
          "expected_quality": 0.348,
          "regression_edge": 0.7714,
          "xwoba_edge": 0.7429,
          "xba_edge": 0.5429,
          "xslg_edge": 0.4143,
          "barrel_edge": -0.4889,
          "hard_hit_edge": 0.4714,
          "exit_velocity_edge": 0.2,
          "sweet_spot_edge": -0.85,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "DH",
        "player_id": "643217",
        "player_name": "Andrew Benintendi",
        "offense_factor": 1.0232,
        "quality_score": 0.3097,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "643217",
          "espn_rank": null
        },
        "metrics": {
          "pa": 435.0,
          "k_percent": 23.9,
          "bb_percent": 8.3,
          "woba": 0.311,
          "xwoba": 0.307,
          "xba": 0.24,
          "xslg": 0.398,
          "sweet_spot_percent": 36.4,
          "barrel_batted_rate": 8.6,
          "hard_hit_percent": 45.1,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 17.3,
          "whiff_percent": 28.3,
          "swing_percent": 51.8
        },
        "components": {
          "expected_quality": 0.3787,
          "regression_edge": -0.1143,
          "xwoba_edge": 0.2286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.5,
          "barrel_edge": 0.4444,
          "hard_hit_edge": 1.0714,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.5167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "691019",
        "player_name": "Kyle Teel",
        "offense_factor": 1.0131,
        "quality_score": 0.1752,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "691019",
          "espn_rank": null
        },
        "metrics": {
          "pa": 106.0,
          "k_percent": 35.4,
          "bb_percent": 13.2,
          "woba": 0.317,
          "xwoba": 0.321,
          "xba": 0.211,
          "xslg": 0.375,
          "sweet_spot_percent": 41.4,
          "barrel_batted_rate": 11.4,
          "hard_hit_percent": 47.1,
          "exit_velocity_avg": 85.7,
          "launch_angle_avg": 13.6,
          "whiff_percent": 35.6,
          "swing_percent": 45.4
        },
        "components": {
          "expected_quality": 0.4042,
          "regression_edge": 0.1143,
          "xwoba_edge": 0.6286,
          "xba_edge": -0.7143,
          "xslg_edge": 0.1714,
          "barrel_edge": 1.0667,
          "hard_hit_edge": 1.3571,
          "exit_velocity_edge": -1.08,
          "sweet_spot_edge": 1.35,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "671976",
        "player_name": "Tristan Peters",
        "offense_factor": 1.0019,
        "quality_score": 0.0255,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671976",
          "espn_rank": null
        },
        "metrics": {
          "pa": 452.0,
          "k_percent": 18.3,
          "bb_percent": 7.5,
          "woba": 0.34,
          "xwoba": 0.314,
          "xba": 0.248,
          "xslg": 0.384,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 5.4,
          "hard_hit_percent": 34.1,
          "exit_velocity_avg": 87.5,
          "launch_angle_avg": 18.0,
          "whiff_percent": 23.0,
          "swing_percent": 53.6
        },
        "components": {
          "expected_quality": 0.1505,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.4286,
          "xba_edge": 0.3429,
          "xslg_edge": 0.3,
          "barrel_edge": -0.2667,
          "hard_hit_edge": -0.5,
          "exit_velocity_edge": -0.36,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "805367",
        "player_name": "Chase Meidroth",
        "offense_factor": 0.9823,
        "quality_score": -0.2365,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "805367",
          "espn_rank": null
        },
        "metrics": {
          "pa": 597.0,
          "k_percent": 21.9,
          "bb_percent": 9.5,
          "woba": 0.339,
          "xwoba": 0.301,
          "xba": 0.239,
          "xslg": 0.348,
          "sweet_spot_percent": 34.1,
          "barrel_batted_rate": 4.6,
          "hard_hit_percent": 34.6,
          "exit_velocity_avg": 87.2,
          "launch_angle_avg": 8.5,
          "whiff_percent": 19.7,
          "swing_percent": 42.0
        },
        "components": {
          "expected_quality": -0.0983,
          "regression_edge": -1.0857,
          "xwoba_edge": 0.0571,
          "xba_edge": 0.0857,
          "xslg_edge": -0.2143,
          "barrel_edge": -0.4444,
          "hard_hit_edge": -0.4286,
          "exit_velocity_edge": -0.48,
          "sweet_spot_edge": 0.1333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "695657",
        "player_name": "Colson Montgomery",
        "offense_factor": 1.0009,
        "quality_score": 0.0126,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "695657",
          "espn_rank": null
        },
        "metrics": {
          "pa": 588.0,
          "k_percent": 35.6,
          "bb_percent": 8.5,
          "woba": 0.3,
          "xwoba": 0.294,
          "xba": 0.199,
          "xslg": 0.388,
          "sweet_spot_percent": 32.9,
          "barrel_batted_rate": 12.0,
          "hard_hit_percent": 40.9,
          "exit_velocity_avg": 88.6,
          "launch_angle_avg": 23.6,
          "whiff_percent": 37.4,
          "swing_percent": 51.5
        },
        "components": {
          "expected_quality": 0.0426,
          "regression_edge": -0.1714,
          "xwoba_edge": -0.1429,
          "xba_edge": -1.0571,
          "xslg_edge": 0.3571,
          "barrel_edge": 1.2,
          "hard_hit_edge": 0.4714,
          "exit_velocity_edge": 0.08,
          "sweet_spot_edge": -0.0667,
          "launch_angle_hr_bonus": 0.0
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}

Savant Pitcher Quality

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

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away CHWAnthony KayTrue--0.344711.02930.96740.97401.0474neutral0.34200.339018.207.9023.408.1038.90
Home CLEGavin WilliamsTrue-0.221210.98121.10690.98001.1158neutral0.30200.294033.208.2032.8011.4046.60

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CHWAnthony KayTrueNone6690.042296000000000.0101
Home CLEGavin WilliamsTrueNone9290.982292000000000.0624
Run FactorValue
away_runs_vs_home_pitcher0.9924
home_runs_vs_away_pitcher1.0141
home_pitcher_starter_only_factor0.9812
away_pitcher_starter_only_factor1.0293
home_pitcher_workload_share0.6296
away_pitcher_workload_share0.5185
home_pitcher_quality_edge0.3180
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "668909",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 700.0,
      "k_percent": 33.2,
      "bb_percent": 8.2,
      "woba": 0.294,
      "xwoba": 0.302,
      "sweet_spot_percent": 35.0,
      "barrel_batted_rate": 11.4,
      "hard_hit_percent": 46.6,
      "avg_best_speed": 79.2974,
      "avg_hyper_speed": 94.9953,
      "whiff_percent": 32.8,
      "swing_percent": 49.1
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.1041,
      "command_and_miss": 1.1436,
      "regression_edge": -0.2286,
      "xwoba_edge": 0.2857,
      "barrel_edge": -0.9333,
      "hard_hit_edge": -1.2429,
      "whiff_edge": 1.0857,
      "bb_edge": 0.25,
      "pitch_design_score": 0.0624
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "668909",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 92,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 92,
        "pitch_usage": 0.0,
        "release_speed": 90.97845935651245,
        "release_spin_rate": 2292.19753528252,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 92,
          "pitch_usage": 0.0,
          "release_speed": 90.97845935651245,
          "release_spin_rate": 2292.19753528252,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.9785,
        "release_spin_rate": 2292.1975,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0624,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.4457,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.2212,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9812,
    "strikeout_factor": 1.1069,
    "walk_factor": 0.98,
    "homer_factor": 1.1158,
    "woba_minus_xwoba": -0.008,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "668909",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "641743",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 659.0,
      "k_percent": 18.2,
      "bb_percent": 7.9,
      "woba": 0.339,
      "xwoba": 0.342,
      "sweet_spot_percent": 34.3,
      "barrel_batted_rate": 8.1,
      "hard_hit_percent": 38.9,
      "avg_best_speed": 76.4956,
      "avg_hyper_speed": 94.2252,
      "whiff_percent": 23.4,
      "swing_percent": 47.3
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": -0.4736,
      "command_and_miss": -0.2757,
      "regression_edge": -0.0857,
      "xwoba_edge": -0.8571,
      "barrel_edge": -0.2,
      "hard_hit_edge": -0.1429,
      "whiff_edge": -0.2571,
      "bb_edge": 0.325,
      "pitch_design_score": 0.0101
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "641743",
      "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": 90.04480777448889,
        "release_spin_rate": 2295.850070240423,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 90.04480777448889,
          "release_spin_rate": 2295.850070240423,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.0448,
        "release_spin_rate": 2295.8501,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0101,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.0723,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.3447,
    "sample_weight": 1.0,
    "run_prevention_factor": 1.0293,
    "strikeout_factor": 0.9674,
    "walk_factor": 0.974,
    "homer_factor": 1.0474,
    "woba_minus_xwoba": -0.003,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "641743",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9924,
    "home_runs_vs_away_pitcher": 1.0141,
    "home_pitcher_starter_only_factor": 0.9812,
    "away_pitcher_starter_only_factor": 1.0293,
    "home_pitcher_workload_share": 0.6296,
    "away_pitcher_workload_share": 0.5185,
    "home_pitcher_quality_edge": 0.318
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 5.0
  },
  "score_after": {
    "away_runs": 3.9695,
    "home_runs": 5.0703,
    "home_win_probability": 0.5993
  },
  "reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}

Team Form Snapshot

TeamLast-10 W-LWin %R/GRA/GRun DiffStreakOffenseDefense
Away CHW7-30.7006.504.30221Whotaverage
Home CLE8-20.8005.303.20211Lhotstrong

Season Run Differential

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

Recent Head-to-Head

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

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target CHW--4----
Game target CLE--5----
Player finalized CHW317514411
Player finalized CLE33851437
Player model fractional CHW31.086.624.781.114.593.7510.93
Player model fractional CLE33.107.563.951.013.953.106.01
Simulation box CHW371041416
Simulation box CLE33951516

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 CHWStarterAnthony Kay4.2014514.241.44True
Away CHWCloserGrant Taylor1.1041402.020.93True
Away CHWSetup ManBryan Hudson101003.441.27True
Away CHWMiddle Reliever (High Leverage)Sean Newcomb100004.681.35True
Home CLEStarterGavin Williams5.2036603.441.16True
Home CLECloserCade Smith100201.420.71True
Home CLEMiddle Reliever (High Leverage)Erik Sabrowski1.1010202.761.16True
Home CLESetup ManHunter Gaddis100014.891.67True
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
homeCLEpitcherStarterGavin Williamsneutral21111predicted_SO3.0000boostbetter
awayCHWbatterLFSam Antonaccibetter118392predicted_RBI2.6480boostbetter
homeCLEbatterSSBrayan Rocchiobetter106473predicted_RBI2.4700boostbetter
awayCHWbatterSSColson Montgomeryworse114756predicted_H2.2200boostbetter
homeCLEpitcherMiddle Reliever (High Leverage)Erik Sabrowskineutral21111predicted_SO-2.0000deboostworse
awayCHWbatterCKyle Teelworse113829predicted_SO1.6340boostworse
awayCHWbatter3BMiguel Vargasbetter115665predicted_H1.2200boostbetter
awayCHWbatterRFBraden Montgomerybetter115665predicted_H1.2110boostbetter
homeCLEbatter1BNathaniel Loweworse102819predicted_SO1.1710boostworse
homeCLEbatter2BTravis Bazzanabetter95463predicted_H1.1600boostbetter
awayCHWbatterDHAndrew Benintendiworse113847predicted_AB1.0350boostbetter
awayCHWbatterCFTristan Petersworse102819predicted_AB1.0270boostbetter
homeCLEpitcherCloserCade Smithworse10101predicted_SO-1.0000deboostworse
homeCLEbatter3BJosé Ramírezworse1019010predicted_H-0.9600deboostworse
awayCHWbatter2BChase Meidrothworse114738predicted_H-0.9500deboostworse
homeCLEbatterCPatrick Baileydeboosted104655predicted_2B0.9190boostbetter
awayCHWbatter1BMunetaka Murakamiworse91827predicted_H-0.7460deboostworse
homeCLEbatterLFAngel Martínezworse103728predicted_RBI-0.7000deboostworse
homeCLEbatterDHJo Adellworse93636predicted_RBI-0.5850deboostworse
homeCLEbatterCFSteven Kwanbetter84453predicted_BB-0.5680deboostworse
homeCLEbatterRFChase DeLauterworse82617predicted_R0.5430boostbetter
awayCHWpitcherStarterAnthony Kayworse10101predicted_IP-0.4667deboostworse
awayCHWpitcherCloserGrant Taylorworse10101predicted_IP-0.2333deboostworse

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

Away Team: CHW

Away Pitcher Deep Analysis

FieldValue
PitcherAnthony Kay
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.3447
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0101
Avg Velo90.0448
Avg Spin2295.8501
HB Inches0
IVB Inches0
Release Extension0
Pre IP4.2000
Pre ER1
Pre H5
Pre BB1
Pre SO4
Season ERA4.3875
Season WHIP1.3750
Role Avg IP4.8710
Recent Avg IP4.2670
Last Start IP5
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0667,
    "defense_index": 1.0104,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.1281
  },
  "opponent": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.932,
    "defense_index": 1.0907,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0667,
    "opponent_offense_edge": -0.068,
    "defense_strength": 0.0104,
    "opponent_defense_weakness": -0.0907,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0028,
    "run_prevention": 0.9884,
    "strikeout": 1.0053
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "641743",
    "profile": {
      "available": true,
      "pitcher_id": "641743",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 659.0,
        "k_percent": 18.2,
        "bb_percent": 7.9,
        "woba": 0.339,
        "xwoba": 0.342,
        "sweet_spot_percent": 34.3,
        "barrel_batted_rate": 8.1,
        "hard_hit_percent": 38.9,
        "avg_best_speed": 76.4956,
        "avg_hyper_speed": 94.2252,
        "whiff_percent": 23.4,
        "swing_percent": 47.3
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.4736,
        "command_and_miss": -0.2757,
        "regression_edge": -0.0857,
        "xwoba_edge": -0.8571,
        "barrel_edge": -0.2,
        "hard_hit_edge": -0.1429,
        "whiff_edge": -0.2571,
        "bb_edge": 0.325,
        "pitch_design_score": 0.0101
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "641743",
        "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": 90.04480777448889,
          "release_spin_rate": 2295.850070240423,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 90.04480777448889,
            "release_spin_rate": 2295.850070240423,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0448,
          "release_spin_rate": 2295.8501,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0101,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.0723,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.3447,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0293,
      "strikeout_factor": 0.9674,
      "walk_factor": 0.974,
      "homer_factor": 1.0474,
      "woba_minus_xwoba": -0.003,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "641743",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 3.0,
        "factor": 1.0293,
        "adjusted": 3
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 1.0293,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.974,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 1.0474,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 0.9674,
        "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.2,
    "ER": 24,
    "H": 43,
    "BB": 14,
    "SO": 31,
    "HR": 5,
    "ERA": 5.586206896551724,
    "WHIP": 1.4741379310344829,
    "K9": 7.2155172413793105,
    "HR9": 1.163793103448276,
    "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-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "641743",
  "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": 90.04480777448889,
    "release_spin_rate": 2295.850070240423,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 90.04480777448889,
      "release_spin_rate": 2295.850070240423,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0448,
    "release_spin_rate": 2295.8501,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0101,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.0723,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 35.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.875,
    "prior_weight": 0.125
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "641743",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 35,
  "reference_playing_time": 4.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 15.0,
        "ER": 5.0,
        "R": 7.0,
        "H": 15.0,
        "BB": 7.0,
        "SO": 11.0,
        "HR": 1.0,
        "BF": 67.0,
        "Pitches": 238.0
      },
      "per_game": {
        "IP": 3.0,
        "ER": 1.0,
        "R": 1.4,
        "H": 3.0,
        "BB": 1.4,
        "SO": 2.2,
        "HR": 0.2,
        "BF": 13.4,
        "Pitches": 47.6
      },
      "rates": {
        "ERA": 3.0,
        "WHIP": 1.4667,
        "ER_per_IP": 0.33333,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.46667,
        "SO_per_IP": 0.73333,
        "HR_per_IP": 0.06667
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 38.2,
        "ER": 24.0,
        "R": 27.0,
        "H": 43.0,
        "BB": 14.0,
        "SO": 31.0,
        "HR": 5.0,
        "BF": 178.0,
        "Pitches": 669.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 2.4,
        "R": 2.7,
        "H": 4.3,
        "BB": 1.4,
        "SO": 3.1,
        "HR": 0.5,
        "BF": 17.8,
        "Pitches": 66.9
      },
      "rates": {
        "ERA": 5.5862,
        "WHIP": 1.4741,
        "ER_per_IP": 0.62069,
        "H_per_IP": 1.11207,
        "BB_per_IP": 0.36207,
        "SO_per_IP": 0.80172,
        "HR_per_IP": 0.12931
      }
    },
    "season": {
      "games": 35,
      "totals": {
        "IP": 160.0,
        "ER": 78.0,
        "R": 85.0,
        "H": 162.0,
        "BB": 58.0,
        "SO": 129.0,
        "HR": 21.0,
        "BF": 719.0,
        "Pitches": 2821.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.2286,
        "R": 2.4286,
        "H": 4.6286,
        "BB": 1.6571,
        "SO": 3.6857,
        "HR": 0.6,
        "BF": 20.5429,
        "Pitches": 80.6
      },
      "rates": {
        "ERA": 4.3875,
        "WHIP": 1.375,
        "ER_per_IP": 0.4875,
        "H_per_IP": 1.0125,
        "BB_per_IP": 0.3625,
        "SO_per_IP": 0.80625,
        "HR_per_IP": 0.13125
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.2,
    "predicted_ER": 1.792,
    "predicted_H": 3.938,
    "predicted_BB": 1.544,
    "predicted_SO": 3.015,
    "predicted_HR": 0.408,
    "predicted_ERA": 4.2372,
    "predicted_WHIP": 1.4401
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4028,
  "form_weight": 0.5972,
  "form_reliability": 0.875,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 35.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.875,
    "prior_weight": 0.125
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 4.2,
      "form": 3.2,
      "final": 4.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.792,
      "final": 1.473,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 5.0,
      "form": 3.938,
      "final": 4.3658,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.544,
      "final": 1.3249,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 3.015,
      "final": 3.4118,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.408,
      "final": 0.2437,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.2372,
      "final": 4.2372,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4401,
      "final": 1.4401,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherGrant Taylor
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5158
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1725
Avg Velo92.9447
Avg Spin2431.2963
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER4
Pre H4
Pre BB0
Pre SO1
Season ERA2.3964
Season WHIP1.0296
Role Avg IP1.3870
Recent Avg IP1.6000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0667,
    "defense_index": 1.0104,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.1281
  },
  "opponent": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.932,
    "defense_index": 1.0907,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0667,
    "opponent_offense_edge": -0.068,
    "defense_strength": 0.0104,
    "opponent_defense_weakness": -0.0907,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0028,
    "run_prevention": 0.9884,
    "strikeout": 1.0053
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "691799",
    "profile": {
      "available": true,
      "pitcher_id": "691799",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 218.0,
        "k_percent": 31.5,
        "bb_percent": 8.9,
        "woba": 0.26,
        "xwoba": 0.267,
        "sweet_spot_percent": 31.2,
        "barrel_batted_rate": 7.6,
        "hard_hit_percent": 41.2,
        "avg_best_speed": 79.5796,
        "avg_hyper_speed": 94.1935,
        "whiff_percent": 29.4,
        "swing_percent": 46.5
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6824,
        "command_and_miss": 0.8293,
        "regression_edge": -0.2,
        "xwoba_edge": 1.2857,
        "barrel_edge": -0.0889,
        "hard_hit_edge": -0.4714,
        "whiff_edge": 0.6,
        "bb_edge": 0.075,
        "pitch_design_score": 0.1725
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "691799",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 20,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 20,
          "pitch_usage": 0.0,
          "release_speed": 92.94466504167202,
          "release_spin_rate": 2431.296292552188,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 20,
            "pitch_usage": 0.0,
            "release_speed": 92.94466504167202,
            "release_spin_rate": 2431.296292552188,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 92.9447,
          "release_spin_rate": 2431.2963,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.1725,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 1.2322,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.5158,
      "sample_weight": 0.872,
      "run_prevention_factor": 0.9562,
      "strikeout_factor": 1.0678,
      "walk_factor": 0.9948,
      "homer_factor": 0.989,
      "woba_minus_xwoba": -0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "691799",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9618,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9618,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9955,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9904,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0591,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 15.0,
    "ER": 2,
    "H": 5,
    "BB": 6,
    "SO": 16,
    "HR": 1,
    "ERA": 1.2,
    "WHIP": 0.7333333333333333,
    "K9": 9.6,
    "HR9": 0.6,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-02T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "691799",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 20,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 20,
    "pitch_usage": 0.0,
    "release_speed": 92.94466504167202,
    "release_spin_rate": 2431.296292552188,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 20,
      "pitch_usage": 0.0,
      "release_speed": 92.94466504167202,
      "release_spin_rate": 2431.296292552188,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 92.9447,
    "release_spin_rate": 2431.2963,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1725,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.2322,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.63,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6993,
    "prior_weight": 0.3007
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "691799",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 41,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 8.0,
        "ER": 0.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 1.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.2,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 5.4,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.625,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.125,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 15.0,
        "ER": 2.0,
        "R": 3.0,
        "H": 5.0,
        "BB": 6.0,
        "SO": 16.0,
        "HR": 1.0,
        "BF": 54.0,
        "Pitches": 209.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.5,
        "BB": 0.6,
        "SO": 1.6,
        "HR": 0.1,
        "BF": 5.4,
        "Pitches": 20.9
      },
      "rates": {
        "ERA": 1.2,
        "WHIP": 0.7333,
        "ER_per_IP": 0.13333,
        "H_per_IP": 0.33333,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.06667,
        "HR_per_IP": 0.06667
      }
    },
    "season": {
      "games": 41,
      "totals": {
        "IP": 56.1,
        "ER": 15.0,
        "R": 21.0,
        "H": 40.0,
        "BB": 18.0,
        "SO": 76.0,
        "HR": 4.0,
        "BF": 225.0,
        "Pitches": 905.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.3659,
        "R": 0.5122,
        "H": 0.9756,
        "BB": 0.439,
        "SO": 1.8537,
        "HR": 0.0976,
        "BF": 5.4878,
        "Pitches": 22.0732
      },
      "rates": {
        "ERA": 2.3964,
        "WHIP": 1.0296,
        "ER_per_IP": 0.26627,
        "H_per_IP": 0.71006,
        "BB_per_IP": 0.31953,
        "SO_per_IP": 1.34911,
        "HR_per_IP": 0.07101
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.322,
    "predicted_H": 0.912,
    "predicted_BB": 0.426,
    "predicted_SO": 1.56,
    "predicted_HR": 0.102,
    "predicted_ERA": 2.0177,
    "predicted_WHIP": 0.9305
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.477,
  "form_weight": 0.523,
  "form_reliability": 0.6993,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.63,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6993,
    "prior_weight": 0.3007
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 0.322,
      "final": 2.0766,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 0.912,
      "final": 2.3851,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.426,
      "final": 0.2228,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.56,
      "final": 1.2929,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.102,
      "final": 0.5304,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0177,
      "final": 2.0177,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9305,
      "final": 0.9305,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBryan Hudson
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4091
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0787
Avg Velo88.4591
Avg Spin2154.7309
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA2.6173
Season WHIP1.1633
Role Avg IP0.9600
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0667,
    "defense_index": 1.0104,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.1281
  },
  "opponent": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.932,
    "defense_index": 1.0907,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0667,
    "opponent_offense_edge": -0.068,
    "defense_strength": 0.0104,
    "opponent_defense_weakness": -0.0907,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0028,
    "run_prevention": 0.9884,
    "strikeout": 1.0053
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663542",
    "profile": {
      "available": true,
      "pitcher_id": "663542",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 256.0,
        "k_percent": 20.9,
        "bb_percent": 6.4,
        "woba": 0.304,
        "xwoba": 0.277,
        "sweet_spot_percent": 29.5,
        "barrel_batted_rate": 4.0,
        "hard_hit_percent": 37.0,
        "avg_best_speed": 77.039,
        "avg_hyper_speed": 93.3019,
        "whiff_percent": 23.1,
        "swing_percent": 47.9
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6236,
        "command_and_miss": -0.0421,
        "regression_edge": 0.7714,
        "xwoba_edge": 1.0,
        "barrel_edge": 0.7111,
        "hard_hit_edge": 0.1286,
        "whiff_edge": -0.3,
        "bb_edge": 0.7,
        "pitch_design_score": -0.0787
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "663542",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 13,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 13,
          "pitch_usage": 0.0,
          "release_speed": 88.45909611346684,
          "release_spin_rate": 2154.7309004103313,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 13,
            "pitch_usage": 0.0,
            "release_speed": 88.45909611346684,
            "release_spin_rate": 2154.7309004103313,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 88.4591,
          "release_spin_rate": 2154.7309,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0787,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.562,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.4091,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9652,
      "strikeout_factor": 0.9811,
      "walk_factor": 0.944,
      "homer_factor": 0.908,
      "woba_minus_xwoba": 0.027,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "663542",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9652,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9652,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.944,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.908,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9811,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.1,
    "ER": 2,
    "H": 11,
    "BB": 0,
    "SO": 7,
    "HR": 1,
    "ERA": 1.741935483870968,
    "WHIP": 1.0645161290322582,
    "K9": 6.096774193548388,
    "HR9": 0.870967741935484,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-18T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663542",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 13,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 13,
    "pitch_usage": 0.0,
    "release_speed": 88.45909611346684,
    "release_spin_rate": 2154.7309004103313,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 13,
      "pitch_usage": 0.0,
      "release_speed": 88.45909611346684,
      "release_spin_rate": 2154.7309004103313,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 88.4591,
    "release_spin_rate": 2154.7309,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0787,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.562,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.488,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7296,
    "prior_weight": 0.2704
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663542",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 66,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 0.0,
        "SO": 2.0,
        "HR": 1.0,
        "BF": 16.0,
        "Pitches": 58.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.2,
        "BB": 0.0,
        "SO": 0.4,
        "HR": 0.2,
        "BF": 3.2,
        "Pitches": 11.6
      },
      "rates": {
        "ERA": 4.1538,
        "WHIP": 1.3846,
        "ER_per_IP": 0.46154,
        "H_per_IP": 1.38462,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.46154,
        "HR_per_IP": 0.23077
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 2.0,
        "R": 2.0,
        "H": 11.0,
        "BB": 0.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 38.0,
        "Pitches": 129.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.1,
        "BB": 0.0,
        "SO": 0.7,
        "HR": 0.1,
        "BF": 3.8,
        "Pitches": 12.9
      },
      "rates": {
        "ERA": 1.7419,
        "WHIP": 1.0645,
        "ER_per_IP": 0.19355,
        "H_per_IP": 1.06452,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.67742,
        "HR_per_IP": 0.09677
      }
    },
    "season": {
      "games": 66,
      "totals": {
        "IP": 65.1,
        "ER": 19.0,
        "R": 21.0,
        "H": 59.0,
        "BB": 17.0,
        "SO": 59.0,
        "HR": 5.0,
        "BF": 266.0,
        "Pitches": 1003.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2879,
        "R": 0.3182,
        "H": 0.8939,
        "BB": 0.2576,
        "SO": 0.8939,
        "HR": 0.0758,
        "BF": 4.0303,
        "Pitches": 15.197
      },
      "rates": {
        "ERA": 2.6173,
        "WHIP": 1.1633,
        "ER_per_IP": 0.29082,
        "H_per_IP": 0.90306,
        "BB_per_IP": 0.2602,
        "SO_per_IP": 0.90306,
        "HR_per_IP": 0.07653
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.382,
    "predicted_H": 1.124,
    "predicted_BB": 0.141,
    "predicted_SO": 0.709,
    "predicted_HR": 0.152,
    "predicted_ERA": 3.4394,
    "predicted_WHIP": 1.2651
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4642,
  "form_weight": 0.5358,
  "form_reliability": 0.7296,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.488,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7296,
    "prior_weight": 0.2704
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.382,
      "final": 0.2047,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.124,
      "final": 0.6022,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.141,
      "final": 0.0755,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.709,
      "final": 0.8441,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.152,
      "final": 0.0814,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.4394,
      "final": 3.4394,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2651,
      "final": 1.2651,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherSean Newcomb
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0526
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0078
Avg Velo89.7243
Avg Spin2442.3558
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.7747
Season WHIP1.1146
Role Avg IP1.5560
Recent Avg IP2.2000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0667,
    "defense_index": 1.0104,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.1281
  },
  "opponent": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.932,
    "defense_index": 1.0907,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0667,
    "opponent_offense_edge": -0.068,
    "defense_strength": 0.0104,
    "opponent_defense_weakness": -0.0907,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0028,
    "run_prevention": 0.9884,
    "strikeout": 1.0053
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656794",
    "profile": {
      "available": true,
      "pitcher_id": "656794",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 326.0,
        "k_percent": 22.6,
        "bb_percent": 9.1,
        "woba": 0.285,
        "xwoba": 0.317,
        "sweet_spot_percent": 34.1,
        "barrel_batted_rate": 6.5,
        "hard_hit_percent": 38.6,
        "avg_best_speed": 77.7324,
        "avg_hyper_speed": 94.0135,
        "whiff_percent": 23.9,
        "swing_percent": 45.9
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.0834,
        "command_and_miss": -0.0279,
        "regression_edge": -0.9143,
        "xwoba_edge": -0.1429,
        "barrel_edge": 0.1556,
        "hard_hit_edge": -0.1,
        "whiff_edge": -0.1857,
        "bb_edge": 0.025,
        "pitch_design_score": -0.0078
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "656794",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 37,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 37,
          "pitch_usage": 0.0,
          "release_speed": 89.72425840830473,
          "release_spin_rate": 2442.3557937668493,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 37,
            "pitch_usage": 0.0,
            "release_speed": 89.72425840830473,
            "release_spin_rate": 2442.3557937668493,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 89.7243,
          "release_spin_rate": 2442.3558,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0078,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.056,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": -0.0526,
      "sample_weight": 1.0,
      "run_prevention_factor": 1.0045,
      "strikeout_factor": 0.9954,
      "walk_factor": 0.998,
      "homer_factor": 0.9958,
      "woba_minus_xwoba": -0.032,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "656794",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 1.0045,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0045,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.998,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9958,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 0.9954,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 20.0,
    "ER": 7,
    "H": 16,
    "BB": 7,
    "SO": 18,
    "HR": 0,
    "ERA": 3.15,
    "WHIP": 1.15,
    "K9": 8.1,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-12T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "656794",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 37,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 37,
    "pitch_usage": 0.0,
    "release_speed": 89.72425840830473,
    "release_spin_rate": 2442.3557937668493,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 37,
      "pitch_usage": 0.0,
      "release_speed": 89.72425840830473,
      "release_spin_rate": 2442.3557937668493,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 89.7243,
    "release_spin_rate": 2442.3558,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0078,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.056,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.41,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7769,
    "prior_weight": 0.2231
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656794",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 53,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 9.1,
        "ER": 7.0,
        "R": 7.0,
        "H": 12.0,
        "BB": 3.0,
        "SO": 10.0,
        "HR": 0.0,
        "BF": 43.0,
        "Pitches": 176.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 1.4,
        "R": 1.4,
        "H": 2.4,
        "BB": 0.6,
        "SO": 2.0,
        "HR": 0.0,
        "BF": 8.6,
        "Pitches": 35.2
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.6071,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.28571,
        "BB_per_IP": 0.32143,
        "SO_per_IP": 1.07143,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 20.0,
        "ER": 7.0,
        "R": 7.0,
        "H": 16.0,
        "BB": 7.0,
        "SO": 18.0,
        "HR": 0.0,
        "BF": 82.0,
        "Pitches": 345.0
      },
      "per_game": {
        "IP": 2.0,
        "ER": 0.7,
        "R": 0.7,
        "H": 1.6,
        "BB": 0.7,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 8.2,
        "Pitches": 34.5
      },
      "rates": {
        "ERA": 3.15,
        "WHIP": 1.15,
        "ER_per_IP": 0.35,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.35,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 53,
      "totals": {
        "IP": 84.1,
        "ER": 26.0,
        "R": 29.0,
        "H": 64.0,
        "BB": 30.0,
        "SO": 78.0,
        "HR": 2.0,
        "BF": 343.0,
        "Pitches": 1342.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.4906,
        "R": 0.5472,
        "H": 1.2075,
        "BB": 0.566,
        "SO": 1.4717,
        "HR": 0.0377,
        "BF": 6.4717,
        "Pitches": 25.3208
      },
      "rates": {
        "ERA": 2.7747,
        "WHIP": 1.1146,
        "ER_per_IP": 0.3083,
        "H_per_IP": 0.75889,
        "BB_per_IP": 0.35573,
        "SO_per_IP": 0.9249,
        "HR_per_IP": 0.02372
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.2,
    "predicted_ER": 0.897,
    "predicted_H": 1.733,
    "predicted_BB": 0.6,
    "predicted_SO": 1.676,
    "predicted_HR": 0.063,
    "predicted_ERA": 4.6779,
    "predicted_WHIP": 1.3522
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4443,
  "form_weight": 0.5557,
  "form_reliability": 0.7769,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 17.41,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7769,
    "prior_weight": 0.2231
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.2,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.897,
      "final": 0.4985,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.733,
      "final": 0.9631,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.6,
      "final": 0.3334,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.676,
      "final": 0.9314,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.063,
      "final": 0.035,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.6779,
      "final": 4.6779,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.3522,
      "final": 1.3522,
      "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 20261005: 533
All-history rows before 20261005: 533
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2717
Diff (system - data): 0.0053
System opponent_avg: 0.0910

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1831.0000.000Hitting_2B0.1880.0000.8121.000
predicted_3B0.0280.0000.000Hitting_3B0.0340.000-0.0340.000
predicted_AB3.4375.0004.000Hitting_AB3.6321.0001.3684.000
predicted_AVG0.2770.4000.250Hitting_AVG0.2720.0000.1280.400
predicted_BB0.3100.0000.000Hitting_BB0.3620.000-0.3620.000
predicted_CS-0.0000.000BaseRunning_CS0.0560.000-0.0560.000
predicted_H0.9512.0001.000Hitting_H0.9870.0001.0132.000
predicted_HR0.0560.0000.000Hitting_HR0.0660.000-0.0660.000
predicted_OBP0.3360.4000.250Hitting_OBP0.3740.0000.0260.400
predicted_R0.5851.0001.000Hitting_R0.6300.0000.3701.000
predicted_RBI0.3523.0000.000Hitting_RBI0.3860.0002.6143.000
predicted_SLG0.3950.6000.250Hitting_SLG0.3960.0000.2040.600
predicted_SO0.5850.0001.000Hitting_SO0.6400.000-0.6400.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics8
Deboosted Metrics3
Better Metrics9
Worse Metrics2
Biggest Boostpredicted_RBI: 0.3520 -> 3.0000 (boost 2.6480, better)
Biggest Deboostpredicted_SO: 0.5850 -> 0.0000 (deboost -0.5850, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_OBP: 0.3360 -> 0.3614 (boost 0.0254, 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.3614 -> 0.3434 (deboost -0.0180, 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_AB: 3.4139 -> 4.0000 (boost 0.5861, better)predicted_RBI: 0.3695 -> 0.0000 (deboost -0.3695, worse)AB rounded to 4 (raw=3.44), rates preserved: AVG=0.268 HR/AB=0.014
6bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)
7consistency_constraints11010predicted_R: 0.5808 -> 1.0000 (boost 0.4192, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_BB: 0.0000 -> 0.3593 (boost 0.3593, better)predicted_SO: 1.0000 -> 0.8418 (deboost -0.1582, 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.8418 -> 1.0000 (boost 0.1582, worse)predicted_BB: 0.3593 -> 0.0000 (deboost -0.3593, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context30303-predicted_SLG: 0.4056 -> 0.3350 (deboost -0.0706, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference54150predicted_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_final33030predicted_SLG: 0.3350 -> 0.4056 (boost 0.0706, 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.183,
        "predicted_3B": 0.028,
        "predicted_AB": 3.437,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.31,
        "predicted_H": 0.951,
        "predicted_HR": 0.056,
        "predicted_OBP": 0.336,
        "predicted_R": 0.585,
        "predicted_RBI": 0.352,
        "predicted_SLG": 0.395,
        "predicted_SO": 0.585
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2126,
        "predicted_3B": 0.0232,
        "predicted_AB": 3.4139,
        "predicted_AVG": 0.2887,
        "predicted_BB": 0.2904,
        "predicted_H": 0.9849,
        "predicted_HBP": 0.261,
        "predicted_HR": 0.0482,
        "predicted_OBP": 0.3614,
        "predicted_R": 0.5841,
        "predicted_RBI": 0.3716,
        "predicted_SLG": 0.4064,
        "predicted_SO": 0.5432
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.183,
          "after": 0.2126,
          "delta": 0.0296,
          "percent_delta": 0.1617,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.028,
          "after": 0.0232,
          "delta": -0.0048,
          "percent_delta": -0.1714,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.437,
          "after": 3.4139,
          "delta": -0.0231,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2887,
          "delta": 0.0117,
          "percent_delta": 0.0422,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.31,
          "after": 0.2904,
          "delta": -0.0196,
          "percent_delta": -0.0632,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.951,
          "after": 0.9849,
          "delta": 0.0339,
          "percent_delta": 0.0356,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.056,
          "after": 0.0482,
          "delta": -0.0078,
          "percent_delta": -0.1393,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.336,
          "after": 0.3614,
          "delta": 0.0254,
          "percent_delta": 0.0756,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.585,
          "after": 0.5841,
          "delta": -0.0009,
          "percent_delta": -0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.352,
          "after": 0.3716,
          "delta": 0.0196,
          "percent_delta": 0.0557,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.395,
          "after": 0.4064,
          "delta": 0.0114,
          "percent_delta": 0.0289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.585,
          "after": 0.5432,
          "delta": -0.0418,
          "percent_delta": -0.0715,
          "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.336,
          "after": 0.3614,
          "delta": 0.0254,
          "percent_delta": 0.0756,
          "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": 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.2126,
        "predicted_3B": 0.0232,
        "predicted_AB": 3.4139,
        "predicted_AVG": 0.2874,
        "predicted_BB": 0.2911,
        "predicted_H": 0.9812,
        "predicted_HBP": 0.261,
        "predicted_HR": 0.0481,
        "predicted_OBP": 0.3434,
        "predicted_R": 0.5808,
        "predicted_RBI": 0.3695,
        "predicted_SLG": 0.4056,
        "predicted_SO": 0.5418
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2126,
          "after": 0.2126,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0232,
          "after": 0.0232,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4139,
          "after": 3.4139,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2887,
          "after": 0.2874,
          "delta": -0.0013,
          "percent_delta": -0.0045,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2904,
          "after": 0.2911,
          "delta": 0.0007,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9849,
          "after": 0.9812,
          "delta": -0.0037,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.261,
          "after": 0.261,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0482,
          "after": 0.0481,
          "delta": -0.0001,
          "percent_delta": -0.0021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3614,
          "after": 0.3434,
          "delta": -0.018,
          "percent_delta": -0.0498,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5841,
          "after": 0.5808,
          "delta": -0.0033,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3716,
          "after": 0.3695,
          "delta": -0.0021,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4064,
          "after": 0.4056,
          "delta": -0.0008,
          "percent_delta": -0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.5432,
          "after": 0.5418,
          "delta": -0.0014,
          "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.3614,
          "after": 0.3434,
          "delta": -0.018,
          "percent_delta": -0.0498,
          "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.44), rates preserved: AVG=0.268 HR/AB=0.014",
      "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.2126,
          "after": 0.0,
          "delta": -0.2126,
          "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": 3.4139,
          "after": 4.0,
          "delta": 0.5861,
          "percent_delta": 0.1717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2911,
          "after": 0.0,
          "delta": -0.2911,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9812,
          "after": 1.0,
          "delta": 0.0188,
          "percent_delta": 0.0192,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.261,
          "after": 0.0,
          "delta": -0.261,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0481,
          "after": 0.0,
          "delta": -0.0481,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3695,
          "after": 0.0,
          "delta": -0.3695,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5418,
          "after": 1.0,
          "delta": 0.4582,
          "percent_delta": 0.8457,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4139,
          "after": 4.0,
          "delta": 0.5861,
          "percent_delta": 0.1717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3695,
          "after": 0.0,
          "delta": -0.3695,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.091)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 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.5808,
          "after": 1.0,
          "delta": 0.4192,
          "percent_delta": 0.7218,
          "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.5808,
          "after": 1.0,
          "delta": 0.4192,
          "percent_delta": 0.7218,
          "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.1781,
        "predicted_3B": 0.0155,
        "predicted_BB": 0.3593,
        "predicted_H": 0.8724,
        "predicted_HR": 0.07,
        "predicted_RBI": 0.3582,
        "predicted_SO": 0.8418
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1781,
          "delta": 0.1781,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0155,
          "delta": 0.0155,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3593,
          "delta": 0.3593,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8724,
          "delta": -0.1276,
          "percent_delta": -0.1276,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.07,
          "delta": 0.07,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3582,
          "delta": 0.3582,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8418,
          "delta": -0.1582,
          "percent_delta": -0.1582,
          "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.3593,
          "delta": 0.3593,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8418,
          "delta": -0.1582,
          "percent_delta": -0.1582,
          "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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1781,
          "after": 0.0,
          "delta": -0.1781,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0155,
          "after": 0.0,
          "delta": -0.0155,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3593,
          "after": 0.0,
          "delta": -0.3593,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8724,
          "after": 1.0,
          "delta": 0.1276,
          "percent_delta": 0.1463,
          "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_R",
          "before": 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.3582,
          "after": 0.0,
          "delta": -0.3582,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8418,
          "after": 1.0,
          "delta": 0.1582,
          "percent_delta": 0.1879,
          "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.8418,
          "after": 1.0,
          "delta": 0.1582,
          "percent_delta": 0.1879,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "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": 4.0,
        "predicted_AVG": 0.226,
        "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.335,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2874,
          "after": 0.226,
          "delta": -0.0614,
          "percent_delta": -0.2136,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3434,
          "after": 0.298,
          "delta": -0.0454,
          "percent_delta": -0.1322,
          "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.4056,
          "after": 0.335,
          "delta": -0.0706,
          "percent_delta": -0.1741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4056,
          "after": 0.335,
          "delta": -0.0706,
          "percent_delta": -0.1741,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 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": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "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": {
          "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": 5.0,
        "predicted_AVG": 0.2874,
        "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.3434,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4056,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.226,
          "after": 0.2874,
          "delta": 0.0614,
          "percent_delta": 0.2717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.298,
          "after": 0.3434,
          "delta": 0.0454,
          "percent_delta": 0.1523,
          "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.335,
          "after": 0.4056,
          "delta": 0.0706,
          "percent_delta": 0.2106,
          "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.335,
          "after": 0.4056,
          "delta": 0.0706,
          "percent_delta": 0.2106,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.183,
        "after": 1.0,
        "delta": 0.817,
        "percent_delta": 4.4645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.028,
        "after": 0.0,
        "delta": -0.028,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.437,
        "after": 5.0,
        "delta": 1.563,
        "percent_delta": 0.4548,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.277,
        "after": 0.2874,
        "delta": 0.0104,
        "percent_delta": 0.0375,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.31,
        "after": 0.0,
        "delta": -0.31,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.951,
        "after": 2.0,
        "delta": 1.049,
        "percent_delta": 1.103,
        "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_OBP",
        "before": 0.336,
        "after": 0.3434,
        "delta": 0.0074,
        "percent_delta": 0.022,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.585,
        "after": 1.0,
        "delta": 0.415,
        "percent_delta": 0.7094,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.352,
        "after": 3.0,
        "delta": 2.648,
        "percent_delta": 7.5227,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.395,
        "after": 0.4056,
        "delta": 0.0106,
        "percent_delta": 0.0268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.585,
        "after": 0.0,
        "delta": -0.585,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 8,
      "deboosted_metrics": 3,
      "better_metrics": 9,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.352,
        "after": 3.0,
        "delta": 2.648,
        "percent_delta": 7.5227,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.585,
        "after": 0.0,
        "delta": -0.585,
        "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.183-
predicted_3B0.028-
predicted_AB3.437-
predicted_AVG0.277-
predicted_BB0.310-
predicted_H0.951-
predicted_HR0.056-
predicted_OBP0.336-
predicted_R0.585-
predicted_RBI0.352-
predicted_SLG0.395-
predicted_SO0.585-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2130.030
predicted_3B0.023-0.005
predicted_AB3.414-0.023
predicted_AVG0.2890.012
predicted_BB0.290-0.020
predicted_H0.9850.034
predicted_HBP0.261-
predicted_HR0.048-0.008
predicted_OBP0.3610.025
predicted_R0.584-0.001
predicted_RBI0.3720.020
predicted_SLG0.4060.011
predicted_SO0.543-0.042
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2130.000
predicted_3B0.0230.000
predicted_AB3.4140.000
predicted_AVG0.287-0.001
predicted_BB0.2910.001
predicted_H0.981-0.004
predicted_HBP0.2610.000
predicted_HR0.048-0.000
predicted_OBP0.343-0.018
predicted_R0.581-0.003
predicted_RBI0.369-0.002
predicted_SLG0.406-0.001
predicted_SO0.542-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=3.44), rates preserved: AVG=0.268 HR/AB=0.014

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=11.0, weight=0.107, BvP AVG=0.091)

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.1780.178
3B0.0150.015
BB0.3590.359
H0.872-0.128
HR0.0700.070
RBI0.3580.358
SO0.842-0.158
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.178
3B0.000-0.015
AB4.0000.000
BB0.000-0.359
H1.0000.128
HR0.000-0.070
R1.0000.000
RBI0.000-0.358
SO1.0000.158
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.213
predicted_3B0.000-0.023
predicted_AB4.0000.586
predicted_AVG0.226-0.061
predicted_BB0.000-0.291
predicted_H1.0000.019
predicted_HR0.000-0.048
predicted_OBP0.298-0.045
predicted_R1.0000.419
predicted_RBI0.000-0.369
predicted_SLG0.335-0.071
predicted_SO1.0000.458
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.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: 142
Reference playing time: 3.801
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.0002.0000.0000.0002.0002.0001.0002.0000.33330.44440.46670.33330.00000.13330.06670.1333
last_100.2010-35.00013.0003.0000.0000.0005.0008.0002.0002.0000.37140.43900.45710.37140.00000.14290.05710.0571
season0.60142-488.000135.00026.0004.0008.00050.00083.00044.00083.0000.27660.37060.39550.27660.01640.10250.09020.1701
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2510
predicted_3B0.0170
predicted_AB3.3840
predicted_AVG0.3039
predicted_BB0.2650
predicted_H1.0290
predicted_HBP0.2610
predicted_HR0.0380
predicted_OBP0.3943
predicted_R0.5830
predicted_RBI0.3970
predicted_SLG0.4213
predicted_SO0.4890
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18300.25100.2126model_form_blend
predicted_3B0.02800.01700.0232model_form_blend
predicted_AB3.43703.38403.4139model_form_blend
predicted_AVG0.27700.30390.2887model_form_blend
predicted_BB0.31000.26500.2904model_form_blend
predicted_H0.95101.02900.9849model_form_blend
predicted_HBP-0.26100.2610form_only
predicted_HR0.05600.03800.0482model_form_blend
predicted_OBP0.33600.39430.3614model_form_blend
predicted_R0.58500.58300.5841model_form_blend
predicted_RBI0.35200.39700.3716model_form_blend
predicted_SLG0.39500.42130.4064model_form_blend
predicted_SO0.58500.48900.5432model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H2
2B1
3B0
HR0
R1
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_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_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-DH
gameID20261003_CHW@CLE
game_typeph
mlbID803011
noteFlied out for Pham in the 9th.
playerID803011
playerNameSam Antonacci
posSS
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-03
sl_k_percent14.7
sl_bb_percent7.7
sl_woba0.345
sl_xwoba0.348
sl_xba0.284
sl_xslg0.399
sl_sweet_spot_percent38.0
sl_barrel_batted_rate5.0
sl_hard_hit_percent33.6
sl_exit_velocity_avg87.5
sl_launch_angle_avg9.9
sl_whiff_percent14.7
sl_swing_percent42.5
Munetaka Murakami (808959) · BATTER · 1B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 516
All-history rows before 20261005: 516
System season_avg: 0.2080
Data season_avg (2026 season-to-date): 0.2109
Diff (system - data): -0.0029
System opponent_avg: 0.2040

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1230.0000.000Hitting_2B0.1320.000-0.1320.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.5854.0004.000Hitting_AB3.6844.0000.3160.000
predicted_AVG0.2080.0000.250Hitting_AVG0.2110.500-0.211-0.500
predicted_BB0.7150.0001.000Hitting_BB0.7790.000-0.7790.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.7460.0001.000Hitting_H0.7772.000-0.777-2.000
predicted_HR0.2770.0001.000Hitting_HR0.2931.000-0.293-1.000
predicted_OBP0.3400.0000.400Hitting_OBP0.3540.500-0.354-0.500
predicted_R0.6540.0001.000Hitting_R0.7111.000-0.711-1.000
predicted_RBI0.6150.0001.000Hitting_RBI0.6222.000-0.622-2.000
predicted_SLG0.4790.0001.000Hitting_SLG0.4891.250-0.489-1.250
predicted_SO1.5621.0002.000Hitting_SO1.5792.000-0.579-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_AB: 3.5850 -> 4.0000 (boost 0.4150, better)
Biggest Deboostpredicted_H: 0.7460 -> 0.0000 (deboost -0.7460, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AB: 3.5850 -> 3.6581 (boost 0.0731, better)predicted_BB: 0.7150 -> 0.6510 (deboost -0.0640, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling85344predicted_SO: 1.5806 -> 2.0000 (boost 0.4194, worse)predicted_HR: 0.2783 -> 0.0000 (deboost -0.2783, worse)AB rounded to 4 (raw=3.66), rates preserved: AVG=0.198 HR/AB=0.076
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints11010predicted_R: 0.6707 -> 1.0000 (boost 0.3293, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine62433predicted_HR: 0.0000 -> 0.2187 (boost 0.2187, better)predicted_RBI: 1.0000 -> 0.5266 (deboost -0.4734, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation65142predicted_HR: 0.2187 -> 1.0000 (boost 0.7813, better)predicted_2B: 0.1515 -> 0.0000 (deboost -0.1515, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context40404-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference50514-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.4220 -> 0.4805 (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": "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.123,
        "predicted_3B": 0.008,
        "predicted_AB": 3.585,
        "predicted_AVG": 0.208,
        "predicted_BB": 0.715,
        "predicted_H": 0.746,
        "predicted_HR": 0.277,
        "predicted_OBP": 0.34,
        "predicted_R": 0.654,
        "predicted_RBI": 0.615,
        "predicted_SLG": 0.479,
        "predicted_SO": 1.562
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1365,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6581,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.651,
        "predicted_H": 0.776,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2787,
        "predicted_OBP": 0.3329,
        "predicted_R": 0.6745,
        "predicted_RBI": 0.6516,
        "predicted_SLG": 0.4818,
        "predicted_SO": 1.5846
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.123,
          "after": 0.1365,
          "delta": 0.0135,
          "percent_delta": 0.1098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.008,
          "after": 0.0067,
          "delta": -0.0013,
          "percent_delta": -0.1625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.585,
          "after": 3.6581,
          "delta": 0.0731,
          "percent_delta": 0.0204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.208,
          "after": 0.212,
          "delta": 0.004,
          "percent_delta": 0.0192,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.715,
          "after": 0.651,
          "delta": -0.064,
          "percent_delta": -0.0895,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.746,
          "after": 0.776,
          "delta": 0.03,
          "percent_delta": 0.0402,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.277,
          "after": 0.2787,
          "delta": 0.0017,
          "percent_delta": 0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.34,
          "after": 0.3329,
          "delta": -0.0071,
          "percent_delta": -0.0209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.654,
          "after": 0.6745,
          "delta": 0.0205,
          "percent_delta": 0.0313,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.615,
          "after": 0.6516,
          "delta": 0.0366,
          "percent_delta": 0.0595,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.479,
          "after": 0.4818,
          "delta": 0.0028,
          "percent_delta": 0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.562,
          "after": 1.5846,
          "delta": 0.0226,
          "percent_delta": 0.0145,
          "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.585,
          "after": 3.6581,
          "delta": 0.0731,
          "percent_delta": 0.0204,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.715,
          "after": 0.651,
          "delta": -0.064,
          "percent_delta": -0.0895,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1365,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6581,
        "predicted_AVG": 0.2113,
        "predicted_BB": 0.6526,
        "predicted_H": 0.7731,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.2783,
        "predicted_OBP": 0.3307,
        "predicted_R": 0.6707,
        "predicted_RBI": 0.6479,
        "predicted_SLG": 0.4805,
        "predicted_SO": 1.5806
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1365,
          "after": 0.1365,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0067,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6581,
          "after": 3.6581,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.212,
          "after": 0.2113,
          "delta": -0.0007,
          "percent_delta": -0.0033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.651,
          "after": 0.6526,
          "delta": 0.0016,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.776,
          "after": 0.7731,
          "delta": -0.0029,
          "percent_delta": -0.0037,
          "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.2787,
          "after": 0.2783,
          "delta": -0.0004,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3329,
          "after": 0.3307,
          "delta": -0.0022,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6745,
          "after": 0.6707,
          "delta": -0.0038,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6516,
          "after": 0.6479,
          "delta": -0.0037,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4818,
          "after": 0.4805,
          "delta": -0.0013,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.5846,
          "after": 1.5806,
          "delta": -0.004,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.66), rates preserved: AVG=0.198 HR/AB=0.076",
      "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.1365,
          "after": 0.0,
          "delta": -0.1365,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0067,
          "after": 0.0,
          "delta": -0.0067,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6581,
          "after": 4.0,
          "delta": 0.3419,
          "percent_delta": 0.0935,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6526,
          "after": 1.0,
          "delta": 0.3474,
          "percent_delta": 0.5323,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7731,
          "after": 1.0,
          "delta": 0.2269,
          "percent_delta": 0.2935,
          "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.2783,
          "after": 0.0,
          "delta": -0.2783,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6479,
          "after": 1.0,
          "delta": 0.3521,
          "percent_delta": 0.5434,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.5806,
          "after": 2.0,
          "delta": 0.4194,
          "percent_delta": 0.2653,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 5,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.5806,
          "after": 2.0,
          "delta": 0.4194,
          "percent_delta": 0.2653,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2783,
          "after": 0.0,
          "delta": -0.2783,
          "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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9429,
        "bvp": 0.0571
      },
      "window_games": {}
    },
    {
      "index": 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": 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.6707,
          "after": 1.0,
          "delta": 0.3293,
          "percent_delta": 0.491,
          "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.6707,
          "after": 1.0,
          "delta": 0.3293,
          "percent_delta": 0.491,
          "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.1515,
        "predicted_3B": 0.0092,
        "predicted_BB": 0.6562,
        "predicted_H": 0.7513,
        "predicted_HR": 0.2187,
        "predicted_RBI": 0.5266,
        "predicted_SO": 1.8731
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1515,
          "delta": 0.1515,
          "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": 1.0,
          "after": 0.6562,
          "delta": -0.3438,
          "percent_delta": -0.3438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7513,
          "delta": -0.2487,
          "percent_delta": -0.2487,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2187,
          "delta": 0.2187,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5266,
          "delta": -0.4734,
          "percent_delta": -0.4734,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.8731,
          "delta": -0.1269,
          "percent_delta": -0.0635,
          "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.2187,
          "delta": 0.2187,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5266,
          "delta": -0.4734,
          "percent_delta": -0.4734,
          "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": 2.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.0092,
          "after": 0.0,
          "delta": -0.0092,
          "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.6562,
          "after": 1.0,
          "delta": 0.3438,
          "percent_delta": 0.5239,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7513,
          "after": 1.0,
          "delta": 0.2487,
          "percent_delta": 0.331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2187,
          "after": 1.0,
          "delta": 0.7813,
          "percent_delta": 3.5725,
          "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.5266,
          "after": 1.0,
          "delta": 0.4734,
          "percent_delta": 0.899,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.8731,
          "after": 2.0,
          "delta": 0.1269,
          "percent_delta": 0.0677,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2187,
          "after": 1.0,
          "delta": 0.7813,
          "percent_delta": 3.5725,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1515,
          "after": 0.0,
          "delta": -0.1515,
          "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.201,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.422,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2113,
          "after": 0.201,
          "delta": -0.0103,
          "percent_delta": -0.0487,
          "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.3307,
          "after": 0.325,
          "delta": -0.0057,
          "percent_delta": -0.0172,
          "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.4805,
          "after": 0.422,
          "delta": -0.0585,
          "percent_delta": -0.1217,
          "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": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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.2113,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3307,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4805,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.201,
          "after": 0.2113,
          "delta": 0.0103,
          "percent_delta": 0.0514,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.3307,
          "delta": 0.0057,
          "percent_delta": 0.0176,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.422,
          "after": 0.4805,
          "delta": 0.0585,
          "percent_delta": 0.1387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.422,
          "after": 0.4805,
          "delta": 0.0585,
          "percent_delta": 0.1387,
          "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.008,
        "after": 0.0,
        "delta": -0.008,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.585,
        "after": 4.0,
        "delta": 0.415,
        "percent_delta": 0.1158,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.208,
        "after": 0.2113,
        "delta": 0.0033,
        "percent_delta": 0.0159,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.715,
        "after": 0.0,
        "delta": -0.715,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.746,
        "after": 0.0,
        "delta": -0.746,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.277,
        "after": 0.0,
        "delta": -0.277,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.34,
        "after": 0.3307,
        "delta": -0.0093,
        "percent_delta": -0.0274,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.654,
        "after": 0.0,
        "delta": -0.654,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.615,
        "after": 0.0,
        "delta": -0.615,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.479,
        "after": 0.4805,
        "delta": 0.0015,
        "percent_delta": 0.0031,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.562,
        "after": 1.0,
        "delta": -0.562,
        "percent_delta": -0.3598,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 1,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.585,
        "after": 4.0,
        "delta": 0.415,
        "percent_delta": 0.1158,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.746,
        "after": 0.0,
        "delta": -0.746,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.123-
predicted_3B0.008-
predicted_AB3.585-
predicted_AVG0.208-
predicted_BB0.715-
predicted_H0.746-
predicted_HR0.277-
predicted_OBP0.340-
predicted_R0.654-
predicted_RBI0.615-
predicted_SLG0.479-
predicted_SO1.562-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1370.014
predicted_3B0.007-0.001
predicted_AB3.6580.073
predicted_AVG0.2120.004
predicted_BB0.651-0.064
predicted_H0.7760.030
predicted_HBP0.067-
predicted_HR0.2790.002
predicted_OBP0.333-0.007
predicted_R0.6740.020
predicted_RBI0.6520.037
predicted_SLG0.4820.003
predicted_SO1.5850.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.1370.000
predicted_3B0.0070.000
predicted_AB3.6580.000
predicted_AVG0.211-0.001
predicted_BB0.6530.002
predicted_H0.773-0.003
predicted_HBP0.0670.000
predicted_HR0.278-0.000
predicted_OBP0.331-0.002
predicted_R0.671-0.004
predicted_RBI0.648-0.004
predicted_SLG0.480-0.001
predicted_SO1.581-0.004
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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. 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
BB1.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO2.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-
SO2.0000.000
8. hitter_rate_engine

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

MetricValueDelta vs Prev Step
2B0.1510.151
3B0.0090.009
BB0.656-0.344
H0.751-0.249
HR0.2190.219
RBI0.527-0.473
SO1.873-0.127
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.151
3B0.000-0.009
AB4.0000.000
BB1.0000.344
H1.0000.249
HR1.0000.781
R1.0000.000
RBI1.0000.473
SO2.0000.127
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.0000.342
predicted_AVG0.201-0.010
predicted_BB1.0000.347
predicted_H1.0000.227
predicted_HR0.000-0.278
predicted_OBP0.325-0.006
predicted_R1.0000.329
predicted_RBI1.0000.352
predicted_SLG0.422-0.058
predicted_SO2.0000.419
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.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.801
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.0001.00010.0000.19050.21740.38100.19050.04760.14290.04760.4762
last_100.2010-38.00010.0002.0000.0004.00011.0008.0005.00016.0000.26320.36960.63160.26320.10530.28950.13160.4210
season0.60130-466.00097.00016.0001.00036.00080.00085.00093.000203.0000.20820.34570.47850.20820.07720.17170.19960.4356
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1540
predicted_3B0.0050
predicted_AB3.7530
predicted_AVG0.2173
predicted_BB0.5680
predicted_H0.8150
predicted_HBP0.0670
predicted_HR0.2810
predicted_OBP0.3238
predicted_R0.7010
predicted_RBI0.6990
predicted_SLG0.4855
predicted_SO1.6140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12300.15400.1365model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.58503.75303.6581model_form_blend
predicted_AVG0.20800.21730.2120model_form_blend
predicted_BB0.71500.56800.6510model_form_blend
predicted_H0.74600.81500.7760model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.27700.28100.2787model_form_blend
predicted_OBP0.34000.32380.3329model_form_blend
predicted_R0.65400.70100.6745model_form_blend
predicted_RBI0.61500.69900.6516model_form_blend
predicted_SLG0.47900.48550.4818model_form_blend
predicted_SO1.56201.61401.5846model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB5
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261003_CHW@CLE
game_typefull
mlbID808959
playerID808959
playerNameMunetaka Murakami
posIF
startedTrue
startingPosition1B
teamCHW
teamID6
game_date2026-10-03
sl_k_percent35.4
sl_bb_percent16.6
sl_woba0.356
sl_xwoba0.351
sl_xba0.204
sl_xslg0.469
sl_sweet_spot_percent30.5
sl_barrel_batted_rate20.5
sl_hard_hit_percent56.8
sl_exit_velocity_avg93.9
sl_launch_angle_avg16.1
sl_whiff_percent42.3
sl_swing_percent40.7
Miguel Vargas (678246) · BATTER · 3B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 674
All-history rows before 20261005: 674
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2521
Diff (system - data): -0.0051
System opponent_avg: 0.4290

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1930.0000.000Hitting_2B0.2090.000-0.2090.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB3.7203.0004.000Hitting_AB3.8132.000-0.8131.000
predicted_AVG0.2320.6670.250Hitting_AVG0.2520.5000.4150.167
predicted_BB0.6401.0001.000Hitting_BB0.6412.0000.359-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.7802.0001.000Hitting_H0.9611.0001.0391.000
predicted_HR0.1601.0000.000Hitting_HR0.2170.0000.7831.000
predicted_OBP0.3590.7500.400Hitting_OBP0.3640.7500.3860.000
predicted_R0.6711.0001.000Hitting_R0.7091.0000.2910.000
predicted_RBI0.4901.0001.000Hitting_RBI0.5880.0000.4121.000
predicted_SLG0.3981.6670.250Hitting_SLG0.4810.5001.1861.167
predicted_SO0.8010.0001.000Hitting_SO0.8130.000-0.8130.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_H: 0.7800 -> 2.0000 (boost 1.2200, better)
Biggest Deboostpredicted_SO: 0.8010 -> 0.0000 (deboost -0.8010, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_BB: 0.6400 -> 0.7469 (boost 0.1069, better)predicted_AB: 3.7200 -> 3.6424 (deboost -0.0776, worse)Final model input calibrated 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.3594 -> 0.3421 (deboost -0.0173, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_AB: 3.6424 -> 4.0000 (boost 0.3576, better)predicted_RBI: 0.4920 -> 0.0000 (deboost -0.4920, worse)AB rounded to 4 (raw=3.72), rates preserved: AVG=0.190 HR/AB=0.040
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)
7consistency_constraints11010predicted_R: 0.6981 -> 1.0000 (boost 0.3019, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_RBI: 0.0000 -> 0.5335 (boost 0.5335, better)predicted_BB: 1.0000 -> 0.5483 (deboost -0.4517, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation53232predicted_RBI: 0.5335 -> 1.0000 (boost 0.4665, better)predicted_HR: 0.1601 -> 0.0000 (deboost -0.1601, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context42222predicted_SLG: 0.3766 -> 0.4070 (boost 0.0304, 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_reference53241predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final31212predicted_OBP: 0.3350 -> 0.3421 (boost 0.0071, better)predicted_SLG: 0.4070 -> 0.3766 (deboost -0.0304, 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.193,
        "predicted_3B": 0.006,
        "predicted_AB": 3.72,
        "predicted_AVG": 0.232,
        "predicted_BB": 0.64,
        "predicted_H": 0.78,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.359,
        "predicted_R": 0.671,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.398,
        "predicted_SO": 0.801
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1575,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.6424,
        "predicted_AVG": 0.2202,
        "predicted_BB": 0.7469,
        "predicted_H": 0.7563,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1504,
        "predicted_OBP": 0.3594,
        "predicted_R": 0.7021,
        "predicted_RBI": 0.4948,
        "predicted_SLG": 0.3795,
        "predicted_SO": 0.8032
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.193,
          "after": 0.1575,
          "delta": -0.0355,
          "percent_delta": -0.1839,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.72,
          "after": 3.6424,
          "delta": -0.0776,
          "percent_delta": -0.0209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2202,
          "delta": -0.0118,
          "percent_delta": -0.0509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.64,
          "after": 0.7469,
          "delta": 0.1069,
          "percent_delta": 0.167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.78,
          "after": 0.7563,
          "delta": -0.0237,
          "percent_delta": -0.0304,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.1504,
          "delta": -0.0096,
          "percent_delta": -0.06,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.359,
          "after": 0.3594,
          "delta": 0.0004,
          "percent_delta": 0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.671,
          "after": 0.7021,
          "delta": 0.0311,
          "percent_delta": 0.0463,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.49,
          "after": 0.4948,
          "delta": 0.0048,
          "percent_delta": 0.0098,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.398,
          "after": 0.3795,
          "delta": -0.0185,
          "percent_delta": -0.0465,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.801,
          "after": 0.8032,
          "delta": 0.0022,
          "percent_delta": 0.0027,
          "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.64,
          "after": 0.7469,
          "delta": 0.1069,
          "percent_delta": 0.167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.72,
          "after": 3.6424,
          "delta": -0.0776,
          "percent_delta": -0.0209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 161
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1575,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.6424,
        "predicted_AVG": 0.2068,
        "predicted_BB": 0.7488,
        "predicted_H": 0.7534,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1502,
        "predicted_OBP": 0.3421,
        "predicted_R": 0.6981,
        "predicted_RBI": 0.492,
        "predicted_SLG": 0.3766,
        "predicted_SO": 0.8012
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1575,
          "after": 0.1575,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6424,
          "after": 3.6424,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2202,
          "after": 0.2068,
          "delta": -0.0134,
          "percent_delta": -0.0609,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7469,
          "after": 0.7488,
          "delta": 0.0019,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7563,
          "after": 0.7534,
          "delta": -0.0029,
          "percent_delta": -0.0038,
          "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.1504,
          "after": 0.1502,
          "delta": -0.0002,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3594,
          "after": 0.3421,
          "delta": -0.0173,
          "percent_delta": -0.0481,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7021,
          "after": 0.6981,
          "delta": -0.004,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4948,
          "after": 0.492,
          "delta": -0.0028,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3795,
          "after": 0.3766,
          "delta": -0.0029,
          "percent_delta": -0.0076,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8032,
          "after": 0.8012,
          "delta": -0.002,
          "percent_delta": -0.0025,
          "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.3594,
          "after": 0.3421,
          "delta": -0.0173,
          "percent_delta": -0.0481,
          "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.72), rates preserved: AVG=0.190 HR/AB=0.040",
      "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.1575,
          "after": 0.0,
          "delta": -0.1575,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6424,
          "after": 4.0,
          "delta": 0.3576,
          "percent_delta": 0.0982,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7488,
          "after": 1.0,
          "delta": 0.2512,
          "percent_delta": 0.3355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7534,
          "after": 1.0,
          "delta": 0.2466,
          "percent_delta": 0.3273,
          "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.1502,
          "after": 0.0,
          "delta": -0.1502,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.492,
          "after": 0.0,
          "delta": -0.492,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8012,
          "after": 1.0,
          "delta": 0.1988,
          "percent_delta": 0.2481,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.6424,
          "after": 4.0,
          "delta": 0.3576,
          "percent_delta": 0.0982,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.492,
          "after": 0.0,
          "delta": -0.492,
          "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.429)",
      "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": 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.6981,
          "after": 1.0,
          "delta": 0.3019,
          "percent_delta": 0.4325,
          "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.6981,
          "after": 1.0,
          "delta": 0.3019,
          "percent_delta": 0.4325,
          "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.1568,
        "predicted_3B": 0.0077,
        "predicted_BB": 0.5483,
        "predicted_H": 0.8617,
        "predicted_HR": 0.1601,
        "predicted_RBI": 0.5335,
        "predicted_SO": 0.9919
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1568,
          "delta": 0.1568,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0077,
          "delta": 0.0077,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5483,
          "delta": -0.4517,
          "percent_delta": -0.4517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8617,
          "delta": -0.1383,
          "percent_delta": -0.1383,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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": 0.0,
          "after": 0.5335,
          "delta": 0.5335,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9919,
          "delta": -0.0081,
          "percent_delta": -0.0081,
          "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.5335,
          "delta": 0.5335,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5483,
          "delta": -0.4517,
          "percent_delta": -0.4517,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1568,
          "after": 0.0,
          "delta": -0.1568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0077,
          "after": 0.0,
          "delta": -0.0077,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5483,
          "after": 1.0,
          "delta": 0.4517,
          "percent_delta": 0.8238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8617,
          "after": 1.0,
          "delta": 0.1383,
          "percent_delta": 0.1605,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.5335,
          "after": 1.0,
          "delta": 0.4665,
          "percent_delta": 0.8744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9919,
          "after": 1.0,
          "delta": 0.0081,
          "percent_delta": 0.0082,
          "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.5335,
          "after": 1.0,
          "delta": 0.4665,
          "percent_delta": 0.8744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1601,
          "after": 0.0,
          "delta": -0.1601,
          "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.232,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.335,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.407,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2068,
          "after": 0.232,
          "delta": 0.0252,
          "percent_delta": 0.1219,
          "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.3421,
          "after": 0.335,
          "delta": -0.0071,
          "percent_delta": -0.0208,
          "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.3766,
          "after": 0.407,
          "delta": 0.0304,
          "percent_delta": 0.0807,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3766,
          "after": 0.407,
          "delta": 0.0304,
          "percent_delta": 0.0807,
          "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 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": 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_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2068,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3421,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3766,
        "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.232,
          "after": 0.2068,
          "delta": -0.0252,
          "percent_delta": -0.1084,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3421,
          "delta": 0.0071,
          "percent_delta": 0.0212,
          "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.407,
          "after": 0.3766,
          "delta": -0.0304,
          "percent_delta": -0.0747,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.335,
          "after": 0.3421,
          "delta": 0.0071,
          "percent_delta": 0.0212,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.407,
          "after": 0.3766,
          "delta": -0.0304,
          "percent_delta": -0.0747,
          "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.193,
        "after": 0.0,
        "delta": -0.193,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.72,
        "after": 3.0,
        "delta": -0.72,
        "percent_delta": -0.1935,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.232,
        "after": 0.2068,
        "delta": -0.0252,
        "percent_delta": -0.1086,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.64,
        "after": 1.0,
        "delta": 0.36,
        "percent_delta": 0.5625,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 2.0,
        "delta": 1.22,
        "percent_delta": 1.5641,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 1.0,
        "delta": 0.84,
        "percent_delta": 5.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.359,
        "after": 0.3421,
        "delta": -0.0169,
        "percent_delta": -0.0471,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.671,
        "after": 1.0,
        "delta": 0.329,
        "percent_delta": 0.4903,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 1.0,
        "delta": 0.51,
        "percent_delta": 1.0408,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.398,
        "after": 0.3766,
        "delta": -0.0214,
        "percent_delta": -0.0538,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.801,
        "after": 0.0,
        "delta": -0.801,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 2.0,
        "delta": 1.22,
        "percent_delta": 1.5641,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.801,
        "after": 0.0,
        "delta": -0.801,
        "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.006-
predicted_AB3.720-
predicted_AVG0.232-
predicted_BB0.640-
predicted_H0.780-
predicted_HR0.160-
predicted_OBP0.359-
predicted_R0.671-
predicted_RBI0.490-
predicted_SLG0.398-
predicted_SO0.801-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.158-0.036
predicted_3B0.005-0.001
predicted_AB3.642-0.078
predicted_AVG0.220-0.012
predicted_BB0.7470.107
predicted_H0.756-0.024
predicted_HBP0.025-
predicted_HR0.150-0.010
predicted_OBP0.3590.000
predicted_R0.7020.031
predicted_RBI0.4950.005
predicted_SLG0.380-0.019
predicted_SO0.8030.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.1580.000
predicted_3B0.0050.000
predicted_AB3.6420.000
predicted_AVG0.207-0.013
predicted_BB0.7490.002
predicted_H0.753-0.003
predicted_HBP0.0250.000
predicted_HR0.150-0.000
predicted_OBP0.342-0.017
predicted_R0.698-0.004
predicted_RBI0.492-0.003
predicted_SLG0.377-0.003
predicted_SO0.801-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.72), rates preserved: AVG=0.190 HR/AB=0.040

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1570.157
3B0.0080.008
BB0.548-0.452
H0.862-0.138
HR0.1600.160
RBI0.5330.533
SO0.992-0.008
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
BB1.0000.452
H1.0000.138
HR0.000-0.160
R1.0000.000
RBI1.0000.467
SO1.0000.008
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.158
predicted_3B0.000-0.005
predicted_AB4.0000.358
predicted_AVG0.2320.025
predicted_BB1.0000.251
predicted_H1.0000.247
predicted_HR0.000-0.150
predicted_OBP0.335-0.007
predicted_R1.0000.302
predicted_RBI0.000-0.492
predicted_SLG0.4070.030
predicted_SO1.0000.199
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
H2.0001.000
HBP0.0000.000
HR1.0001.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: 161
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0001.0000.0000.0000.0001.0004.0006.0004.0000.06250.30430.06250.06250.00000.06250.37500.2500
last_100.2010-33.0007.0000.0000.0001.0006.0009.00013.0008.0000.21210.42550.30300.21210.03030.18180.39390.2424
season0.60161-599.000148.00031.0001.00033.00093.000108.000103.000129.0000.24710.36030.46740.24710.05510.15530.17190.2154
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1120
predicted_3B0.0040
predicted_AB3.5430
predicted_AVG0.2050
predicted_BB0.8840
predicted_H0.7260
predicted_HBP0.0250
predicted_HR0.1380
predicted_OBP0.3599
predicted_R0.7420
predicted_RBI0.5010
predicted_SLG0.3557
predicted_SO0.8060
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19300.11200.1575model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.72003.54303.6424model_form_blend
predicted_AVG0.23200.20500.2202model_form_blend
predicted_BB0.64000.88400.7469model_form_blend
predicted_H0.78000.72600.7563model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.16000.13800.1504model_form_blend
predicted_OBP0.35900.35990.3594model_form_blend
predicted_R0.67100.74200.7021model_form_blend
predicted_RBI0.49000.50100.4948model_form_blend
predicted_SLG0.39800.35570.3795model_form_blend
predicted_SO0.80100.80600.8032model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H2
2B0
3B0
HR1
R1
RBI1
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
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_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
gameID20261003_CHW@CLE
game_typefull
mlbID678246
playerID678246
playerNameMiguel Vargas
pos3B
startedTrue
startingPosition3B
teamCHW
teamID6
game_date2026-10-03
sl_k_percent17.9
sl_bb_percent14.3
sl_woba0.363
sl_xwoba0.378
sl_xba0.263
sl_xslg0.496
sl_sweet_spot_percent39.4
sl_barrel_batted_rate13.0
sl_hard_hit_percent43.8
sl_exit_velocity_avg90.1
sl_launch_angle_avg20.5
sl_whiff_percent21.0
sl_swing_percent43.9
Braden Montgomery (695731) · BATTER · RF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 348
All-history rows before 20261005: 348
System season_avg: 0.2250
Data season_avg (2026 season-to-date): 0.2161
Diff (system - data): 0.0089
System opponent_avg: 0.2900

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1681.0000.000Hitting_2B0.1610.0000.8391.000
predicted_3B0.0320.0000.000Hitting_3B0.0400.000-0.0400.000
predicted_AB3.5164.0003.000Hitting_AB3.6443.0000.3561.000
predicted_AVG0.2250.5000.333Hitting_AVG0.2160.0000.2840.500
predicted_BB0.4000.0001.000Hitting_BB0.4830.000-0.4830.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H0.7892.0001.000Hitting_H0.7870.0001.2132.000
predicted_HR0.0630.0000.000Hitting_HR0.0750.000-0.0750.000
predicted_OBP0.3040.5000.500Hitting_OBP0.3120.0000.1880.500
predicted_R0.4951.0000.000Hitting_R0.5520.0000.4481.000
predicted_RBI0.4000.0000.000Hitting_RBI0.4800.000-0.4800.000
predicted_SLG0.3440.7500.333Hitting_SLG0.3440.0000.4060.750
predicted_SO0.8000.0001.000Hitting_SO0.8281.000-0.828-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics5
Deboosted Metrics6
Better Metrics6
Worse Metrics5
Biggest Boostpredicted_H: 0.7890 -> 2.0000 (boost 1.2110, better)
Biggest Deboostpredicted_SO: 0.8000 -> 0.0000 (deboost -0.8000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AVG: 0.2250 -> 0.2334 (boost 0.0084, better)predicted_BB: 0.4000 -> 0.3310 (deboost -0.0690, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_SO: 0.8100 -> 1.0000 (boost 0.1900, worse)predicted_AB: 3.5066 -> 3.0000 (deboost -0.5066, worse)AB rounded to 3 (raw=3.52), rates preserved: AVG=0.217 HR/AB=0.016
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
7consistency_constraints10101-predicted_R: 0.4752 -> 0.0000 (deboost -0.4752, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_BB: 0.0000 -> 0.3886 (boost 0.3886, better)predicted_H: 1.0000 -> 0.7471 (deboost -0.2529, 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.3886 -> 1.0000 (boost 0.6114, better)predicted_RBI: 0.3771 -> 0.0000 (deboost -0.3771, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context31212predicted_OBP: 0.2986 -> 0.3050 (boost 0.0064, 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_final21111predicted_AVG: 0.2190 -> 0.2322 (boost 0.0132, better)predicted_OBP: 0.3050 -> 0.2986 (deboost -0.0064, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.168,
        "predicted_3B": 0.032,
        "predicted_AB": 3.516,
        "predicted_AVG": 0.225,
        "predicted_BB": 0.4,
        "predicted_H": 0.789,
        "predicted_HR": 0.063,
        "predicted_OBP": 0.304,
        "predicted_R": 0.495,
        "predicted_RBI": 0.4,
        "predicted_SLG": 0.344,
        "predicted_SO": 0.8
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.026,
        "predicted_AB": 3.5066,
        "predicted_AVG": 0.2334,
        "predicted_BB": 0.331,
        "predicted_H": 0.8173,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0549,
        "predicted_OBP": 0.3004,
        "predicted_R": 0.4779,
        "predicted_RBI": 0.3452,
        "predicted_SLG": 0.3394,
        "predicted_SO": 0.812
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.168,
          "after": 0.1564,
          "delta": -0.0116,
          "percent_delta": -0.069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.032,
          "after": 0.026,
          "delta": -0.006,
          "percent_delta": -0.1875,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.516,
          "after": 3.5066,
          "delta": -0.0094,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2334,
          "delta": 0.0084,
          "percent_delta": 0.0373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4,
          "after": 0.331,
          "delta": -0.069,
          "percent_delta": -0.1725,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.789,
          "after": 0.8173,
          "delta": 0.0283,
          "percent_delta": 0.0359,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.063,
          "after": 0.0549,
          "delta": -0.0081,
          "percent_delta": -0.1286,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.3004,
          "delta": -0.0036,
          "percent_delta": -0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.495,
          "after": 0.4779,
          "delta": -0.0171,
          "percent_delta": -0.0345,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4,
          "after": 0.3452,
          "delta": -0.0548,
          "percent_delta": -0.137,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.344,
          "after": 0.3394,
          "delta": -0.0046,
          "percent_delta": -0.0134,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.8,
          "after": 0.812,
          "delta": 0.012,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.2334,
          "delta": 0.0084,
          "percent_delta": 0.0373,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4,
          "after": 0.331,
          "delta": -0.069,
          "percent_delta": -0.1725,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1564,
        "predicted_3B": 0.026,
        "predicted_AB": 3.5066,
        "predicted_AVG": 0.2322,
        "predicted_BB": 0.3318,
        "predicted_H": 0.8142,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0548,
        "predicted_OBP": 0.2986,
        "predicted_R": 0.4752,
        "predicted_RBI": 0.3432,
        "predicted_SLG": 0.3385,
        "predicted_SO": 0.81
      },
      "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.026,
          "after": 0.026,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5066,
          "after": 3.5066,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2334,
          "after": 0.2322,
          "delta": -0.0012,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.331,
          "after": 0.3318,
          "delta": 0.0008,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8173,
          "after": 0.8142,
          "delta": -0.0031,
          "percent_delta": -0.0038,
          "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.0549,
          "after": 0.0548,
          "delta": -0.0001,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3004,
          "after": 0.2986,
          "delta": -0.0018,
          "percent_delta": -0.006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4779,
          "after": 0.4752,
          "delta": -0.0027,
          "percent_delta": -0.0056,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3452,
          "after": 0.3432,
          "delta": -0.002,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3394,
          "after": 0.3385,
          "delta": -0.0009,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.812,
          "after": 0.81,
          "delta": -0.002,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.52), rates preserved: AVG=0.217 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.1564,
          "after": 0.0,
          "delta": -0.1564,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0,
          "delta": -0.026,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.5066,
          "after": 3.0,
          "delta": -0.5066,
          "percent_delta": -0.1445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3318,
          "after": 0.0,
          "delta": -0.3318,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8142,
          "after": 1.0,
          "delta": 0.1858,
          "percent_delta": 0.2282,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.02,
          "after": 0.0,
          "delta": -0.02,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0548,
          "after": 0.0,
          "delta": -0.0548,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3432,
          "after": 0.0,
          "delta": -0.3432,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.81,
          "after": 1.0,
          "delta": 0.19,
          "percent_delta": 0.2346,
          "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.81,
          "after": 1.0,
          "delta": 0.19,
          "percent_delta": 0.2346,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5066,
          "after": 3.0,
          "delta": -0.5066,
          "percent_delta": -0.1445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.4752,
          "after": 0.0,
          "delta": -0.4752,
          "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.4752,
          "after": 0.0,
          "delta": -0.4752,
          "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.1785,
        "predicted_3B": 0.0138,
        "predicted_BB": 0.3886,
        "predicted_H": 0.7471,
        "predicted_HR": 0.0713,
        "predicted_RBI": 0.3771,
        "predicted_SO": 0.9952
      },
      "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.0138,
          "delta": 0.0138,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3886,
          "delta": 0.3886,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7471,
          "delta": -0.2529,
          "percent_delta": -0.2529,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0713,
          "delta": 0.0713,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3771,
          "delta": 0.3771,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9952,
          "delta": -0.0048,
          "percent_delta": -0.0048,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3886,
          "delta": 0.3886,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7471,
          "delta": -0.2529,
          "percent_delta": -0.2529,
          "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": 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.0138,
          "after": 0.0,
          "delta": -0.0138,
          "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.3886,
          "after": 1.0,
          "delta": 0.6114,
          "percent_delta": 1.5733,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7471,
          "after": 1.0,
          "delta": 0.2529,
          "percent_delta": 0.3385,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0713,
          "after": 0.0,
          "delta": -0.0713,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3771,
          "after": 0.0,
          "delta": -0.3771,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9952,
          "after": 1.0,
          "delta": 0.0048,
          "percent_delta": 0.0048,
          "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.3886,
          "after": 1.0,
          "delta": 0.6114,
          "percent_delta": 1.5733,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3771,
          "after": 0.0,
          "delta": -0.3771,
          "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.219,
        "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.343,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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.2322,
          "after": 0.219,
          "delta": -0.0132,
          "percent_delta": -0.0568,
          "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.2986,
          "after": 0.305,
          "delta": 0.0064,
          "percent_delta": 0.0214,
          "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.3385,
          "after": 0.343,
          "delta": 0.0045,
          "percent_delta": 0.0133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2986,
          "after": 0.305,
          "delta": 0.0064,
          "percent_delta": 0.0214,
          "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": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 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.2322,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2986,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3385,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2322,
          "delta": 0.0132,
          "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": 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.305,
          "after": 0.2986,
          "delta": -0.0064,
          "percent_delta": -0.0211,
          "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.343,
          "after": 0.3385,
          "delta": -0.0045,
          "percent_delta": -0.0131,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2322,
          "delta": 0.0132,
          "percent_delta": 0.0602,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.305,
          "after": 0.2986,
          "delta": -0.0064,
          "percent_delta": -0.0211,
          "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.168,
        "after": 1.0,
        "delta": 0.832,
        "percent_delta": 4.9524,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.032,
        "after": 0.0,
        "delta": -0.032,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.516,
        "after": 4.0,
        "delta": 0.484,
        "percent_delta": 0.1377,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.225,
        "after": 0.2322,
        "delta": 0.0072,
        "percent_delta": 0.032,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.789,
        "after": 2.0,
        "delta": 1.211,
        "percent_delta": 1.5349,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.063,
        "after": 0.0,
        "delta": -0.063,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.304,
        "after": 0.2986,
        "delta": -0.0054,
        "percent_delta": -0.0178,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.495,
        "after": 1.0,
        "delta": 0.505,
        "percent_delta": 1.0202,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.344,
        "after": 0.3385,
        "delta": -0.0055,
        "percent_delta": -0.016,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.8,
        "after": 0.0,
        "delta": -0.8,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.789,
        "after": 2.0,
        "delta": 1.211,
        "percent_delta": 1.5349,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.8,
        "after": 0.0,
        "delta": -0.8,
        "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.168-
predicted_3B0.032-
predicted_AB3.516-
predicted_AVG0.225-
predicted_BB0.400-
predicted_H0.789-
predicted_HR0.063-
predicted_OBP0.304-
predicted_R0.495-
predicted_RBI0.400-
predicted_SLG0.344-
predicted_SO0.800-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.012
predicted_3B0.026-0.006
predicted_AB3.507-0.009
predicted_AVG0.2330.008
predicted_BB0.331-0.069
predicted_H0.8170.028
predicted_HBP0.020-
predicted_HR0.055-0.008
predicted_OBP0.300-0.004
predicted_R0.478-0.017
predicted_RBI0.345-0.055
predicted_SLG0.339-0.005
predicted_SO0.8120.012
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1560.000
predicted_3B0.0260.000
predicted_AB3.5070.000
predicted_AVG0.232-0.001
predicted_BB0.3320.001
predicted_H0.814-0.003
predicted_HBP0.0200.000
predicted_HR0.055-0.000
predicted_OBP0.299-0.002
predicted_R0.475-0.003
predicted_RBI0.343-0.002
predicted_SLG0.339-0.001
predicted_SO0.810-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1780.178
3B0.0140.014
BB0.3890.389
H0.747-0.253
HR0.0710.071
RBI0.3770.377
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.178
3B0.000-0.014
AB3.0000.000
BB1.0000.611
H1.0000.253
HR0.000-0.071
R0.0000.000
RBI0.000-0.377
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.156
predicted_3B0.000-0.026
predicted_AB3.000-0.507
predicted_AVG0.219-0.013
predicted_BB0.000-0.332
predicted_H1.0000.186
predicted_HR0.000-0.055
predicted_OBP0.3050.006
predicted_R0.000-0.475
predicted_RBI0.000-0.343
predicted_SLG0.3430.005
predicted_SO1.0000.190
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
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 95
Reference playing time: 3.801
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.0000.0001.0000.0005.0000.18750.18750.18750.18750.00000.00000.00000.3125
last_100.2010-36.00013.0002.0000.0000.0001.0006.0000.0007.0000.36110.36110.41670.36110.00000.02780.00000.1944
season0.6095-334.00075.00016.0003.0006.00038.00047.00038.00076.0000.22460.30850.34430.22450.01800.11380.11380.2275
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1410
predicted_3B0.0180
predicted_AB3.4940
predicted_AVG0.2447
predicted_BB0.2390
predicted_H0.8550
predicted_HBP0.0200
predicted_HR0.0440
predicted_OBP0.2956
predicted_R0.4550
predicted_RBI0.2720
predicted_SLG0.3333
predicted_SO0.8280
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16800.14100.1564model_form_blend
predicted_3B0.03200.01800.0260model_form_blend
predicted_AB3.51603.49403.5066model_form_blend
predicted_AVG0.22500.24470.2334model_form_blend
predicted_BB0.40000.23900.3310model_form_blend
predicted_H0.78900.85500.8173model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.06300.04400.0549model_form_blend
predicted_OBP0.30400.29560.3004model_form_blend
predicted_R0.49500.45500.4779model_form_blend
predicted_RBI0.40000.27200.3452model_form_blend
predicted_SLG0.34400.33330.3394model_form_blend
predicted_SO0.80000.82800.8120model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_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
allPositionsPlayedRF
gameID20261003_CHW@CLE
game_typefull
mlbID695731
playerID695731
playerNameBraden Montgomery
posOF
startedTrue
startingPositionRF
teamCHW
teamID6
game_date2026-10-03
sl_k_percent19.7
sl_bb_percent10.4
sl_woba0.298
sl_xwoba0.325
sl_xba0.255
sl_xslg0.392
sl_sweet_spot_percent28.2
sl_barrel_batted_rate4.4
sl_hard_hit_percent40.9
sl_exit_velocity_avg88.9
sl_launch_angle_avg3.0
sl_whiff_percent30.1
sl_swing_percent50.4
Andrew Benintendi (643217) · BATTER · DH · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 454
All-history rows before 20261005: 454
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2620
Diff (system - data): -0.0210
System opponent_avg: 0.3850
System season_avg diverges from 2026 season-to-date by -0.0210. 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.1681.0000.000Hitting_2B0.2200.0000.7801.000
predicted_3B0.0140.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB2.9654.0003.000Hitting_AB3.4472.0000.5532.000
predicted_AVG0.2300.2500.000Hitting_AVG0.2620.500-0.012-0.250
predicted_BB0.2870.0000.000Hitting_BB0.3221.000-0.322-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.5101.0000.000Hitting_H0.9031.0000.0970.000
predicted_HR0.0800.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.3150.2500.000Hitting_OBP0.3220.667-0.072-0.417
predicted_R0.4130.0000.000Hitting_R0.5241.000-0.524-1.000
predicted_RBI0.6100.0001.000Hitting_RBI0.6231.000-0.623-1.000
predicted_SLG0.3720.5000.000Hitting_SLG0.4450.5000.0550.000
predicted_SO0.7900.0001.000Hitting_SO0.8390.000-0.8390.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: 2.9650 -> 4.0000 (boost 1.0350, better)
Biggest Deboostpredicted_SO: 0.7900 -> 0.0000 (deboost -0.7900, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend64233predicted_BB: 0.2870 -> 0.3843 (boost 0.0973, better)predicted_AB: 2.9650 -> 2.8538 (deboost -0.1112, worse)Final model input calibrated 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.1875 (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_scaling74334predicted_H: 0.5352 -> 1.0000 (boost 0.4648, better)predicted_BB: 0.3853 -> 0.0000 (deboost -0.3853, worse)AB rounded to 3 (raw=2.96), rates preserved: AVG=0.170 HR/AB=0.034
6bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385)
7consistency_constraints10101-predicted_R: 0.3943 -> 0.0000 (deboost -0.3943, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_BB: 0.0000 -> 0.3194 (boost 0.3194, better)predicted_RBI: 1.0000 -> 0.5031 (deboost -0.4969, 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_allocation51414predicted_RBI: 0.5031 -> 1.0000 (boost 0.4969, better)predicted_H: 0.7325 -> 0.0000 (deboost -0.7325, 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_reference42231predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_AVG: 0.2330 -> 0.1875 (deboost -0.0455, 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.168,
        "predicted_3B": 0.014,
        "predicted_AB": 2.965,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.287,
        "predicted_H": 0.51,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.315,
        "predicted_R": 0.413,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.372,
        "predicted_SO": 0.79
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.136,
        "predicted_3B": 0.0114,
        "predicted_AB": 2.8538,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.3843,
        "predicted_H": 0.5372,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1016,
        "predicted_OBP": 0.3187,
        "predicted_R": 0.3966,
        "predicted_RBI": 0.6822,
        "predicted_SLG": 0.3826,
        "predicted_SO": 0.8756
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.168,
          "after": 0.136,
          "delta": -0.032,
          "percent_delta": -0.1905,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0114,
          "delta": -0.0026,
          "percent_delta": -0.1857,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.965,
          "after": 2.8538,
          "delta": -0.1112,
          "percent_delta": -0.0375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.222,
          "delta": -0.008,
          "percent_delta": -0.0348,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.287,
          "after": 0.3843,
          "delta": 0.0973,
          "percent_delta": 0.339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.51,
          "after": 0.5372,
          "delta": 0.0272,
          "percent_delta": 0.0533,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.1016,
          "delta": 0.0216,
          "percent_delta": 0.27,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.3187,
          "delta": 0.0037,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.413,
          "after": 0.3966,
          "delta": -0.0164,
          "percent_delta": -0.0397,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.61,
          "after": 0.6822,
          "delta": 0.0722,
          "percent_delta": 0.1184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.372,
          "after": 0.3826,
          "delta": 0.0106,
          "percent_delta": 0.0285,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.79,
          "after": 0.8756,
          "delta": 0.0856,
          "percent_delta": 0.1084,
          "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.287,
          "after": 0.3843,
          "delta": 0.0973,
          "percent_delta": 0.339,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 2.965,
          "after": 2.8538,
          "delta": -0.1112,
          "percent_delta": -0.0375,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.136,
        "predicted_3B": 0.0114,
        "predicted_AB": 2.8538,
        "predicted_AVG": 0.1875,
        "predicted_BB": 0.3853,
        "predicted_H": 0.5352,
        "predicted_HBP": 0.005,
        "predicted_HR": 0.1015,
        "predicted_OBP": 0.2842,
        "predicted_R": 0.3943,
        "predicted_RBI": 0.6783,
        "predicted_SLG": 0.3498,
        "predicted_SO": 0.8734
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.136,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0114,
          "after": 0.0114,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.8538,
          "after": 2.8538,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.1875,
          "delta": -0.0345,
          "percent_delta": -0.1554,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3843,
          "after": 0.3853,
          "delta": 0.001,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5372,
          "after": 0.5352,
          "delta": -0.002,
          "percent_delta": -0.0037,
          "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.1016,
          "after": 0.1015,
          "delta": -0.0001,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3187,
          "after": 0.2842,
          "delta": -0.0345,
          "percent_delta": -0.1083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3966,
          "after": 0.3943,
          "delta": -0.0023,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6822,
          "after": 0.6783,
          "delta": -0.0039,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3826,
          "after": 0.3498,
          "delta": -0.0328,
          "percent_delta": -0.0857,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8756,
          "after": 0.8734,
          "delta": -0.0022,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.1875,
          "delta": -0.0345,
          "percent_delta": -0.1554,
          "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.034",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.136,
          "after": 0.0,
          "delta": -0.136,
          "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": 2.8538,
          "after": 3.0,
          "delta": 0.1462,
          "percent_delta": 0.0512,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3853,
          "after": 0.0,
          "delta": -0.3853,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5352,
          "after": 1.0,
          "delta": 0.4648,
          "percent_delta": 0.8685,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.005,
          "after": 0.0,
          "delta": -0.005,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1015,
          "after": 0.0,
          "delta": -0.1015,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6783,
          "after": 1.0,
          "delta": 0.3217,
          "percent_delta": 0.4743,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8734,
          "after": 1.0,
          "delta": 0.1266,
          "percent_delta": 0.145,
          "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.5352,
          "after": 1.0,
          "delta": 0.4648,
          "percent_delta": 0.8685,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3853,
          "after": 0.0,
          "delta": -0.3853,
          "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.385)",
      "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": 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.3943,
          "after": 0.0,
          "delta": -0.3943,
          "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.3943,
          "after": 0.0,
          "delta": -0.3943,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1661,
        "predicted_3B": 0.0097,
        "predicted_BB": 0.3194,
        "predicted_H": 0.7325,
        "predicted_HR": 0.0917,
        "predicted_RBI": 0.5031,
        "predicted_SO": 1.0207
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1661,
          "delta": 0.1661,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0097,
          "delta": 0.0097,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3194,
          "delta": 0.3194,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7325,
          "delta": -0.2675,
          "percent_delta": -0.2675,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0917,
          "delta": 0.0917,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5031,
          "delta": -0.4969,
          "percent_delta": -0.4969,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0207,
          "delta": 0.0207,
          "percent_delta": 0.0207,
          "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.3194,
          "delta": 0.3194,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5031,
          "delta": -0.4969,
          "percent_delta": -0.4969,
          "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": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1661,
          "after": 0.0,
          "delta": -0.1661,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0097,
          "after": 0.0,
          "delta": -0.0097,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3194,
          "after": 0.0,
          "delta": -0.3194,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7325,
          "after": 0.0,
          "delta": -0.7325,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0917,
          "after": 0.0,
          "delta": -0.0917,
          "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.5031,
          "after": 1.0,
          "delta": 0.4969,
          "percent_delta": 0.9877,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0207,
          "after": 1.0,
          "delta": -0.0207,
          "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_RBI",
          "before": 0.5031,
          "after": 1.0,
          "delta": 0.4969,
          "percent_delta": 0.9877,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7325,
          "after": 0.0,
          "delta": -0.7325,
          "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.233,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1875,
          "after": 0.233,
          "delta": 0.0455,
          "percent_delta": 0.2427,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2842,
          "after": 0.309,
          "delta": 0.0248,
          "percent_delta": 0.0873,
          "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.3498,
          "after": 0.38,
          "delta": 0.0302,
          "percent_delta": 0.0863,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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": 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": 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": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.1875,
        "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.2842,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3498,
        "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.1875,
          "delta": -0.0455,
          "percent_delta": -0.1952,
          "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.309,
          "after": 0.2842,
          "delta": -0.0248,
          "percent_delta": -0.0804,
          "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.38,
          "after": 0.3498,
          "delta": -0.0302,
          "percent_delta": -0.0794,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.1875,
          "delta": -0.0455,
          "percent_delta": -0.1952,
          "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.168,
        "after": 1.0,
        "delta": 0.832,
        "percent_delta": 4.9524,
        "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": 2.965,
        "after": 4.0,
        "delta": 1.035,
        "percent_delta": 0.3491,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.23,
        "after": 0.1875,
        "delta": -0.0425,
        "percent_delta": -0.1848,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.287,
        "after": 0.0,
        "delta": -0.287,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.51,
        "after": 1.0,
        "delta": 0.49,
        "percent_delta": 0.9608,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.315,
        "after": 0.2842,
        "delta": -0.0308,
        "percent_delta": -0.0978,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.413,
        "after": 0.0,
        "delta": -0.413,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.372,
        "after": 0.3498,
        "delta": -0.0222,
        "percent_delta": -0.0597,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.965,
        "after": 4.0,
        "delta": 1.035,
        "percent_delta": 0.3491,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.79,
        "after": 0.0,
        "delta": -0.79,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.168-
predicted_3B0.014-
predicted_AB2.965-
predicted_AVG0.230-
predicted_BB0.287-
predicted_H0.510-
predicted_HR0.080-
predicted_OBP0.315-
predicted_R0.413-
predicted_RBI0.610-
predicted_SLG0.372-
predicted_SO0.790-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.136-0.032
predicted_3B0.011-0.003
predicted_AB2.854-0.111
predicted_AVG0.222-0.008
predicted_BB0.3840.097
predicted_H0.5370.027
predicted_HBP0.005-
predicted_HR0.1020.022
predicted_OBP0.3190.004
predicted_R0.397-0.016
predicted_RBI0.6820.072
predicted_SLG0.3830.011
predicted_SO0.8760.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.1360.000
predicted_3B0.0110.000
predicted_AB2.8540.000
predicted_AVG0.188-0.035
predicted_BB0.3850.001
predicted_H0.535-0.002
predicted_HBP0.0050.000
predicted_HR0.102-0.000
predicted_OBP0.284-0.034
predicted_R0.394-0.002
predicted_RBI0.678-0.004
predicted_SLG0.350-0.033
predicted_SO0.873-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.96), rates preserved: AVG=0.170 HR/AB=0.034

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

Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.385)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1660.166
3B0.0100.010
BB0.3190.319
H0.733-0.267
HR0.0920.092
RBI0.503-0.497
SO1.0210.021
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.166
3B0.000-0.010
AB3.0000.000
BB0.000-0.319
H0.000-0.733
HR0.000-0.092
R0.0000.000
RBI1.0000.497
SO1.000-0.021
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.136
predicted_3B0.000-0.011
predicted_AB3.0000.146
predicted_AVG0.2330.046
predicted_BB0.000-0.385
predicted_H1.0000.465
predicted_HR0.000-0.102
predicted_OBP0.3090.025
predicted_R0.000-0.394
predicted_RBI1.0000.322
predicted_SLG0.3800.030
predicted_SO1.0000.127
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.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: 3.801
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.0006.0002.0005.0006.0000.18180.41180.45450.18180.09090.54540.45460.5454
last_100.2010-21.0003.0000.0000.0001.0008.0002.0005.00011.0000.14290.29630.28570.14290.04760.38100.23810.5238
season0.60143-424.000102.00024.0002.00015.00079.00059.00041.000113.0000.24060.30510.41270.24060.03540.18630.09670.2665
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0940
predicted_3B0.0080
predicted_AB2.7080
predicted_AVG0.2116
predicted_BB0.5120
predicted_H0.5730
predicted_HBP0.0050
predicted_HR0.1300
predicted_OBP0.3235
predicted_R0.3750
predicted_RBI0.7770
predicted_SLG0.3964
predicted_SO0.9880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16800.09400.1360model_form_blend
predicted_3B0.01400.00800.0114model_form_blend
predicted_AB2.96502.70802.8538model_form_blend
predicted_AVG0.23000.21160.2220model_form_blend
predicted_BB0.28700.51200.3843model_form_blend
predicted_H0.51000.57300.5372model_form_blend
predicted_HBP-0.00500.0050form_only
predicted_HR0.08000.13000.1016model_form_blend
predicted_OBP0.31500.32350.3187model_form_blend
predicted_R0.41300.37500.3966model_form_blend
predicted_RBI0.61000.77700.6822model_form_blend
predicted_SLG0.37200.39640.3826model_form_blend
predicted_SO0.79000.98800.8756model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20260930_CHW@HOU
game_typefull
mlbID643217
playerID643217
playerNameAndrew Benintendi
posDH
startedTrue
startingPositionDH
teamCHW
teamID6
game_date2026-09-30
sl_k_percent23.9
sl_bb_percent8.3
sl_woba0.311
sl_xwoba0.307
sl_xba0.24
sl_xslg0.398
sl_sweet_spot_percent36.4
sl_barrel_batted_rate8.6
sl_hard_hit_percent45.1
sl_exit_velocity_avg89.3
sl_launch_angle_avg17.3
sl_whiff_percent28.3
sl_swing_percent51.8
Kyle Teel (691019) · BATTER · C · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 118
All-history rows before 20261005: 118
System season_avg: 0.2120
Data season_avg (2026 season-to-date): 0.2067
Diff (system - data): 0.0053
System opponent_avg: 0.0210

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0730.0000.000Hitting_2B0.1270.000-0.1270.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.8905.0004.000Hitting_AB3.5253.0001.4752.000
predicted_AVG0.2240.0000.250Hitting_AVG0.2070.000-0.2070.000
predicted_BB0.4390.0001.000Hitting_BB0.5591.000-0.559-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8700.0001.000Hitting_H0.7290.000-0.7290.000
predicted_HR0.1000.0000.000Hitting_HR0.1690.000-0.1690.000
predicted_OBP0.3340.0000.400Hitting_OBP0.3260.250-0.326-0.250
predicted_R0.5370.0001.000Hitting_R0.6021.000-0.602-1.000
predicted_RBI0.6600.0001.000Hitting_RBI0.8640.000-0.8640.000
predicted_SLG0.3610.0000.250Hitting_SLG0.3870.000-0.3870.000
predicted_SO1.3663.0002.000Hitting_SO1.5342.0001.4661.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_SO: 1.3660 -> 3.0000 (boost 1.6340, 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_blend21111predicted_AVG: 0.2240 -> 0.2314 (boost 0.0074, better)predicted_AB: 3.8900 -> 3.7431 (deboost -0.1469, worse)Final model input calibrated 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.3567 -> 0.3302 (deboost -0.0265, 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_SO: 1.3401 -> 2.0000 (boost 0.6599, worse)predicted_BB: 0.4207 -> 0.0000 (deboost -0.4207, worse)AB rounded to 4 (raw=3.89), rates preserved: AVG=0.208 HR/AB=0.026
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)
7consistency_constraints11010predicted_R: 0.5539 -> 1.0000 (boost 0.4461, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.4327 (boost 0.4327, better)predicted_RBI: 1.0000 -> 0.4874 (deboost -0.5126, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation64233predicted_BB: 0.4327 -> 1.0000 (boost 0.5673, better)predicted_2B: 0.1485 -> 0.0000 (deboost -0.1485, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context41313predicted_SLG: 0.3302 -> 0.3400 (boost 0.0098, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference52314predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_AVG: 0.2050 -> 0.2299 (boost 0.0249, better)predicted_SLG: 0.3400 -> 0.3302 (deboost -0.0098, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "691019",
  "player_name": "Kyle Teel",
  "position": "C",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.073,
        "predicted_3B": 0.0,
        "predicted_AB": 3.89,
        "predicted_AVG": 0.224,
        "predicted_BB": 0.439,
        "predicted_H": 0.87,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.334,
        "predicted_R": 0.537,
        "predicted_RBI": 0.66,
        "predicted_SLG": 0.361,
        "predicted_SO": 1.366
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0706,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.7431,
        "predicted_AVG": 0.2314,
        "predicted_BB": 0.4197,
        "predicted_H": 0.864,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.1012,
        "predicted_OBP": 0.3317,
        "predicted_R": 0.5571,
        "predicted_RBI": 0.6499,
        "predicted_SLG": 0.3567,
        "predicted_SO": 1.3435
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.073,
          "after": 0.0706,
          "delta": -0.0024,
          "percent_delta": -0.0329,
          "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.89,
          "after": 3.7431,
          "delta": -0.1469,
          "percent_delta": -0.0378,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.224,
          "after": 0.2314,
          "delta": 0.0074,
          "percent_delta": 0.033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.439,
          "after": 0.4197,
          "delta": -0.0193,
          "percent_delta": -0.044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.864,
          "delta": -0.006,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1012,
          "delta": 0.0012,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.334,
          "after": 0.3317,
          "delta": -0.0023,
          "percent_delta": -0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.537,
          "after": 0.5571,
          "delta": 0.0201,
          "percent_delta": 0.0374,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.66,
          "after": 0.6499,
          "delta": -0.0101,
          "percent_delta": -0.0153,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.361,
          "after": 0.3567,
          "delta": -0.0043,
          "percent_delta": -0.0119,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.366,
          "after": 1.3435,
          "delta": -0.0225,
          "percent_delta": -0.0165,
          "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.224,
          "after": 0.2314,
          "delta": 0.0074,
          "percent_delta": 0.033,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.89,
          "after": 3.7431,
          "delta": -0.1469,
          "percent_delta": -0.0378,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 41
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0706,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.7431,
        "predicted_AVG": 0.2299,
        "predicted_BB": 0.4207,
        "predicted_H": 0.8607,
        "predicted_HBP": 0.091,
        "predicted_HR": 0.1011,
        "predicted_OBP": 0.3078,
        "predicted_R": 0.5539,
        "predicted_RBI": 0.6462,
        "predicted_SLG": 0.3302,
        "predicted_SO": 1.3401
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0706,
          "after": 0.0706,
          "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.7431,
          "after": 3.7431,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2314,
          "after": 0.2299,
          "delta": -0.0015,
          "percent_delta": -0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4197,
          "after": 0.4207,
          "delta": 0.001,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.864,
          "after": 0.8607,
          "delta": -0.0033,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.091,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1012,
          "after": 0.1011,
          "delta": -0.0001,
          "percent_delta": -0.001,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3317,
          "after": 0.3078,
          "delta": -0.0239,
          "percent_delta": -0.0721,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5571,
          "after": 0.5539,
          "delta": -0.0032,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6499,
          "after": 0.6462,
          "delta": -0.0037,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3567,
          "after": 0.3302,
          "delta": -0.0265,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3435,
          "after": 1.3401,
          "delta": -0.0034,
          "percent_delta": -0.0025,
          "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.3567,
          "after": 0.3302,
          "delta": -0.0265,
          "percent_delta": -0.0743,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.89), rates preserved: AVG=0.208 HR/AB=0.026",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0706,
          "after": 0.0,
          "delta": -0.0706,
          "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.7431,
          "after": 4.0,
          "delta": 0.2569,
          "percent_delta": 0.0686,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4207,
          "after": 0.0,
          "delta": -0.4207,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8607,
          "after": 1.0,
          "delta": 0.1393,
          "percent_delta": 0.1618,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.091,
          "after": 0.0,
          "delta": -0.091,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1011,
          "after": 0.0,
          "delta": -0.1011,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6462,
          "after": 1.0,
          "delta": 0.3538,
          "percent_delta": 0.5475,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3401,
          "after": 2.0,
          "delta": 0.6599,
          "percent_delta": 0.4924,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 4,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.3401,
          "after": 2.0,
          "delta": 0.6599,
          "percent_delta": 0.4924,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4207,
          "after": 0.0,
          "delta": -0.4207,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 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_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9077,
        "bvp": 0.0923
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.5539,
          "after": 1.0,
          "delta": 0.4461,
          "percent_delta": 0.8054,
          "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.5539,
          "after": 1.0,
          "delta": 0.4461,
          "percent_delta": 0.8054,
          "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.1485,
        "predicted_3B": 0.0092,
        "predicted_BB": 0.4327,
        "predicted_H": 0.7334,
        "predicted_HR": 0.1061,
        "predicted_RBI": 0.4874,
        "predicted_SO": 1.7304
      },
      "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.0092,
          "delta": 0.0092,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4327,
          "delta": 0.4327,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7334,
          "delta": -0.2666,
          "percent_delta": -0.2666,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1061,
          "delta": 0.1061,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4874,
          "delta": -0.5126,
          "percent_delta": -0.5126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.7304,
          "delta": -0.2696,
          "percent_delta": -0.1348,
          "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.4327,
          "delta": 0.4327,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4874,
          "delta": -0.5126,
          "percent_delta": -0.5126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 2.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.0092,
          "after": 0.0,
          "delta": -0.0092,
          "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.4327,
          "after": 1.0,
          "delta": 0.5673,
          "percent_delta": 1.3111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7334,
          "after": 1.0,
          "delta": 0.2666,
          "percent_delta": 0.3635,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1061,
          "after": 0.0,
          "delta": -0.1061,
          "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.4874,
          "after": 1.0,
          "delta": 0.5126,
          "percent_delta": 1.0517,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7304,
          "after": 2.0,
          "delta": 0.2696,
          "percent_delta": 0.1558,
          "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.4327,
          "after": 1.0,
          "delta": 0.5673,
          "percent_delta": 1.3111,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1485,
          "after": 0.0,
          "delta": -0.1485,
          "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.205,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.34,
        "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.2299,
          "after": 0.205,
          "delta": -0.0249,
          "percent_delta": -0.1083,
          "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.3078,
          "after": 0.296,
          "delta": -0.0118,
          "percent_delta": -0.0383,
          "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.3302,
          "after": 0.34,
          "delta": 0.0098,
          "percent_delta": 0.0297,
          "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": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3302,
          "after": 0.34,
          "delta": 0.0098,
          "percent_delta": 0.0297,
          "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": 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": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "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": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.2299,
        "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.3078,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3302,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2299,
          "delta": 0.0249,
          "percent_delta": 0.1217,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.296,
          "after": 0.3078,
          "delta": 0.0118,
          "percent_delta": 0.0397,
          "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.34,
          "after": 0.3302,
          "delta": -0.0098,
          "percent_delta": -0.0287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.205,
          "after": 0.2299,
          "delta": 0.0249,
          "percent_delta": 0.1217,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.34,
          "after": 0.3302,
          "delta": -0.0098,
          "percent_delta": -0.0287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.073,
        "after": 0.0,
        "delta": -0.073,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.89,
        "after": 5.0,
        "delta": 1.11,
        "percent_delta": 0.2853,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.224,
        "after": 0.2299,
        "delta": 0.0059,
        "percent_delta": 0.0263,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "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.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.334,
        "after": 0.3078,
        "delta": -0.0262,
        "percent_delta": -0.0784,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.537,
        "after": 0.0,
        "delta": -0.537,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.66,
        "after": 0.0,
        "delta": -0.66,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.361,
        "after": 0.3302,
        "delta": -0.0308,
        "percent_delta": -0.0853,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.366,
        "after": 3.0,
        "delta": 1.634,
        "percent_delta": 1.1962,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.366,
        "after": 3.0,
        "delta": 1.634,
        "percent_delta": 1.1962,
        "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.073-
predicted_3B0.000-
predicted_AB3.890-
predicted_AVG0.224-
predicted_BB0.439-
predicted_H0.870-
predicted_HR0.100-
predicted_OBP0.334-
predicted_R0.537-
predicted_RBI0.660-
predicted_SLG0.361-
predicted_SO1.366-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.071-0.002
predicted_3B0.0010.001
predicted_AB3.743-0.147
predicted_AVG0.2310.007
predicted_BB0.420-0.019
predicted_H0.864-0.006
predicted_HBP0.091-
predicted_HR0.1010.001
predicted_OBP0.332-0.002
predicted_R0.5570.020
predicted_RBI0.650-0.010
predicted_SLG0.357-0.004
predicted_SO1.343-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.0710.000
predicted_3B0.0010.000
predicted_AB3.7430.000
predicted_AVG0.230-0.002
predicted_BB0.4210.001
predicted_H0.861-0.003
predicted_HBP0.0910.000
predicted_HR0.101-0.000
predicted_OBP0.308-0.024
predicted_R0.554-0.003
predicted_RBI0.646-0.004
predicted_SLG0.330-0.027
predicted_SO1.340-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.89), rates preserved: AVG=0.208 HR/AB=0.026

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

Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI1.0000.000
SO2.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-
SO2.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.0090.009
BB0.4330.433
H0.733-0.267
HR0.1060.106
RBI0.487-0.513
SO1.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.009
AB4.0000.000
BB1.0000.567
H1.0000.267
HR0.000-0.106
R1.0000.000
RBI1.0000.513
SO2.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.071
predicted_3B0.000-0.001
predicted_AB4.0000.257
predicted_AVG0.205-0.025
predicted_BB0.000-0.421
predicted_H1.0000.139
predicted_HR0.000-0.101
predicted_OBP0.296-0.012
predicted_R1.0000.446
predicted_RBI1.0000.354
predicted_SLG0.3400.010
predicted_SO2.0000.660
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 41
Reference playing time: 3.890
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0006.0000.0000.0000.0003.0003.0001.0007.0000.30000.31820.30000.30000.00000.15000.05000.3500
last_100.2010-37.00010.0000.0000.0001.0007.0008.0005.00014.0000.27030.37780.35140.27030.02700.18920.13510.3784
season0.6041-132.00028.0003.0000.0005.00027.00022.00018.00056.0000.21210.32260.34850.21210.03790.20460.13640.4242
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0670
predicted_3B0.0020
predicted_AB3.5250
predicted_AVG0.2424
predicted_BB0.3910
predicted_H0.8550
predicted_HBP0.0910
predicted_HR0.1030
predicted_OBP0.3283
predicted_R0.5870
predicted_RBI0.6350
predicted_SLG0.3504
predicted_SO1.3100
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07300.06700.0706model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.89003.52503.7431model_form_blend
predicted_AVG0.22400.24240.2314model_form_blend
predicted_BB0.43900.39100.4197model_form_blend
predicted_H0.87000.85500.8640model_form_blend
predicted_HBP-0.09100.0910form_only
predicted_HR0.10000.10300.1012model_form_blend
predicted_OBP0.33400.32830.3317model_form_blend
predicted_R0.53700.58700.5571model_form_blend
predicted_RBI0.66000.63500.6499model_form_blend
predicted_SLG0.36100.35040.3567model_form_blend
predicted_SO1.36601.31001.3435model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
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_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261003_CHW@CLE
game_typefull
mlbID691019
playerID691019
playerNameKyle Teel
posC
startedTrue
startingPositionC
teamCHW
teamID6
game_date2026-10-03
sl_k_percent35.4
sl_bb_percent13.2
sl_woba0.317
sl_xwoba0.321
sl_xba0.211
sl_xslg0.375
sl_sweet_spot_percent41.4
sl_barrel_batted_rate11.4
sl_hard_hit_percent47.1
sl_exit_velocity_avg85.7
sl_launch_angle_avg13.6
sl_whiff_percent35.6
sl_swing_percent45.4
Tristan Peters (671976) · BATTER · CF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 481
All-history rows before 20261005: 481
System season_avg: 0.2670
Data season_avg (2026 season-to-date): 0.2892
Diff (system - data): -0.0222
System opponent_avg: 0.1800
System season_avg diverges from 2026 season-to-date by -0.0222. 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.2070.0001.000Hitting_2B0.2520.000-0.2520.000
predicted_3B0.0270.0000.000Hitting_3B0.0270.000-0.0270.000
predicted_AB2.9734.0003.000Hitting_AB3.2062.0000.7942.000
predicted_AVG0.2570.0000.333Hitting_AVG0.2890.500-0.289-0.500
predicted_BB0.2470.0000.000Hitting_BB0.2720.000-0.2720.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.4400.0001.000Hitting_H0.9271.000-0.927-1.000
predicted_HR0.0300.0000.000Hitting_HR0.1060.000-0.1060.000
predicted_OBP0.3220.0000.333Hitting_OBP0.3560.500-0.356-0.500
predicted_R0.4130.0000.000Hitting_R0.4820.000-0.4820.000
predicted_RBI0.1900.0000.000Hitting_RBI0.4840.000-0.4840.000
predicted_SLG0.3470.0000.667Hitting_SLG0.4840.500-0.484-0.500
predicted_SO0.6131.0001.000Hitting_SO0.6050.0000.3951.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_AB: 2.9730 -> 4.0000 (boost 1.0270, better)
Biggest Deboostpredicted_H: 0.4400 -> 0.0000 (deboost -0.4400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_H: 0.4400 -> 0.5730 (boost 0.1330, 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.3206 -> 0.2530 (deboost -0.0676, 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.5708 -> 1.0000 (boost 0.4292, better)predicted_RBI: 0.2514 -> 0.0000 (deboost -0.2514, worse)AB rounded to 3 (raw=2.97), rates preserved: AVG=0.180 HR/AB=0.013
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
7consistency_constraints10101-predicted_R: 0.3938 -> 0.0000 (deboost -0.3938, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.3860 (boost 0.3860, better)predicted_H: 1.0000 -> 0.7847 (deboost -0.2153, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation63324predicted_2B: 0.1799 -> 1.0000 (boost 0.8201, better)predicted_RBI: 0.3860 -> 0.0000 (deboost -0.3860, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3047 -> 0.3660 (boost 0.0613, 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_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.3660 -> 0.3047 (deboost -0.0613, worse)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.207,
        "predicted_3B": 0.027,
        "predicted_AB": 2.973,
        "predicted_AVG": 0.257,
        "predicted_BB": 0.247,
        "predicted_H": 0.44,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.322,
        "predicted_R": 0.413,
        "predicted_RBI": 0.19,
        "predicted_SLG": 0.347,
        "predicted_SO": 0.613
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.171,
        "predicted_3B": 0.0222,
        "predicted_AB": 2.9652,
        "predicted_AVG": 0.2551,
        "predicted_BB": 0.2396,
        "predicted_H": 0.573,
        "predicted_HBP": 0.059,
        "predicted_HR": 0.0391,
        "predicted_OBP": 0.3206,
        "predicted_R": 0.3961,
        "predicted_RBI": 0.2528,
        "predicted_SLG": 0.3513,
        "predicted_SO": 0.6165
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.207,
          "after": 0.171,
          "delta": -0.036,
          "percent_delta": -0.1739,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.027,
          "after": 0.0222,
          "delta": -0.0048,
          "percent_delta": -0.1778,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.973,
          "after": 2.9652,
          "delta": -0.0078,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.257,
          "after": 0.2551,
          "delta": -0.0019,
          "percent_delta": -0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.247,
          "after": 0.2396,
          "delta": -0.0074,
          "percent_delta": -0.03,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.44,
          "after": 0.573,
          "delta": 0.133,
          "percent_delta": 0.3023,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.03,
          "after": 0.0391,
          "delta": 0.0091,
          "percent_delta": 0.3033,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3206,
          "delta": -0.0014,
          "percent_delta": -0.0043,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.413,
          "after": 0.3961,
          "delta": -0.0169,
          "percent_delta": -0.0409,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.19,
          "after": 0.2528,
          "delta": 0.0628,
          "percent_delta": 0.3305,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.347,
          "after": 0.3513,
          "delta": 0.0043,
          "percent_delta": 0.0124,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.613,
          "after": 0.6165,
          "delta": 0.0035,
          "percent_delta": 0.0057,
          "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.44,
          "after": 0.573,
          "delta": 0.133,
          "percent_delta": 0.3023,
          "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": 150
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.171,
        "predicted_3B": 0.0222,
        "predicted_AB": 2.9652,
        "predicted_AVG": 0.1925,
        "predicted_BB": 0.2402,
        "predicted_H": 0.5708,
        "predicted_HBP": 0.059,
        "predicted_HR": 0.039,
        "predicted_OBP": 0.253,
        "predicted_R": 0.3938,
        "predicted_RBI": 0.2514,
        "predicted_SLG": 0.3047,
        "predicted_SO": 0.615
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.171,
          "after": 0.171,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0222,
          "after": 0.0222,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9652,
          "after": 2.9652,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2551,
          "after": 0.1925,
          "delta": -0.0626,
          "percent_delta": -0.2454,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2396,
          "after": 0.2402,
          "delta": 0.0006,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.573,
          "after": 0.5708,
          "delta": -0.0022,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.059,
          "after": 0.059,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0391,
          "after": 0.039,
          "delta": -0.0001,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3206,
          "after": 0.253,
          "delta": -0.0676,
          "percent_delta": -0.2109,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3961,
          "after": 0.3938,
          "delta": -0.0023,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2528,
          "after": 0.2514,
          "delta": -0.0014,
          "percent_delta": -0.0055,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3513,
          "after": 0.3047,
          "delta": -0.0466,
          "percent_delta": -0.1327,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6165,
          "after": 0.615,
          "delta": -0.0015,
          "percent_delta": -0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3206,
          "after": 0.253,
          "delta": -0.0676,
          "percent_delta": -0.2109,
          "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.97), rates preserved: AVG=0.180 HR/AB=0.013",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.171,
          "after": 0.0,
          "delta": -0.171,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0222,
          "after": 0.0,
          "delta": -0.0222,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9652,
          "after": 3.0,
          "delta": 0.0348,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2402,
          "after": 0.0,
          "delta": -0.2402,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5708,
          "after": 1.0,
          "delta": 0.4292,
          "percent_delta": 0.7519,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.059,
          "after": 0.0,
          "delta": -0.059,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.039,
          "after": 0.0,
          "delta": -0.039,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2514,
          "after": 0.0,
          "delta": -0.2514,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.615,
          "after": 1.0,
          "delta": 0.385,
          "percent_delta": 0.626,
          "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.5708,
          "after": 1.0,
          "delta": 0.4292,
          "percent_delta": 0.7519,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.2514,
          "after": 0.0,
          "delta": -0.2514,
          "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.3938,
          "after": 0.0,
          "delta": -0.3938,
          "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.3938,
          "after": 0.0,
          "delta": -0.3938,
          "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.1799,
        "predicted_3B": 0.0147,
        "predicted_BB": 0.309,
        "predicted_H": 0.7847,
        "predicted_HR": 0.0861,
        "predicted_RBI": 0.386,
        "predicted_SO": 0.9242
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1799,
          "delta": 0.1799,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0147,
          "delta": 0.0147,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.309,
          "delta": 0.309,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7847,
          "delta": -0.2153,
          "percent_delta": -0.2153,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0861,
          "delta": 0.0861,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.386,
          "delta": 0.386,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9242,
          "delta": -0.0758,
          "percent_delta": -0.0758,
          "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.386,
          "delta": 0.386,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7847,
          "delta": -0.2153,
          "percent_delta": -0.2153,
          "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": 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.1799,
          "after": 1.0,
          "delta": 0.8201,
          "percent_delta": 4.5586,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0147,
          "after": 0.0,
          "delta": -0.0147,
          "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.309,
          "after": 0.0,
          "delta": -0.309,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7847,
          "after": 1.0,
          "delta": 0.2153,
          "percent_delta": 0.2744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0861,
          "after": 0.0,
          "delta": -0.0861,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.386,
          "after": 0.0,
          "delta": -0.386,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9242,
          "after": 1.0,
          "delta": 0.0758,
          "percent_delta": 0.082,
          "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.1799,
          "after": 1.0,
          "delta": 0.8201,
          "percent_delta": 4.5586,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.386,
          "after": 0.0,
          "delta": -0.386,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.366,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1925,
          "after": 0.229,
          "delta": 0.0365,
          "percent_delta": 0.1896,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.253,
          "after": 0.299,
          "delta": 0.046,
          "percent_delta": 0.1818,
          "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.3047,
          "after": 0.366,
          "delta": 0.0613,
          "percent_delta": 0.2012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.3047,
          "after": 0.366,
          "delta": 0.0613,
          "percent_delta": 0.2012,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1925,
        "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.253,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3047,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.1925,
          "delta": -0.0365,
          "percent_delta": -0.1594,
          "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.299,
          "after": 0.253,
          "delta": -0.046,
          "percent_delta": -0.1538,
          "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.366,
          "after": 0.3047,
          "delta": -0.0613,
          "percent_delta": -0.1676,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.366,
          "after": 0.3047,
          "delta": -0.0613,
          "percent_delta": -0.1676,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.207,
        "after": 0.0,
        "delta": -0.207,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.027,
        "after": 0.0,
        "delta": -0.027,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.973,
        "after": 4.0,
        "delta": 1.027,
        "percent_delta": 0.3454,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.257,
        "after": 0.1925,
        "delta": -0.0645,
        "percent_delta": -0.251,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.247,
        "after": 0.0,
        "delta": -0.247,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.03,
        "after": 0.0,
        "delta": -0.03,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.322,
        "after": 0.253,
        "delta": -0.069,
        "percent_delta": -0.2143,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.413,
        "after": 0.0,
        "delta": -0.413,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.347,
        "after": 0.3047,
        "delta": -0.0423,
        "percent_delta": -0.1219,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.613,
        "after": 1.0,
        "delta": 0.387,
        "percent_delta": 0.6313,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.973,
        "after": 4.0,
        "delta": 1.027,
        "percent_delta": 0.3454,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.207-
predicted_3B0.027-
predicted_AB2.973-
predicted_AVG0.257-
predicted_BB0.247-
predicted_H0.440-
predicted_HR0.030-
predicted_OBP0.322-
predicted_R0.413-
predicted_RBI0.190-
predicted_SLG0.347-
predicted_SO0.613-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.036
predicted_3B0.022-0.005
predicted_AB2.965-0.008
predicted_AVG0.255-0.002
predicted_BB0.240-0.007
predicted_H0.5730.133
predicted_HBP0.059-
predicted_HR0.0390.009
predicted_OBP0.321-0.001
predicted_R0.396-0.017
predicted_RBI0.2530.063
predicted_SLG0.3510.004
predicted_SO0.6170.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.1710.000
predicted_3B0.0220.000
predicted_AB2.9650.000
predicted_AVG0.193-0.063
predicted_BB0.2400.001
predicted_H0.571-0.002
predicted_HBP0.0590.000
predicted_HR0.039-0.000
predicted_OBP0.253-0.068
predicted_R0.394-0.002
predicted_RBI0.251-0.001
predicted_SLG0.305-0.047
predicted_SO0.615-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.97), rates preserved: AVG=0.180 HR/AB=0.013

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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.1800.180
3B0.0150.015
BB0.3090.309
H0.785-0.215
HR0.0860.086
RBI0.3860.386
SO0.924-0.076
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.820
3B0.000-0.015
AB3.0000.000
BB0.000-0.309
H1.0000.215
HR0.000-0.086
R0.0000.000
RBI0.000-0.386
SO1.0000.076
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.022
predicted_AB3.0000.035
predicted_AVG0.2290.037
predicted_BB0.000-0.240
predicted_H1.0000.429
predicted_HR0.000-0.039
predicted_OBP0.2990.046
predicted_R0.000-0.394
predicted_RBI0.000-0.251
predicted_SLG0.3660.061
predicted_SO1.0000.385
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.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 150
Reference playing time: 3.801
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.0000.0001.0002.0001.0003.0000.28570.33330.28570.28570.00000.07140.07140.2143
last_100.2010-28.0005.0000.0000.0000.0003.0002.0002.0006.0000.17860.25810.17860.17860.00000.10710.07140.2143
season0.60150-446.000119.00031.0004.00012.00057.00062.00037.00092.0000.26680.33540.43500.26680.02690.12780.08300.2063
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1240
predicted_3B0.0160
predicted_AB2.9550
predicted_AVG0.2527
predicted_BB0.2300
predicted_H0.7470
predicted_HBP0.0590
predicted_HR0.0510
predicted_OBP0.3187
predicted_R0.3740
predicted_RBI0.3350
predicted_SLG0.3569
predicted_SO0.6210
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20700.12400.1710model_form_blend
predicted_3B0.02700.01600.0222model_form_blend
predicted_AB2.97302.95502.9652model_form_blend
predicted_AVG0.25700.25270.2551model_form_blend
predicted_BB0.24700.23000.2396model_form_blend
predicted_H0.44000.74700.5730model_form_blend
predicted_HBP-0.05900.0590form_only
predicted_HR0.03000.05100.0391model_form_blend
predicted_OBP0.32200.31870.3206model_form_blend
predicted_R0.41300.37400.3961model_form_blend
predicted_RBI0.19000.33500.2528model_form_blend
predicted_SLG0.34700.35690.3513model_form_blend
predicted_SO0.61300.62100.6165model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_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_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-LF
gameID20261003_CHW@CLE
game_typeph
mlbID671976
noteSingled for Grichuk in the 6th.
playerID671976
playerNameTristan Peters
posCF
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-03
sl_k_percent18.3
sl_bb_percent7.5
sl_woba0.34
sl_xwoba0.314
sl_xba0.248
sl_xslg0.384
sl_sweet_spot_percent33.1
sl_barrel_batted_rate5.4
sl_hard_hit_percent34.1
sl_exit_velocity_avg87.5
sl_launch_angle_avg18.0
sl_whiff_percent23.0
sl_swing_percent53.6
Chase Meidroth (805367) · BATTER · 2B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 623
All-history rows before 20261005: 623
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2783
Diff (system - data): -0.0013
System opponent_avg: 0.2550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1990.0000.000Hitting_2B0.2040.000-0.2040.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6994.0003.000Hitting_AB3.7724.0000.2280.000
predicted_AVG0.2640.0000.333Hitting_AVG0.2780.000-0.2780.000
predicted_BB0.3910.0000.000Hitting_BB0.4350.000-0.4350.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H0.9500.0001.000Hitting_H1.0500.000-1.0500.000
predicted_HR0.1500.0000.000Hitting_HR0.1140.000-0.1140.000
predicted_OBP0.3640.0000.333Hitting_OBP0.3560.000-0.3560.000
predicted_R0.5900.0001.000Hitting_R0.6260.000-0.6260.000
predicted_RBI0.7000.0000.000Hitting_RBI0.4330.000-0.4330.000
predicted_SB-0.0000.000BaseRunning_SB0.0260.000-0.0260.000
predicted_SLG0.4560.0000.333Hitting_SLG0.4230.000-0.4230.000
predicted_SO0.9171.0001.000Hitting_SO0.9372.0000.063-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_AB: 3.6990 -> 4.0000 (boost 0.3010, better)
Biggest Deboostpredicted_H: 0.9500 -> 0.0000 (deboost -0.9500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54141predicted_H: 0.9500 -> 1.0418 (boost 0.0918, better)predicted_AB: 3.6990 -> 3.6343 (deboost -0.0647, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_OBP: 0.3753 -> 0.3507 (deboost -0.0246, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_RBI: 0.6725 -> 1.0000 (boost 0.3275, better)predicted_AB: 3.6343 -> 3.0000 (deboost -0.6343, worse)AB rounded to 3 (raw=3.70), rates preserved: AVG=0.264 HR/AB=0.043
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)
7consistency_constraints11010predicted_R: 0.5866 -> 1.0000 (boost 0.4134, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3395 (boost 0.3395, better)predicted_RBI: 1.0000 -> 0.3574 (deboost -0.6426, 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.8108 -> 1.0000 (boost 0.1892, better)predicted_RBI: 0.3574 -> 0.0000 (deboost -0.3574, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context41313predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.4759 -> 0.3680 (deboost -0.1079, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference41313predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.3680 -> 0.4759 (boost 0.1079, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "805367",
  "player_name": "Chase Meidroth",
  "position": "2B",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.199,
        "predicted_3B": 0.0,
        "predicted_AB": 3.699,
        "predicted_AVG": 0.264,
        "predicted_BB": 0.391,
        "predicted_H": 0.95,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.364,
        "predicted_R": 0.59,
        "predicted_RBI": 0.7,
        "predicted_SLG": 0.456,
        "predicted_SO": 0.917
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2178,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6343,
        "predicted_AVG": 0.2914,
        "predicted_BB": 0.3635,
        "predicted_H": 1.0418,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.1579,
        "predicted_OBP": 0.3753,
        "predicted_R": 0.59,
        "predicted_RBI": 0.6764,
        "predicted_SLG": 0.4913,
        "predicted_SO": 0.8777
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.199,
          "after": 0.2178,
          "delta": 0.0188,
          "percent_delta": 0.0945,
          "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.699,
          "after": 3.6343,
          "delta": -0.0647,
          "percent_delta": -0.0175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.264,
          "after": 0.2914,
          "delta": 0.0274,
          "percent_delta": 0.1038,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.391,
          "after": 0.3635,
          "delta": -0.0275,
          "percent_delta": -0.0703,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.95,
          "after": 1.0418,
          "delta": 0.0918,
          "percent_delta": 0.0966,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1579,
          "delta": 0.0079,
          "percent_delta": 0.0527,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.364,
          "after": 0.3753,
          "delta": 0.0113,
          "percent_delta": 0.031,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.59,
          "after": 0.59,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7,
          "after": 0.6764,
          "delta": -0.0236,
          "percent_delta": -0.0337,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.456,
          "after": 0.4913,
          "delta": 0.0353,
          "percent_delta": 0.0774,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.917,
          "after": 0.8777,
          "delta": -0.0393,
          "percent_delta": -0.0429,
          "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.95,
          "after": 1.0418,
          "delta": 0.0918,
          "percent_delta": 0.0966,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.699,
          "after": 3.6343,
          "delta": -0.0647,
          "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": 156
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2178,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6343,
        "predicted_AVG": 0.2856,
        "predicted_BB": 0.3644,
        "predicted_H": 1.0378,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.1577,
        "predicted_OBP": 0.3507,
        "predicted_R": 0.5866,
        "predicted_RBI": 0.6725,
        "predicted_SLG": 0.4759,
        "predicted_SO": 0.8755
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2178,
          "after": 0.2178,
          "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.6343,
          "after": 3.6343,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2914,
          "after": 0.2856,
          "delta": -0.0058,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3635,
          "after": 0.3644,
          "delta": 0.0009,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0418,
          "after": 1.0378,
          "delta": -0.004,
          "percent_delta": -0.0038,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.043,
          "after": 0.043,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1579,
          "after": 0.1577,
          "delta": -0.0002,
          "percent_delta": -0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3753,
          "after": 0.3507,
          "delta": -0.0246,
          "percent_delta": -0.0655,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.59,
          "after": 0.5866,
          "delta": -0.0034,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6764,
          "after": 0.6725,
          "delta": -0.0039,
          "percent_delta": -0.0058,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4913,
          "after": 0.4759,
          "delta": -0.0154,
          "percent_delta": -0.0313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8777,
          "after": 0.8755,
          "delta": -0.0022,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3753,
          "after": 0.3507,
          "delta": -0.0246,
          "percent_delta": -0.0655,
          "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.70), rates preserved: AVG=0.264 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.2178,
          "after": 0.0,
          "delta": -0.2178,
          "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.6343,
          "after": 3.0,
          "delta": -0.6343,
          "percent_delta": -0.1745,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3644,
          "after": 0.0,
          "delta": -0.3644,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0378,
          "after": 1.0,
          "delta": -0.0378,
          "percent_delta": -0.0364,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.043,
          "after": 0.0,
          "delta": -0.043,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1577,
          "after": 0.0,
          "delta": -0.1577,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6725,
          "after": 1.0,
          "delta": 0.3275,
          "percent_delta": 0.487,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8755,
          "after": 1.0,
          "delta": 0.1245,
          "percent_delta": 0.1422,
          "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.6725,
          "after": 1.0,
          "delta": 0.3275,
          "percent_delta": 0.487,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6343,
          "after": 3.0,
          "delta": -0.6343,
          "percent_delta": -0.1745,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.5866,
          "after": 1.0,
          "delta": 0.4134,
          "percent_delta": 0.7047,
          "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.5866,
          "after": 1.0,
          "delta": 0.4134,
          "percent_delta": 0.7047,
          "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.152,
        "predicted_3B": 0.0058,
        "predicted_BB": 0.3395,
        "predicted_H": 0.8108,
        "predicted_HR": 0.0865,
        "predicted_RBI": 0.3574,
        "predicted_SO": 1.0541
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.152,
          "delta": 0.152,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0058,
          "delta": 0.0058,
          "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.8108,
          "delta": -0.1892,
          "percent_delta": -0.1892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0865,
          "delta": 0.0865,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3574,
          "delta": -0.6426,
          "percent_delta": -0.6426,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0541,
          "delta": 0.0541,
          "percent_delta": 0.0541,
          "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.3395,
          "delta": 0.3395,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3574,
          "delta": -0.6426,
          "percent_delta": -0.6426,
          "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.152,
          "after": 0.0,
          "delta": -0.152,
          "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.3395,
          "after": 0.0,
          "delta": -0.3395,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8108,
          "after": 1.0,
          "delta": 0.1892,
          "percent_delta": 0.2333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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_R",
          "before": 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.3574,
          "after": 0.0,
          "delta": -0.3574,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0541,
          "after": 1.0,
          "delta": -0.0541,
          "percent_delta": -0.0513,
          "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.8108,
          "after": 1.0,
          "delta": 0.1892,
          "percent_delta": 0.2333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3574,
          "after": 0.0,
          "delta": -0.3574,
          "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.242,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.368,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2856,
          "after": 0.242,
          "delta": -0.0436,
          "percent_delta": -0.1527,
          "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.3507,
          "after": 0.317,
          "delta": -0.0337,
          "percent_delta": -0.0961,
          "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.4759,
          "after": 0.368,
          "delta": -0.1079,
          "percent_delta": -0.2267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4759,
          "after": 0.368,
          "delta": -0.1079,
          "percent_delta": -0.2267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 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.2856,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3507,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4759,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.2856,
          "delta": 0.0436,
          "percent_delta": 0.18,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.3507,
          "delta": 0.0337,
          "percent_delta": 0.1062,
          "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.368,
          "after": 0.4759,
          "delta": 0.1079,
          "percent_delta": 0.2931,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.368,
          "after": 0.4759,
          "delta": 0.1079,
          "percent_delta": 0.2931,
          "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.199,
        "after": 0.0,
        "delta": -0.199,
        "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.699,
        "after": 4.0,
        "delta": 0.301,
        "percent_delta": 0.0814,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.264,
        "after": 0.2856,
        "delta": 0.0216,
        "percent_delta": 0.0818,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.391,
        "after": 0.0,
        "delta": -0.391,
        "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.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.364,
        "after": 0.3507,
        "delta": -0.0133,
        "percent_delta": -0.0365,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.456,
        "after": 0.4759,
        "delta": 0.0199,
        "percent_delta": 0.0436,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.917,
        "after": 1.0,
        "delta": 0.083,
        "percent_delta": 0.0905,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.699,
        "after": 4.0,
        "delta": 0.301,
        "percent_delta": 0.0814,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.95,
        "after": 0.0,
        "delta": -0.95,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.199-
predicted_3B0.000-
predicted_AB3.699-
predicted_AVG0.264-
predicted_BB0.391-
predicted_H0.950-
predicted_HR0.150-
predicted_OBP0.364-
predicted_R0.590-
predicted_RBI0.700-
predicted_SLG0.456-
predicted_SO0.917-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2180.019
predicted_3B0.0000.000
predicted_AB3.634-0.065
predicted_AVG0.2910.027
predicted_BB0.363-0.028
predicted_H1.0420.092
predicted_HBP0.043-
predicted_HR0.1580.008
predicted_OBP0.3750.011
predicted_R0.5900.000
predicted_RBI0.676-0.024
predicted_SLG0.4910.035
predicted_SO0.878-0.039
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2180.000
predicted_3B0.0000.000
predicted_AB3.6340.000
predicted_AVG0.286-0.006
predicted_BB0.3640.001
predicted_H1.038-0.004
predicted_HBP0.0430.000
predicted_HR0.158-0.000
predicted_OBP0.351-0.025
predicted_R0.587-0.003
predicted_RBI0.672-0.004
predicted_SLG0.476-0.015
predicted_SO0.875-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.70), rates preserved: AVG=0.264 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. bvp_blend

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1520.152
3B0.0060.006
BB0.3400.340
H0.811-0.189
HR0.0860.086
RBI0.357-0.643
SO1.0540.054
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.152
3B0.000-0.006
AB3.0000.000
BB0.000-0.340
H1.0000.189
HR0.000-0.086
R1.0000.000
RBI0.000-0.357
SO1.000-0.054
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.218
predicted_3B0.000-0.000
predicted_AB3.000-0.634
predicted_AVG0.242-0.044
predicted_BB0.000-0.364
predicted_H1.000-0.038
predicted_HR0.000-0.158
predicted_OBP0.317-0.034
predicted_R1.0000.413
predicted_RBI1.0000.328
predicted_SLG0.368-0.108
predicted_SO1.0000.125
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 156
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0007.0002.0000.0001.0004.0002.0001.0003.0000.43750.47060.75000.43750.06250.25000.06250.1875
last_100.2010-34.00013.0002.0000.0003.00011.0008.0003.0008.0000.38240.44740.70590.38240.08820.32350.08820.2353
season0.60156-577.000160.00031.0000.00017.00067.00092.00061.000143.0000.27730.35030.41940.27730.02950.11610.10570.2478
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2420
predicted_3B0.0010
predicted_AB3.5510
predicted_AVG0.3267
predicted_BB0.3280
predicted_H1.1600
predicted_HBP0.0430
predicted_HR0.1680
predicted_OBP0.3899
predicted_R0.5900
predicted_RBI0.6460
predicted_SLG0.5368
predicted_SO0.8270
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19900.24200.2178model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.69903.55103.6343model_form_blend
predicted_AVG0.26400.32670.2914model_form_blend
predicted_BB0.39100.32800.3635model_form_blend
predicted_H0.95001.16001.0418model_form_blend
predicted_HBP-0.04300.0430form_only
predicted_HR0.15000.16800.1579model_form_blend
predicted_OBP0.36400.38990.3753model_form_blend
predicted_R0.59000.59000.5900model_form_blend
predicted_RBI0.70000.64600.6764model_form_blend
predicted_SLG0.45600.53680.4913model_form_blend
predicted_SO0.91700.82700.8777model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
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_GIDP1
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261003_CHW@CLE
game_typefull
mlbID805367
playerID805367
playerNameChase Meidroth
pos2B
startedTrue
startingPosition2B
teamCHW
teamID6
game_date2026-10-03
sl_k_percent21.9
sl_bb_percent9.5
sl_woba0.339
sl_xwoba0.301
sl_xba0.239
sl_xslg0.348
sl_sweet_spot_percent34.1
sl_barrel_batted_rate4.6
sl_hard_hit_percent34.6
sl_exit_velocity_avg87.2
sl_launch_angle_avg8.5
sl_whiff_percent19.7
sl_swing_percent42.0
Colson Montgomery (695657) · BATTER · SS · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 613
All-history rows before 20261005: 613
System season_avg: 0.1990
Data season_avg (2026 season-to-date): 0.2063
Diff (system - data): -0.0073
System opponent_avg: 0.0200

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1602.0000.000Hitting_2B0.1751.0001.8251.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7704.0003.000Hitting_AB3.8193.0000.1811.000
predicted_AVG0.2060.7500.000Hitting_AVG0.2060.6670.5440.083
predicted_BB0.3530.0000.000Hitting_BB0.3740.000-0.3740.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.7803.0000.000Hitting_H0.7882.0002.2121.000
predicted_HR0.1700.0000.000Hitting_HR0.2190.000-0.2190.000
predicted_OBP0.2830.7500.000Hitting_OBP0.2920.6670.4580.083
predicted_R0.4621.0000.000Hitting_R0.5060.0000.4941.000
predicted_RBI0.5200.0000.000Hitting_RBI0.6181.000-0.618-1.000
predicted_SLG0.4161.2500.000Hitting_SLG0.4241.0000.8260.250
predicted_SO1.4740.0001.000Hitting_SO1.5020.000-1.5020.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.7800 -> 3.0000 (boost 2.2200, better)
Biggest Deboostpredicted_SO: 1.4740 -> 0.0000 (deboost -1.4740, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend40404-predicted_AB: 3.7700 -> 3.6577 (deboost -0.1123, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.4032 -> 0.3847 (deboost -0.0185, 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: 1.4306 -> 2.0000 (boost 0.5694, worse)predicted_AB: 3.6577 -> 3.0000 (deboost -0.6577, worse)AB rounded to 3 (raw=3.77), rates preserved: AVG=0.180 HR/AB=0.046
6bvp_blend00000--Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4220 -> 0.0000 (deboost -0.4220, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4133 (boost 0.4133, better)predicted_H: 1.0000 -> 0.6144 (deboost -0.3856, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation60615-predicted_SO: 1.6832 -> 1.0000 (deboost -0.6832, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53223predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.3847 -> 0.3630 (deboost -0.0217, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference54150predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better)Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_SLG: 0.3630 -> 0.3847 (boost 0.0217, better)predicted_OBP: 0.2700 -> 0.2644 (deboost -0.0056, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.16,
        "predicted_3B": 0.0,
        "predicted_AB": 3.77,
        "predicted_AVG": 0.206,
        "predicted_BB": 0.353,
        "predicted_H": 0.78,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.283,
        "predicted_R": 0.462,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.416,
        "predicted_SO": 1.474
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1596,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6577,
        "predicted_AVG": 0.1973,
        "predicted_BB": 0.3329,
        "predicted_H": 0.7245,
        "predicted_HBP": 0.118,
        "predicted_HR": 0.1752,
        "predicted_OBP": 0.2788,
        "predicted_R": 0.4244,
        "predicted_RBI": 0.4933,
        "predicted_SLG": 0.4032,
        "predicted_SO": 1.4342
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.16,
          "after": 0.1596,
          "delta": -0.0004,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.77,
          "after": 3.6577,
          "delta": -0.1123,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.206,
          "after": 0.1973,
          "delta": -0.0087,
          "percent_delta": -0.0422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.353,
          "after": 0.3329,
          "delta": -0.0201,
          "percent_delta": -0.0569,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.78,
          "after": 0.7245,
          "delta": -0.0555,
          "percent_delta": -0.0712,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.17,
          "after": 0.1752,
          "delta": 0.0052,
          "percent_delta": 0.0306,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.2788,
          "delta": -0.0042,
          "percent_delta": -0.0148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.462,
          "after": 0.4244,
          "delta": -0.0376,
          "percent_delta": -0.0814,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.52,
          "after": 0.4933,
          "delta": -0.0267,
          "percent_delta": -0.0513,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.4032,
          "delta": -0.0128,
          "percent_delta": -0.0308,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.474,
          "after": 1.4342,
          "delta": -0.0398,
          "percent_delta": -0.027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.77,
          "after": 3.6577,
          "delta": -0.1123,
          "percent_delta": -0.0298,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 156
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1596,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.6577,
        "predicted_AVG": 0.1973,
        "predicted_BB": 0.3337,
        "predicted_H": 0.7217,
        "predicted_HBP": 0.118,
        "predicted_HR": 0.175,
        "predicted_OBP": 0.2644,
        "predicted_R": 0.422,
        "predicted_RBI": 0.4905,
        "predicted_SLG": 0.3847,
        "predicted_SO": 1.4306
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1596,
          "after": 0.1596,
          "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.6577,
          "after": 3.6577,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1973,
          "after": 0.1973,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3329,
          "after": 0.3337,
          "delta": 0.0008,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7245,
          "after": 0.7217,
          "delta": -0.0028,
          "percent_delta": -0.0039,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.118,
          "after": 0.118,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1752,
          "after": 0.175,
          "delta": -0.0002,
          "percent_delta": -0.0011,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2788,
          "after": 0.2644,
          "delta": -0.0144,
          "percent_delta": -0.0516,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4244,
          "after": 0.422,
          "delta": -0.0024,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4933,
          "after": 0.4905,
          "delta": -0.0028,
          "percent_delta": -0.0057,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4032,
          "after": 0.3847,
          "delta": -0.0185,
          "percent_delta": -0.0459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4342,
          "after": 1.4306,
          "delta": -0.0036,
          "percent_delta": -0.0025,
          "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.4032,
          "after": 0.3847,
          "delta": -0.0185,
          "percent_delta": -0.0459,
          "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.77), rates preserved: AVG=0.180 HR/AB=0.046",
      "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.1596,
          "after": 0.0,
          "delta": -0.1596,
          "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.6577,
          "after": 3.0,
          "delta": -0.6577,
          "percent_delta": -0.1798,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3337,
          "after": 0.0,
          "delta": -0.3337,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7217,
          "after": 1.0,
          "delta": 0.2783,
          "percent_delta": 0.3856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.118,
          "after": 0.0,
          "delta": -0.118,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.175,
          "after": 0.0,
          "delta": -0.175,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4905,
          "after": 0.0,
          "delta": -0.4905,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4306,
          "after": 2.0,
          "delta": 0.5694,
          "percent_delta": 0.398,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.4306,
          "after": 2.0,
          "delta": 0.5694,
          "percent_delta": 0.398,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6577,
          "after": 3.0,
          "delta": -0.6577,
          "percent_delta": -0.1798,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 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_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9077,
        "bvp": 0.0923
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.422,
          "after": 0.0,
          "delta": -0.422,
          "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.422,
          "after": 0.0,
          "delta": -0.422,
          "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.1399,
        "predicted_3B": 0.0057,
        "predicted_BB": 0.3202,
        "predicted_H": 0.6144,
        "predicted_HR": 0.1343,
        "predicted_RBI": 0.4133,
        "predicted_SO": 1.6832
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1399,
          "delta": 0.1399,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0057,
          "delta": 0.0057,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3202,
          "delta": 0.3202,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6144,
          "delta": -0.3856,
          "percent_delta": -0.3856,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1343,
          "delta": 0.1343,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4133,
          "delta": 0.4133,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.6832,
          "delta": -0.3168,
          "percent_delta": -0.1584,
          "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.4133,
          "delta": 0.4133,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6144,
          "delta": -0.3856,
          "percent_delta": -0.3856,
          "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.1399,
          "after": 0.0,
          "delta": -0.1399,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0057,
          "after": 0.0,
          "delta": -0.0057,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3202,
          "after": 0.0,
          "delta": -0.3202,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6144,
          "after": 0.0,
          "delta": -0.6144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1343,
          "after": 0.0,
          "delta": -0.1343,
          "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.4133,
          "after": 0.0,
          "delta": -0.4133,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6832,
          "after": 1.0,
          "delta": -0.6832,
          "percent_delta": -0.4059,
          "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": 1.6832,
          "after": 1.0,
          "delta": -0.6832,
          "percent_delta": -0.4059,
          "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": 3.0,
        "predicted_AVG": 0.191,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.363,
        "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.1973,
          "after": 0.191,
          "delta": -0.0063,
          "percent_delta": -0.0319,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2644,
          "after": 0.27,
          "delta": 0.0056,
          "percent_delta": 0.0212,
          "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.3847,
          "after": 0.363,
          "delta": -0.0217,
          "percent_delta": -0.0564,
          "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_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.3847,
          "after": 0.363,
          "delta": -0.0217,
          "percent_delta": -0.0564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 2.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.1973,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 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.3847,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.191,
          "after": 0.1973,
          "delta": 0.0063,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.27,
          "after": 0.2644,
          "delta": -0.0056,
          "percent_delta": -0.0206,
          "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.363,
          "after": 0.3847,
          "delta": 0.0217,
          "percent_delta": 0.0597,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.363,
          "after": 0.3847,
          "delta": 0.0217,
          "percent_delta": 0.0597,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.27,
          "after": 0.2644,
          "delta": -0.0056,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.16,
        "after": 2.0,
        "delta": 1.84,
        "percent_delta": 11.5,
        "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.77,
        "after": 4.0,
        "delta": 0.23,
        "percent_delta": 0.061,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.206,
        "after": 0.1973,
        "delta": -0.0087,
        "percent_delta": -0.0422,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.353,
        "after": 0.0,
        "delta": -0.353,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 3.0,
        "delta": 2.22,
        "percent_delta": 2.8462,
        "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.283,
        "after": 0.2644,
        "delta": -0.0186,
        "percent_delta": -0.0657,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.462,
        "after": 1.0,
        "delta": 0.538,
        "percent_delta": 1.1645,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.52,
        "after": 0.0,
        "delta": -0.52,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.416,
        "after": 0.3847,
        "delta": -0.0313,
        "percent_delta": -0.0752,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.474,
        "after": 0.0,
        "delta": -1.474,
        "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.78,
        "after": 3.0,
        "delta": 2.22,
        "percent_delta": 2.8462,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.474,
        "after": 0.0,
        "delta": -1.474,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.160-
predicted_3B0.000-
predicted_AB3.770-
predicted_AVG0.206-
predicted_BB0.353-
predicted_H0.780-
predicted_HR0.170-
predicted_OBP0.283-
predicted_R0.462-
predicted_RBI0.520-
predicted_SLG0.416-
predicted_SO1.474-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.160-0.000
predicted_3B0.0000.000
predicted_AB3.658-0.112
predicted_AVG0.197-0.009
predicted_BB0.333-0.020
predicted_H0.725-0.055
predicted_HBP0.118-
predicted_HR0.1750.005
predicted_OBP0.279-0.004
predicted_R0.424-0.038
predicted_RBI0.493-0.027
predicted_SLG0.403-0.013
predicted_SO1.434-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.1600.000
predicted_3B0.0000.000
predicted_AB3.6580.000
predicted_AVG0.1970.000
predicted_BB0.3340.001
predicted_H0.722-0.003
predicted_HBP0.1180.000
predicted_HR0.175-0.000
predicted_OBP0.264-0.014
predicted_R0.422-0.002
predicted_RBI0.490-0.003
predicted_SLG0.385-0.019
predicted_SO1.431-0.004
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.77), rates preserved: AVG=0.180 HR/AB=0.046

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

Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO2.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-
SO2.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.1400.140
3B0.0060.006
BB0.3200.320
H0.614-0.386
HR0.1340.134
RBI0.4130.413
SO1.683-0.317
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.140
3B0.000-0.006
AB3.0000.000
BB0.000-0.320
H0.000-0.614
HR0.000-0.134
R0.0000.000
RBI0.000-0.413
SO1.000-0.683
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.160
predicted_3B0.000-0.000
predicted_AB3.000-0.658
predicted_AVG0.191-0.006
predicted_BB0.000-0.334
predicted_H1.0000.278
predicted_HR0.000-0.175
predicted_OBP0.2700.006
predicted_R0.000-0.422
predicted_RBI0.000-0.490
predicted_SLG0.363-0.022
predicted_SO2.0000.569
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 156
Reference playing time: 3.801
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.0001.0001.0006.0000.20000.29410.46670.20000.06670.13330.06670.4000
last_100.2010-34.0004.0001.0000.0001.0002.0003.0003.00014.0000.11760.21050.23530.11770.02940.05880.08820.4118
season0.60156-577.000115.00025.0000.00032.00089.00072.00055.000230.0000.19930.28510.40900.19930.05550.15420.09530.3986
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1590
predicted_3B0.0010
predicted_AB3.5130
predicted_AVG0.1860
predicted_BB0.3070
predicted_H0.6530
predicted_HBP0.1180
predicted_HR0.1820
predicted_OBP0.2735
predicted_R0.3760
predicted_RBI0.4590
predicted_SLG0.3868
predicted_SO1.3830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.15900.1596model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.77003.51303.6577model_form_blend
predicted_AVG0.20600.18600.1973model_form_blend
predicted_BB0.35300.30700.3329model_form_blend
predicted_H0.78000.65300.7245model_form_blend
predicted_HBP-0.11800.1180form_only
predicted_HR0.17000.18200.1752model_form_blend
predicted_OBP0.28300.27350.2788model_form_blend
predicted_R0.46200.37600.4244model_form_blend
predicted_RBI0.52000.45900.4933model_form_blend
predicted_SLG0.41600.38680.4032model_form_blend
predicted_SO1.47401.38301.4342model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20261003_CHW@CLE
game_typefull
mlbID695657
playerID695657
playerNameColson Montgomery
posSS
startedTrue
startingPositionSS
teamCHW
teamID6
game_date2026-10-03
sl_k_percent35.6
sl_bb_percent8.5
sl_woba0.3
sl_xwoba0.294
sl_xba0.199
sl_xslg0.388
sl_sweet_spot_percent32.9
sl_barrel_batted_rate12.0
sl_hard_hit_percent40.9
sl_exit_velocity_avg88.6
sl_launch_angle_avg23.6
sl_whiff_percent37.4
sl_swing_percent51.5
Anthony Kay (641743) · PITCHER · Starter · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 36
All-history rows before 20261005: 36

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.6111.000-0.6110.000
predicted_ER1.0001.0001.000Pitching_ER2.1670.000-1.1671.000
predicted_H5.0005.0005.000Pitching_H4.5001.0000.5004.000
predicted_IP4.2004.2004.200Pitching_InningsPitched4.2891.100-0.0893.100
predicted_SO4.0004.0004.000Pitching_SO3.5830.0000.4174.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": "641743",
  "player_name": "Anthony Kay",
  "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": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.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": 1.0,
        "predicted_ER": 1.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 4.2,
        "predicted_R": 1.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 5.0,
          "after": 5.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 5.0,
        "after": 5.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 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_BB1.000-
predicted_ER1.000-
predicted_H5.000-
predicted_HR0.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: 35
Reference playing time: 4.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45515.0005.00015.0007.00011.0001.0003.00001.46670.33331.00000.46670.73330.0667
last_100.351038.20024.00043.00014.00031.0005.0005.58621.47410.62071.11210.36210.80170.1293
season0.2035160.00078.000162.00058.000129.00021.0004.38751.37500.48751.01250.36250.80630.1313
Weighted Prediction From Real Data
MetricValue
predicted_BB1.5440
predicted_ER1.7920
predicted_ERA4.2372
predicted_H3.9380
predicted_HR0.4080
predicted_IP3.2000
predicted_SO3.0150
predicted_WHIP1.4401
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.54401.3249model_form_blend
predicted_ER1.00001.79201.4730model_form_blend
predicted_ERA-4.23724.2372form_only
predicted_H5.00003.93804.3658model_form_blend
predicted_HR0.00000.40800.2437model_form_blend
predicted_IP4.20003.20004.1000model_form_blend
predicted_SO4.00003.01503.4118model_form_blend
predicted_WHIP-1.44011.4401form_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 date36
Season rows before report date36
Report year2026
Profile rows used35
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP4.2
H5
R1
ER1
BB1
SO4
HR0
BF20
Pitches78

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches22
Pitching_R0
Pitching_SO0
Pitching_Strikes11
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261003_CHW@CLE
game_typefull
mlbID641743
playerID641743
playerNameAnthony Kay
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-10-03
sl_k_percent18.2
sl_bb_percent7.9
sl_woba0.339
sl_xwoba0.342
sl_sweet_spot_percent34.3
sl_barrel_batted_rate8.1
sl_hard_hit_percent38.9
sl_whiff_percent23.4
sl_swing_percent47.3
sl_avg_best_speed76.49562281
sl_avg_hyper_speed94.225161921
Grant Taylor (691799) · PITCHER · Closer · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 41
All-history rows before 20261005: 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_ER4.0004.0004.000Pitching_ER0.3660.0003.6344.000
predicted_H4.0004.0004.000Pitching_H0.9762.0003.0242.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": 4.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 4.0,
        "predicted_H": 4.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.1,
        "predicted_R": 4.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": 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": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 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": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER4.000-
predicted_H4.000-
predicted_HR1.000-
predicted_IP1.333-
predicted_SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 41
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4558.0000.0004.0001.0009.0000.0000.00000.62500.00000.50000.12501.12500.0000
last_100.351015.0002.0005.0006.00016.0001.0001.20000.73330.13330.33330.40001.06670.0667
season0.204156.10015.00040.00018.00076.0004.0002.39641.02960.26630.71010.31951.34910.0710
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4260
predicted_ER0.3220
predicted_ERA2.0177
predicted_H0.9120
predicted_HR0.1020
predicted_IP1.1000
predicted_SO1.5600
predicted_WHIP0.9305
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.42600.2228model_form_blend
predicted_ER4.00000.32202.0766model_form_blend
predicted_ERA-2.01772.0177form_only
predicted_H4.00000.91202.3851model_form_blend
predicted_HR1.00000.10200.5304model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00001.56001.2929model_form_blend
predicted_WHIP-0.93050.9305form_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
H4
R4
ER4
BB0
SO1
HR1
BF8
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 Faced6
Pitching_ER0
Pitching_ERA2.40
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.2
Pitching_Pitches22
Pitching_R0
Pitching_SO1
Pitching_Strikes16
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260802_CHW@TB
game_typefull
mlbID691799
playerID691799
playerNameGrant Taylor
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-08-02
game_pk822943.0
sl_k_percent31.5
sl_bb_percent8.9
sl_woba0.26
sl_xwoba0.267
sl_sweet_spot_percent31.2
sl_barrel_batted_rate7.6
sl_hard_hit_percent41.2
sl_whiff_percent29.4
sl_swing_percent46.5
sv_pitch_count22.0
sv_outs_recorded_est5.0
sv_release_speed88.12727272727273
sv_release_spin_rate2356.681818181818
sv_effective_speed88.98181818181818
sv_launch_speed86.17
sv_launch_angle-1.4
sv_woba_value1.8
sv_woba_denom6.0
sv_delta_run_exp-0.38
sv_delta_home_win_exp-0.037
sl_avg_best_speed79.579557677
sl_avg_hyper_speed94.193453604
Bryan Hudson (663542) · PITCHER · Setup Man · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 67
All-history rows before 20261005: 67

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.2540.000-0.2540.000
predicted_ER0.0000.0000.000Pitching_ER0.3282.000-0.328-2.000
predicted_H0.0000.0000.000Pitching_H0.9254.000-0.925-4.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8570.1000.1430.900
predicted_SO1.0001.0001.000Pitching_SO0.8810.0000.1191.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "663542",
  "player_name": "Bryan Hudson",
  "position": "Setup Man",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 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: 66
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1002.0006.0000.0002.0001.0004.15381.38460.46151.38460.00000.46150.2308
last_100.351010.1002.00011.0000.0007.0001.0001.74191.06450.19351.06450.00000.67740.0968
season0.206665.10019.00059.00017.00059.0005.0002.61731.16330.29080.90310.26020.90310.0765
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1410
predicted_ER0.3820
predicted_ERA3.4394
predicted_H1.1240
predicted_HR0.1520
predicted_IP1.0000
predicted_SO0.7090
predicted_WHIP1.2651
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.14100.0755model_form_blend
predicted_ER0.00000.38200.2047model_form_blend
predicted_ERA-3.43943.4394form_only
predicted_H0.00001.12400.6022model_form_blend
predicted_HR0.00000.15200.0814model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.70900.8441model_form_blend
predicted_WHIP-1.26511.2651form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs1
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER2
Pitching_ERA3.03
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored1
Pitching_InningsPitched0.1
Pitching_Pitches14
Pitching_R2
Pitching_SO0
Pitching_Strikes9
Pitching_Wild Pitch1
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20260918_DET@CHW
game_typefull
mlbID663542
playerID663542
playerNameBryan Hudson
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-09-18
sl_k_percent20.9
sl_bb_percent6.4
sl_woba0.304
sl_xwoba0.277
sl_sweet_spot_percent29.5
sl_barrel_batted_rate4.0
sl_hard_hit_percent37.0
sl_whiff_percent23.1
sl_swing_percent47.9
sl_avg_best_speed77.03898567
sl_avg_hyper_speed93.301948299
Sean Newcomb (656794) · PITCHER · Middle Reliever (High Leverage) · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 54
All-history rows before 20261005: 54

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5561.000-0.556-1.000
predicted_ER0.0000.0000.000Pitching_ER0.4811.000-0.481-1.000
predicted_H0.0000.0000.000Pitching_H1.2221.000-1.222-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.3631.100-0.363-0.100
predicted_SO0.0000.0000.000Pitching_SO1.4444.000-1.444-4.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": "656794",
  "player_name": "Sean Newcomb",
  "position": "Middle Reliever (High Leverage)",
  "team": "CHW",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.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: 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.4559.1007.00012.0003.00010.0000.0006.75001.60710.75001.28570.32141.07140.0000
last_100.351020.0007.00016.0007.00018.0000.0003.15001.15000.35000.80000.35000.90000.0000
season0.205384.10026.00064.00030.00078.0002.0002.77471.11460.30830.75890.35570.92490.0237
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6000
predicted_ER0.8970
predicted_ERA4.6779
predicted_H1.7330
predicted_HR0.0630
predicted_IP1.2000
predicted_SO1.6760
predicted_WHIP1.3522
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.60000.3334model_form_blend
predicted_ER0.00000.89700.4985model_form_blend
predicted_ERA-4.67794.6779form_only
predicted_H0.00001.73300.9631model_form_blend
predicted_HR0.00000.06300.0350model_form_blend
predicted_IP1.00001.20001.1000model_form_blend
predicted_SO0.00001.67600.9314model_form_blend
predicted_WHIP-1.35221.3522form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.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 Faced6
Pitching_ER1
Pitching_ERA2.77
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.1
Pitching_Pitches29
Pitching_R1
Pitching_SO4
Pitching_Strikes18
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260912_CHW@STL
game_typefull
mlbID656794
playerID656794
playerNameSean Newcomb
posP
startedTrue
startingPositionP
teamCHW
teamID6
game_date2026-09-12
game_pk823009.0
sl_k_percent22.6
sl_bb_percent9.1
sl_woba0.285
sl_xwoba0.317
sl_sweet_spot_percent34.1
sl_barrel_batted_rate6.5
sl_hard_hit_percent38.6
sl_whiff_percent23.9
sl_swing_percent45.9
sv_pitch_count29.0
sv_outs_recorded_est4.0
sv_release_speed91.88275862068966
sv_release_spin_rate2501.0
sv_effective_speed90.5206896551724
sv_launch_speed74.10000000000001
sv_launch_angle29.285714285714285
sv_woba_value1.6
sv_woba_denom6.0
sv_delta_run_exp-0.3010000000000001
sv_delta_home_win_exp-0.045
sl_avg_best_speed77.732436083
sl_avg_hyper_speed94.013500335

Home Team: CLE

Home Pitcher Deep Analysis

FieldValue
PitcherGavin Williams
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2212
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0624
Avg Velo90.9785
Avg Spin2292.1975
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER3
Pre H6
Pre BB0
Pre SO6
Season ERA3.7595
Season WHIP1.1121
Role Avg IP5.7600
Recent Avg IP5.6670
Last Start IP3.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.932,
    "defense_index": 1.0907,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0667,
    "defense_index": 1.0104,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.1281
  },
  "edges": {
    "quality_edge": 0.0062,
    "offense_edge": -0.068,
    "opponent_offense_edge": 0.0667,
    "defense_strength": 0.0907,
    "opponent_defense_weakness": -0.0104,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 1.0013,
    "strikeout": 0.9949
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "668909",
    "profile": {
      "available": true,
      "pitcher_id": "668909",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 700.0,
        "k_percent": 33.2,
        "bb_percent": 8.2,
        "woba": 0.294,
        "xwoba": 0.302,
        "sweet_spot_percent": 35.0,
        "barrel_batted_rate": 11.4,
        "hard_hit_percent": 46.6,
        "avg_best_speed": 79.2974,
        "avg_hyper_speed": 94.9953,
        "whiff_percent": 32.8,
        "swing_percent": 49.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.1041,
        "command_and_miss": 1.1436,
        "regression_edge": -0.2286,
        "xwoba_edge": 0.2857,
        "barrel_edge": -0.9333,
        "hard_hit_edge": -1.2429,
        "whiff_edge": 1.0857,
        "bb_edge": 0.25,
        "pitch_design_score": 0.0624
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "668909",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 92,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 92,
          "pitch_usage": 0.0,
          "release_speed": 90.97845935651245,
          "release_spin_rate": 2292.19753528252,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 92,
            "pitch_usage": 0.0,
            "release_speed": 90.97845935651245,
            "release_spin_rate": 2292.19753528252,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.9785,
          "release_spin_rate": 2292.1975,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0624,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4457,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.2212,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9812,
      "strikeout_factor": 1.1069,
      "walk_factor": 0.98,
      "homer_factor": 1.1158,
      "woba_minus_xwoba": -0.008,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "668909",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9812,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9812,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.98,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.1158,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 8.0,
        "factor": 1.1069,
        "adjusted": 9
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 51.0,
    "ER": 22,
    "H": 39,
    "BB": 23,
    "SO": 80,
    "HR": 7,
    "ERA": 3.8823529411764706,
    "WHIP": 1.2156862745098038,
    "K9": 14.117647058823529,
    "HR9": 1.2352941176470589,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "668909",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 92,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 92,
    "pitch_usage": 0.0,
    "release_speed": 90.97845935651245,
    "release_spin_rate": 2292.19753528252,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 92,
      "pitch_usage": 0.0,
      "release_speed": 90.97845935651245,
      "release_spin_rate": 2292.19753528252,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9785,
    "release_spin_rate": 2292.1975,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0624,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4457,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "668909",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 32,
  "reference_playing_time": 5.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 28.1,
        "ER": 8.0,
        "R": 9.0,
        "H": 18.0,
        "BB": 12.0,
        "SO": 44.0,
        "HR": 1.0,
        "BF": 114.0,
        "Pitches": 472.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.6,
        "R": 1.8,
        "H": 3.6,
        "BB": 2.4,
        "SO": 8.8,
        "HR": 0.2,
        "BF": 22.8,
        "Pitches": 94.4
      },
      "rates": {
        "ERA": 2.5412,
        "WHIP": 1.0588,
        "ER_per_IP": 0.28235,
        "H_per_IP": 0.63529,
        "BB_per_IP": 0.42353,
        "SO_per_IP": 1.55294,
        "HR_per_IP": 0.03529
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 51.0,
        "ER": 22.0,
        "R": 23.0,
        "H": 39.0,
        "BB": 23.0,
        "SO": 80.0,
        "HR": 7.0,
        "BF": 214.0,
        "Pitches": 912.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.2,
        "R": 2.3,
        "H": 3.9,
        "BB": 2.3,
        "SO": 8.0,
        "HR": 0.7,
        "BF": 21.4,
        "Pitches": 91.2
      },
      "rates": {
        "ERA": 3.8824,
        "WHIP": 1.2157,
        "ER_per_IP": 0.43137,
        "H_per_IP": 0.76471,
        "BB_per_IP": 0.45098,
        "SO_per_IP": 1.56863,
        "HR_per_IP": 0.13725
      }
    },
    "season": {
      "games": 32,
      "totals": {
        "IP": 184.1,
        "ER": 77.0,
        "R": 81.0,
        "H": 144.0,
        "BB": 61.0,
        "SO": 248.0,
        "HR": 28.0,
        "BF": 746.0,
        "Pitches": 2991.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.4062,
        "R": 2.5312,
        "H": 4.5,
        "BB": 1.9062,
        "SO": 7.75,
        "HR": 0.875,
        "BF": 23.3125,
        "Pitches": 93.4688
      },
      "rates": {
        "ERA": 3.7595,
        "WHIP": 1.1121,
        "ER_per_IP": 0.41772,
        "H_per_IP": 0.78119,
        "BB_per_IP": 0.33092,
        "SO_per_IP": 1.34539,
        "HR_per_IP": 0.1519
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 2.088,
    "predicted_H": 4.081,
    "predicted_BB": 2.24,
    "predicted_SO": 7.86,
    "predicted_HR": 0.555,
    "predicted_ERA": 3.4386,
    "predicted_WHIP": 1.1568
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4071,
  "form_weight": 0.5929,
  "form_reliability": 0.8649,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.2,
      "form": 5.1,
      "final": 5.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 2.088,
      "final": 2.4593,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 6.0,
      "form": 4.081,
      "final": 4.8622,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 2.24,
      "final": 1.3281,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 7.86,
      "final": 5.8816,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.555,
      "final": 0.7362,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.4386,
      "final": 3.4386,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1568,
      "final": 1.1568,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherCade Smith
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.6961
ESPN Rank-
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 SO0
Season ERA1.9200
Season WHIP0.9467
Role Avg IP1.0710
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.932,
    "defense_index": 1.0907,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0667,
    "defense_index": 1.0104,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.1281
  },
  "edges": {
    "quality_edge": 0.0062,
    "offense_edge": -0.068,
    "opponent_offense_edge": 0.0667,
    "defense_strength": 0.0907,
    "opponent_defense_weakness": -0.0104,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 1.0013,
    "strikeout": 0.9949
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "671922",
    "profile": {
      "available": true,
      "pitcher_id": "671922",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 267.0,
        "k_percent": 36.3,
        "bb_percent": 7.8,
        "woba": 0.241,
        "xwoba": 0.261,
        "sweet_spot_percent": 35.4,
        "barrel_batted_rate": 8.7,
        "hard_hit_percent": 42.8,
        "avg_best_speed": 82.0536,
        "avg_hyper_speed": 94.6537,
        "whiff_percent": 34.5,
        "swing_percent": 49.6
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6728,
        "command_and_miss": 1.4479,
        "regression_edge": -0.5714,
        "xwoba_edge": 1.4571,
        "barrel_edge": -0.3333,
        "hard_hit_edge": -0.7,
        "whiff_edge": 1.3286,
        "bb_edge": 0.35,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "671922",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.6961,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9408,
      "strikeout_factor": 1.1343,
      "walk_factor": 0.972,
      "homer_factor": 1.011,
      "woba_minus_xwoba": -0.02,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "671922",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9408,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9408,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.972,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.011,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.1343,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.0,
    "ER": 0,
    "H": 2,
    "BB": 2,
    "SO": 15,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.36363636363636365,
    "K9": 12.272727272727273,
    "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-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "671922",
  "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.483,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7559,
    "prior_weight": 0.2441
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "671922",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 70,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 68.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.2,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 13.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.4,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.2,
        "BB_per_IP": 0.2,
        "SO_per_IP": 1.6,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 2.0,
        "SO": 15.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 141.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.2,
        "SO": 1.5,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 14.1
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.3636,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.18182,
        "BB_per_IP": 0.18182,
        "SO_per_IP": 1.36364,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 70,
      "totals": {
        "IP": 75.0,
        "ER": 16.0,
        "R": 20.0,
        "H": 48.0,
        "BB": 23.0,
        "SO": 108.0,
        "HR": 5.0,
        "BF": 298.0,
        "Pitches": 1250.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2286,
        "R": 0.2857,
        "H": 0.6857,
        "BB": 0.3286,
        "SO": 1.5429,
        "HR": 0.0714,
        "BF": 4.2571,
        "Pitches": 17.8571
      },
      "rates": {
        "ERA": 1.92,
        "WHIP": 0.9467,
        "ER_per_IP": 0.21333,
        "H_per_IP": 0.64,
        "BB_per_IP": 0.30667,
        "SO_per_IP": 1.44,
        "HR_per_IP": 0.06667
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.158,
    "predicted_H": 0.453,
    "predicted_BB": 0.255,
    "predicted_SO": 1.351,
    "predicted_HR": 0.046,
    "predicted_ERA": 1.4177,
    "predicted_WHIP": 0.7085
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4531,
  "form_weight": 0.5469,
  "form_reliability": 0.7559,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.483,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7559,
    "prior_weight": 0.2441
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.158,
      "final": 0.0864,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.453,
      "final": 1.154,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.255,
      "final": 0.1395,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.351,
      "final": 1.192,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.046,
      "final": 0.0252,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.4177,
      "final": 1.4177,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.7085,
      "final": 0.7085,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherErik Sabrowski
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5594
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0383
Avg Velo90.5485
Avg Spin2569.9294
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER1
Pre H2
Pre BB0
Pre SO0
Season ERA2.5200
Season WHIP1.0600
Role Avg IP0.8470
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.932,
    "defense_index": 1.0907,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0667,
    "defense_index": 1.0104,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.1281
  },
  "edges": {
    "quality_edge": 0.0062,
    "offense_edge": -0.068,
    "opponent_offense_edge": 0.0667,
    "defense_strength": 0.0907,
    "opponent_defense_weakness": -0.0104,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 1.0013,
    "strikeout": 0.9949
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "681870",
    "profile": {
      "available": true,
      "pitcher_id": "681870",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 180.0,
        "k_percent": 37.4,
        "bb_percent": 15.3,
        "woba": 0.258,
        "xwoba": 0.251,
        "sweet_spot_percent": 39.4,
        "barrel_batted_rate": 6.5,
        "hard_hit_percent": 34.0,
        "avg_best_speed": 79.9885,
        "avg_hyper_speed": 93.7378,
        "whiff_percent": 30.8,
        "swing_percent": 46.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9012,
        "command_and_miss": 0.9586,
        "regression_edge": 0.2,
        "xwoba_edge": 1.7429,
        "barrel_edge": 0.1556,
        "hard_hit_edge": 0.5571,
        "whiff_edge": 0.8,
        "bb_edge": -1.525,
        "pitch_design_score": 0.0383
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "681870",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 19,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 19,
          "pitch_usage": 0.0,
          "release_speed": 90.54853071894294,
          "release_spin_rate": 2569.9294048098436,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 19,
            "pitch_usage": 0.0,
            "release_speed": 90.54853071894294,
            "release_spin_rate": 2569.9294048098436,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 90.5485,
          "release_spin_rate": 2569.9294,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0383,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.2738,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.5594,
      "sample_weight": 0.72,
      "run_prevention_factor": 0.9525,
      "strikeout_factor": 1.086,
      "walk_factor": 1.0878,
      "homer_factor": 0.9373,
      "woba_minus_xwoba": 0.007,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "681870",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9658,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 0.0,
        "factor": 0.9658,
        "adjusted": 0
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0632,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9549,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0619,
        "adjusted": 3
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.2,
    "ER": 2,
    "H": 2,
    "BB": 6,
    "SO": 13,
    "HR": 0,
    "ERA": 1.6874999999999998,
    "WHIP": 0.7499999999999999,
    "K9": 10.968749999999998,
    "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-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "681870",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 19,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 19,
    "pitch_usage": 0.0,
    "release_speed": 90.54853071894294,
    "release_spin_rate": 2569.9294048098436,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 19,
      "pitch_usage": 0.0,
      "release_speed": 90.54853071894294,
      "release_spin_rate": 2569.9294048098436,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 90.5485,
    "release_spin_rate": 2569.9294,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0383,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.2738,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.322,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6737,
    "prior_weight": 0.3263
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "681870",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 59,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 2.0,
        "BB": 5.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 90.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.4,
        "BB": 1.0,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 1.3125,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.375,
        "BB_per_IP": 0.9375,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 2.0,
        "BB": 6.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 40.0,
        "Pitches": 149.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.2,
        "BB": 0.6,
        "SO": 1.3,
        "HR": 0.0,
        "BF": 4.0,
        "Pitches": 14.9
      },
      "rates": {
        "ERA": 1.6875,
        "WHIP": 0.75,
        "ER_per_IP": 0.1875,
        "H_per_IP": 0.1875,
        "BB_per_IP": 0.5625,
        "SO_per_IP": 1.21875,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 59,
      "totals": {
        "IP": 50.0,
        "ER": 14.0,
        "R": 16.0,
        "H": 25.0,
        "BB": 28.0,
        "SO": 78.0,
        "HR": 3.0,
        "BF": 203.0,
        "Pitches": 821.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2373,
        "R": 0.2712,
        "H": 0.4237,
        "BB": 0.4746,
        "SO": 1.322,
        "HR": 0.0508,
        "BF": 3.4407,
        "Pitches": 13.9153
      },
      "rates": {
        "ERA": 2.52,
        "WHIP": 1.06,
        "ER_per_IP": 0.28,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.56,
        "SO_per_IP": 1.56,
        "HR_per_IP": 0.06
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.306,
    "predicted_H": 0.546,
    "predicted_BB": 0.616,
    "predicted_SO": 1.257,
    "predicted_HR": 0.056,
    "predicted_ERA": 2.7561,
    "predicted_WHIP": 1.1628
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4879,
  "form_weight": 0.5121,
  "form_reliability": 0.6737,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.322,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6737,
    "prior_weight": 0.3263
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.306,
      "final": 0.6446,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.546,
      "final": 1.2554,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.616,
      "final": 0.3155,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.257,
      "final": 1.6195,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.056,
      "final": 0.0287,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7561,
      "final": 2.7561,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1628,
      "final": 1.1628,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherHunter Gaddis
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1344
ESPN Rank-
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 ERA2.8187
Season WHIP1.2033
Role Avg IP0.8920
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "CLE",
    "games": 162,
    "wins": 85,
    "losses": 77,
    "win_pct": 0.5247,
    "runs_scored": 678.0,
    "runs_allowed": 667.0,
    "run_differential": 11.0,
    "run_differential_per_game": 0.0679,
    "avg_runs_scored": 4.1852,
    "avg_runs_allowed": 4.1173,
    "offense_index": 0.932,
    "defense_index": 1.0907,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 8,
      "losses": 2,
      "win_pct": 0.8,
      "avg_runs_scored": 5.3,
      "avg_runs_allowed": 3.2,
      "run_differential": 21.0
    },
    "available": true,
    "quality_score": 0.1343
  },
  "opponent": {
    "team": "CHW",
    "games": 162,
    "wins": 84,
    "losses": 78,
    "win_pct": 0.5185,
    "runs_scored": 776.0,
    "runs_allowed": 720.0,
    "run_differential": 56.0,
    "run_differential_per_game": 0.3457,
    "avg_runs_scored": 4.7901,
    "avg_runs_allowed": 4.4444,
    "offense_index": 1.0667,
    "defense_index": 1.0104,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 7,
      "losses": 3,
      "win_pct": 0.7,
      "avg_runs_scored": 6.5,
      "avg_runs_allowed": 4.3,
      "run_differential": 22.0
    },
    "available": true,
    "quality_score": 0.1281
  },
  "edges": {
    "quality_edge": 0.0062,
    "offense_edge": -0.068,
    "opponent_offense_edge": 0.0667,
    "defense_strength": 0.0907,
    "opponent_defense_weakness": -0.0104,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0003,
    "run_prevention": 1.0013,
    "strikeout": 0.9949
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "683769",
    "profile": {
      "available": true,
      "pitcher_id": "683769",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 230.0,
        "k_percent": 22.2,
        "bb_percent": 8.6,
        "woba": 0.3,
        "xwoba": 0.311,
        "sweet_spot_percent": 33.7,
        "barrel_batted_rate": 7.5,
        "hard_hit_percent": 29.9,
        "avg_best_speed": 75.513,
        "avg_hyper_speed": 92.3528,
        "whiff_percent": 29.5,
        "swing_percent": 51.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.2002,
        "command_and_miss": 0.2514,
        "regression_edge": -0.3143,
        "xwoba_edge": 0.0286,
        "barrel_edge": -0.0667,
        "hard_hit_edge": 1.1429,
        "whiff_edge": 0.6143,
        "bb_edge": 0.15,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "683769",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.1344,
      "sample_weight": 0.92,
      "run_prevention_factor": 0.9886,
      "strikeout_factor": 1.0231,
      "walk_factor": 0.989,
      "homer_factor": 0.9621,
      "woba_minus_xwoba": -0.011,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "683769",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9895,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9895,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9899,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9651,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0213,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.0,
    "ER": 4,
    "H": 13,
    "BB": 1,
    "SO": 8,
    "HR": 2,
    "ERA": 4.0,
    "WHIP": 1.5555555555555556,
    "K9": 8.0,
    "HR9": 2.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "683769",
  "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.524,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7147,
    "prior_weight": 0.2853
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "683769",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 68,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 1.0,
        "SO": 4.0,
        "HR": 2.0,
        "BF": 19.0,
        "Pitches": 71.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.6,
        "BB": 0.2,
        "SO": 0.8,
        "HR": 0.4,
        "BF": 3.8,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 2.25,
        "ER_per_IP": 0.75,
        "H_per_IP": 2.0,
        "BB_per_IP": 0.25,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.5
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 13.0,
        "BB": 1.0,
        "SO": 8.0,
        "HR": 2.0,
        "BF": 39.0,
        "Pitches": 143.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.3,
        "BB": 0.1,
        "SO": 0.8,
        "HR": 0.2,
        "BF": 3.9,
        "Pitches": 14.3
      },
      "rates": {
        "ERA": 4.0,
        "WHIP": 1.5556,
        "ER_per_IP": 0.44444,
        "H_per_IP": 1.44444,
        "BB_per_IP": 0.11111,
        "SO_per_IP": 0.88889,
        "HR_per_IP": 0.22222
      }
    },
    "season": {
      "games": 68,
      "totals": {
        "IP": 60.2,
        "ER": 19.0,
        "R": 19.0,
        "H": 53.0,
        "BB": 20.0,
        "SO": 57.0,
        "HR": 7.0,
        "BF": 254.0,
        "Pitches": 971.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2794,
        "R": 0.2794,
        "H": 0.7794,
        "BB": 0.2941,
        "SO": 0.8382,
        "HR": 0.1029,
        "BF": 3.7353,
        "Pitches": 14.2794
      },
      "rates": {
        "ERA": 2.8187,
        "WHIP": 1.2033,
        "ER_per_IP": 0.31319,
        "H_per_IP": 0.87363,
        "BB_per_IP": 0.32967,
        "SO_per_IP": 0.93956,
        "HR_per_IP": 0.11538
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.485,
    "predicted_H": 1.259,
    "predicted_BB": 0.236,
    "predicted_SO": 0.844,
    "predicted_HR": 0.246,
    "predicted_ERA": 4.8921,
    "predicted_WHIP": 1.6741
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4705,
  "form_weight": 0.5295,
  "form_reliability": 0.7147,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.524,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7147,
    "prior_weight": 0.2853
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.485,
      "final": 0.2568,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.259,
      "final": 0.6666,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.236,
      "final": 0.5955,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.844,
      "final": 0.4469,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.246,
      "final": 0.1302,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.8921,
      "final": 4.8921,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.6741,
      "final": 1.6741,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Steven Kwan (680757) · BATTER · CF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 607
All-history rows before 20261005: 607
System season_avg: 0.2820
Data season_avg (2026 season-to-date): 0.2846
Diff (system - data): -0.0026
System opponent_avg: 0.1410

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1440.0000.000Hitting_2B0.1610.000-0.1610.000
predicted_3B0.0210.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6234.0004.000Hitting_AB3.7223.0000.2781.000
predicted_AVG0.2820.2500.250Hitting_AVG0.2850.000-0.0350.250
predicted_BB0.5680.0001.000Hitting_BB0.5911.000-0.591-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H1.0211.0001.000Hitting_H1.0590.000-0.0591.000
predicted_HR0.0210.0000.000Hitting_HR0.0230.000-0.0230.000
predicted_OBP0.3790.2500.400Hitting_OBP0.3840.250-0.1340.000
predicted_R0.5341.0001.000Hitting_R0.6050.0000.3951.000
predicted_RBI0.2190.0000.000Hitting_RBI0.2390.000-0.2390.000
predicted_SLG0.3500.2500.250Hitting_SLG0.3520.000-0.1020.250
predicted_SO0.3900.0000.000Hitting_SO0.4230.000-0.4230.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics8
Boosted Metrics4
Deboosted Metrics4
Better Metrics5
Worse Metrics3
Biggest Boostpredicted_R: 0.5340 -> 1.0000 (boost 0.4660, better)
Biggest Deboostpredicted_BB: 0.5680 -> 0.0000 (deboost -0.5680, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_BB: 0.5680 -> 0.6278 (boost 0.0598, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling52332predicted_AB: 3.6064 -> 4.0000 (boost 0.3936, better)predicted_SO: 0.3582 -> 0.0000 (deboost -0.3582, better)AB rounded to 4 (raw=3.62), rates preserved: AVG=0.284 HR/AB=0.005
6bvp_blend00000--Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
7consistency_constraints11010predicted_R: 0.5075 -> 1.0000 (boost 0.4925, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine43122predicted_SO: 0.0000 -> 0.4407 (boost 0.4407, worse)predicted_BB: 1.0000 -> 0.5031 (deboost -0.4969, 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_allocation41322predicted_BB: 0.5031 -> 1.0000 (boost 0.4969, better)predicted_SO: 0.4407 -> 0.0000 (deboost -0.4407, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context20202-predicted_OBP: 0.3889 -> 0.3560 (deboost -0.0329, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final22020predicted_OBP: 0.3560 -> 0.3889 (boost 0.0329, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "680757",
  "player_name": "Steven Kwan",
  "position": "CF",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.144,
        "predicted_3B": 0.021,
        "predicted_AB": 3.623,
        "predicted_AVG": 0.282,
        "predicted_BB": 0.568,
        "predicted_H": 1.021,
        "predicted_HR": 0.021,
        "predicted_OBP": 0.379,
        "predicted_R": 0.534,
        "predicted_RBI": 0.219,
        "predicted_SLG": 0.35,
        "predicted_SO": 0.39
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.12,
        "predicted_3B": 0.0433,
        "predicted_AB": 3.6064,
        "predicted_AVG": 0.2842,
        "predicted_BB": 0.6278,
        "predicted_H": 1.0245,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0193,
        "predicted_OBP": 0.3896,
        "predicted_R": 0.5109,
        "predicted_RBI": 0.2207,
        "predicted_SLG": 0.3572,
        "predicted_SO": 0.3573
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.144,
          "after": 0.12,
          "delta": -0.024,
          "percent_delta": -0.1667,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.021,
          "after": 0.0433,
          "delta": 0.0223,
          "percent_delta": 1.0619,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.623,
          "after": 3.6064,
          "delta": -0.0166,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.282,
          "after": 0.2842,
          "delta": 0.0022,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.568,
          "after": 0.6278,
          "delta": 0.0598,
          "percent_delta": 0.1053,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.021,
          "after": 1.0245,
          "delta": 0.0035,
          "percent_delta": 0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.021,
          "after": 0.0193,
          "delta": -0.0017,
          "percent_delta": -0.081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.379,
          "after": 0.3896,
          "delta": 0.0106,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.534,
          "after": 0.5109,
          "delta": -0.0231,
          "percent_delta": -0.0433,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.219,
          "after": 0.2207,
          "delta": 0.0017,
          "percent_delta": 0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.35,
          "after": 0.3572,
          "delta": 0.0072,
          "percent_delta": 0.0206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.39,
          "after": 0.3573,
          "delta": -0.0327,
          "percent_delta": -0.0838,
          "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.568,
          "after": 0.6278,
          "delta": 0.0598,
          "percent_delta": 0.1053,
          "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": 146
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.12,
        "predicted_3B": 0.0433,
        "predicted_AB": 3.6064,
        "predicted_AVG": 0.2828,
        "predicted_BB": 0.6262,
        "predicted_H": 1.02,
        "predicted_HBP": 0.013,
        "predicted_HR": 0.0191,
        "predicted_OBP": 0.3889,
        "predicted_R": 0.5075,
        "predicted_RBI": 0.2192,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.3582
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.12,
          "after": 0.12,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0433,
          "after": 0.0433,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6064,
          "after": 3.6064,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2842,
          "after": 0.2828,
          "delta": -0.0014,
          "percent_delta": -0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.6278,
          "after": 0.6262,
          "delta": -0.0016,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0245,
          "after": 1.02,
          "delta": -0.0045,
          "percent_delta": -0.0044,
          "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.0193,
          "after": 0.0191,
          "delta": -0.0002,
          "percent_delta": -0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3896,
          "after": 0.3889,
          "delta": -0.0007,
          "percent_delta": -0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5109,
          "after": 0.5075,
          "delta": -0.0034,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2207,
          "after": 0.2192,
          "delta": -0.0015,
          "percent_delta": -0.0068,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3572,
          "after": 0.356,
          "delta": -0.0012,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.3573,
          "after": 0.3582,
          "delta": 0.0009,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.62), rates preserved: AVG=0.284 HR/AB=0.005",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.12,
          "after": 0.0,
          "delta": -0.12,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0433,
          "after": 0.0,
          "delta": -0.0433,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6064,
          "after": 4.0,
          "delta": 0.3936,
          "percent_delta": 0.1091,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6262,
          "after": 1.0,
          "delta": 0.3738,
          "percent_delta": 0.5969,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.02,
          "after": 1.0,
          "delta": -0.02,
          "percent_delta": -0.0196,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.0191,
          "after": 0.0,
          "delta": -0.0191,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2192,
          "after": 0.0,
          "delta": -0.2192,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3582,
          "after": 0.0,
          "delta": -0.3582,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.6064,
          "after": 4.0,
          "delta": 0.3936,
          "percent_delta": 0.1091,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.3582,
          "after": 0.0,
          "delta": -0.3582,
          "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.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": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5075,
          "after": 1.0,
          "delta": 0.4925,
          "percent_delta": 0.9704,
          "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.5075,
          "after": 1.0,
          "delta": 0.4925,
          "percent_delta": 0.9704,
          "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.161,
        "predicted_3B": 0.0186,
        "predicted_BB": 0.5031,
        "predicted_H": 1.0348,
        "predicted_HR": 0.046,
        "predicted_RBI": 0.2951,
        "predicted_SO": 0.4407
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.161,
          "delta": 0.161,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0186,
          "delta": 0.0186,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5031,
          "delta": -0.4969,
          "percent_delta": -0.4969,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0348,
          "delta": 0.0348,
          "percent_delta": 0.0348,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.046,
          "delta": 0.046,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.2951,
          "delta": 0.2951,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4407,
          "delta": 0.4407,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4407,
          "delta": 0.4407,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5031,
          "delta": -0.4969,
          "percent_delta": -0.4969,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.161,
          "after": 0.0,
          "delta": -0.161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0186,
          "after": 0.0,
          "delta": -0.0186,
          "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.5031,
          "after": 1.0,
          "delta": 0.4969,
          "percent_delta": 0.9877,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0348,
          "after": 1.0,
          "delta": -0.0348,
          "percent_delta": -0.0336,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.046,
          "after": 0.0,
          "delta": -0.046,
          "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.2951,
          "after": 0.0,
          "delta": -0.2951,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4407,
          "after": 0.0,
          "delta": -0.4407,
          "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.5031,
          "after": 1.0,
          "delta": 0.4969,
          "percent_delta": 0.9877,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4407,
          "after": 0.0,
          "delta": -0.4407,
          "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.267,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.356,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.353,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2828,
          "after": 0.267,
          "delta": -0.0158,
          "percent_delta": -0.0559,
          "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.3889,
          "after": 0.356,
          "delta": -0.0329,
          "percent_delta": -0.0846,
          "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.356,
          "after": 0.353,
          "delta": -0.003,
          "percent_delta": -0.0084,
          "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_OBP",
          "before": 0.3889,
          "after": 0.356,
          "delta": -0.0329,
          "percent_delta": -0.0846,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 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": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "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_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.2828,
        "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.3889,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.356,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2828,
          "delta": 0.0158,
          "percent_delta": 0.0593,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3889,
          "delta": 0.0329,
          "percent_delta": 0.0925,
          "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.353,
          "after": 0.356,
          "delta": 0.003,
          "percent_delta": 0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.356,
          "after": 0.3889,
          "delta": 0.0329,
          "percent_delta": 0.0925,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.144,
        "after": 0.0,
        "delta": -0.144,
        "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.623,
        "after": 4.0,
        "delta": 0.377,
        "percent_delta": 0.1041,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.282,
        "after": 0.2828,
        "delta": 0.0008,
        "percent_delta": 0.0028,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.568,
        "after": 0.0,
        "delta": -0.568,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.021,
        "after": 1.0,
        "delta": -0.021,
        "percent_delta": -0.0206,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.021,
        "after": 0.0,
        "delta": -0.021,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.379,
        "after": 0.3889,
        "delta": 0.0099,
        "percent_delta": 0.0261,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.534,
        "after": 1.0,
        "delta": 0.466,
        "percent_delta": 0.8727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.219,
        "after": 0.0,
        "delta": -0.219,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.35,
        "after": 0.356,
        "delta": 0.006,
        "percent_delta": 0.0171,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.39,
        "after": 0.0,
        "delta": -0.39,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 4,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.534,
        "after": 1.0,
        "delta": 0.466,
        "percent_delta": 0.8727,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.568,
        "after": 0.0,
        "delta": -0.568,
        "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.144-
predicted_3B0.021-
predicted_AB3.623-
predicted_AVG0.282-
predicted_BB0.568-
predicted_H1.021-
predicted_HR0.021-
predicted_OBP0.379-
predicted_R0.534-
predicted_RBI0.219-
predicted_SLG0.350-
predicted_SO0.390-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.120-0.024
predicted_3B0.0430.022
predicted_AB3.606-0.017
predicted_AVG0.2840.002
predicted_BB0.6280.060
predicted_H1.0240.004
predicted_HBP0.013-
predicted_HR0.019-0.002
predicted_OBP0.3900.011
predicted_R0.511-0.023
predicted_RBI0.2210.002
predicted_SLG0.3570.007
predicted_SO0.357-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.1200.000
predicted_3B0.0430.000
predicted_AB3.6060.000
predicted_AVG0.283-0.001
predicted_BB0.626-0.002
predicted_H1.020-0.004
predicted_HBP0.0130.000
predicted_HR0.019-0.000
predicted_OBP0.389-0.001
predicted_R0.507-0.003
predicted_RBI0.219-0.002
predicted_SLG0.356-0.001
predicted_SO0.3580.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.62), rates preserved: AVG=0.284 HR/AB=0.005

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB1.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO0.000-
6. 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
BB1.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
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
8. hitter_rate_engine

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

MetricValueDelta vs Prev Step
2B0.1610.161
3B0.0190.019
BB0.503-0.497
H1.0350.035
HR0.0460.046
RBI0.2950.295
SO0.4410.441
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.161
3B0.000-0.019
AB4.0000.000
BB1.0000.497
H1.000-0.035
HR0.000-0.046
R1.0000.000
RBI0.000-0.295
SO0.000-0.441
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.120
predicted_3B0.000-0.043
predicted_AB4.0000.394
predicted_AVG0.267-0.016
predicted_BB1.0000.374
predicted_H1.000-0.020
predicted_HR0.000-0.019
predicted_OBP0.356-0.033
predicted_R1.0000.493
predicted_RBI0.000-0.219
predicted_SLG0.353-0.003
predicted_SO0.000-0.358
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.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: 146
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0005.0000.0001.0000.0001.0002.0005.0000.0000.29410.45450.41180.29410.00000.05880.29410.0000
last_100.2010-36.00011.0000.0001.0000.0002.0004.0009.0003.0000.30560.44440.36110.30560.00000.05560.25000.0833
season0.60146-529.000149.00021.0003.0003.00032.00078.00083.00057.0000.28170.38030.34970.28170.00570.06050.15690.1077
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0890
predicted_3B0.0720
predicted_AB3.5850
predicted_AVG0.2871
predicted_BB0.7050
predicted_H1.0290
predicted_HBP0.0130
predicted_HR0.0170
predicted_OBP0.4032
predicted_R0.4810
predicted_RBI0.2230
predicted_SLG0.3664
predicted_SO0.3150
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14400.08900.1200model_form_blend
predicted_3B0.02100.07200.0433model_form_blend
predicted_AB3.62303.58503.6064model_form_blend
predicted_AVG0.28200.28710.2842model_form_blend
predicted_BB0.56800.70500.6278model_form_blend
predicted_H1.02101.02901.0245model_form_blend
predicted_HBP-0.01300.0130form_only
predicted_HR0.02100.01700.0193model_form_blend
predicted_OBP0.37900.40320.3896model_form_blend
predicted_R0.53400.48100.5109model_form_blend
predicted_RBI0.21900.22300.2207model_form_blend
predicted_SLG0.35000.36640.3572model_form_blend
predicted_SO0.39000.31500.3573model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date607
Season rows before report date607
Report year2026
Profile rows used146
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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_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_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
gameID20261003_CHW@CLE
game_typefull
mlbID680757
playerID680757
playerNameSteven Kwan
posLF
startedTrue
startingPositionCF
teamCLE
teamID8
game_date2026-10-03
sl_k_percent9.7
sl_bb_percent13.3
sl_woba0.334
sl_xwoba0.329
sl_xba0.278
sl_xslg0.343
sl_sweet_spot_percent40.6
sl_barrel_batted_rate0.4
sl_hard_hit_percent10.5
sl_exit_velocity_avg83.9
sl_launch_angle_avg12.8
sl_whiff_percent8.2
sl_swing_percent35.7
Jo Adell (666176) · BATTER · DH · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 172
All-history rows before 20261005: 172
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2363
Diff (system - data): 0.0017
System opponent_avg: 0.1950

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1640.0001.000Hitting_2B0.2440.000-0.2440.000
predicted_3B0.0060.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7994.0004.000Hitting_AB3.9134.0000.0870.000
predicted_AVG0.2380.2500.250Hitting_AVG0.2360.0000.0140.250
predicted_BB0.2140.0000.000Hitting_BB0.3950.000-0.3950.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9061.0001.000Hitting_H0.9240.0000.0761.000
predicted_HR0.1450.0000.000Hitting_HR0.1450.000-0.1450.000
predicted_OBP0.2790.2500.250Hitting_OBP0.3210.000-0.0710.250
predicted_R0.4400.0001.000Hitting_R0.5230.000-0.5230.000
predicted_RBI0.5850.0001.000Hitting_RBI0.7270.000-0.7270.000
predicted_SLG0.3990.2500.500Hitting_SLG0.4100.000-0.1600.250
predicted_SO1.0061.0001.000Hitting_SO1.1054.000-0.105-3.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: 3.7990 -> 4.0000 (boost 0.2010, better)
Biggest Deboostpredicted_RBI: 0.5850 -> 0.0000 (deboost -0.5850, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_BB: 0.2140 -> 0.2708 (boost 0.0568, better)predicted_RBI: 0.5850 -> 0.5190 (deboost -0.0660, worse)Final model input calibrated 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.2906 -> 0.2853 (deboost -0.0053, 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_scaling73434predicted_RBI: 0.5156 -> 1.0000 (boost 0.4844, better)predicted_BB: 0.2701 -> 0.0000 (deboost -0.2701, worse)AB rounded to 4 (raw=3.81), rates preserved: AVG=0.237 HR/AB=0.038
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
7consistency_constraints10101-predicted_R: 0.4732 -> 0.0000 (deboost -0.4732, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_BB: 0.0000 -> 0.2637 (boost 0.2637, better)predicted_RBI: 1.0000 -> 0.5430 (deboost -0.4570, 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_allocation64242predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.2637 -> 0.0000 (deboost -0.2637, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53232predicted_OBP: 0.2853 -> 0.3010 (boost 0.0157, 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_reference10101-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_OBP: 0.3010 -> 0.2853 (deboost -0.0157, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666176",
  "player_name": "Jo Adell",
  "position": "DH",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.164,
        "predicted_3B": 0.006,
        "predicted_AB": 3.799,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.214,
        "predicted_H": 0.906,
        "predicted_HR": 0.145,
        "predicted_OBP": 0.279,
        "predicted_R": 0.44,
        "predicted_RBI": 0.585,
        "predicted_SLG": 0.399,
        "predicted_SO": 1.006
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1618,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.8073,
        "predicted_AVG": 0.2354,
        "predicted_BB": 0.2708,
        "predicted_H": 0.8973,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.1454,
        "predicted_OBP": 0.2906,
        "predicted_R": 0.4763,
        "predicted_RBI": 0.519,
        "predicted_SLG": 0.3955,
        "predicted_SO": 1.0021
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.164,
          "after": 0.1618,
          "delta": -0.0022,
          "percent_delta": -0.0134,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.799,
          "after": 3.8073,
          "delta": 0.0083,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2354,
          "delta": -0.0026,
          "percent_delta": -0.0109,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.214,
          "after": 0.2708,
          "delta": 0.0568,
          "percent_delta": 0.2654,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.906,
          "after": 0.8973,
          "delta": -0.0087,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.145,
          "after": 0.1454,
          "delta": 0.0004,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.279,
          "after": 0.2906,
          "delta": 0.0116,
          "percent_delta": 0.0416,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.44,
          "after": 0.4763,
          "delta": 0.0363,
          "percent_delta": 0.0825,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.585,
          "after": 0.519,
          "delta": -0.066,
          "percent_delta": -0.1128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.399,
          "after": 0.3955,
          "delta": -0.0035,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.006,
          "after": 1.0021,
          "delta": -0.0039,
          "percent_delta": -0.0039,
          "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.214,
          "after": 0.2708,
          "delta": 0.0568,
          "percent_delta": 0.2654,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.585,
          "after": 0.519,
          "delta": -0.066,
          "percent_delta": -0.1128,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 159
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1618,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.8073,
        "predicted_AVG": 0.2346,
        "predicted_BB": 0.2701,
        "predicted_H": 0.8934,
        "predicted_HBP": 0.067,
        "predicted_HR": 0.1441,
        "predicted_OBP": 0.2853,
        "predicted_R": 0.4732,
        "predicted_RBI": 0.5156,
        "predicted_SLG": 0.3934,
        "predicted_SO": 1.0046
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1618,
          "after": 0.1618,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8073,
          "after": 3.8073,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2354,
          "after": 0.2346,
          "delta": -0.0008,
          "percent_delta": -0.0034,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2708,
          "after": 0.2701,
          "delta": -0.0007,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8973,
          "after": 0.8934,
          "delta": -0.0039,
          "percent_delta": -0.0043,
          "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.1454,
          "after": 0.1441,
          "delta": -0.0013,
          "percent_delta": -0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2906,
          "after": 0.2853,
          "delta": -0.0053,
          "percent_delta": -0.0182,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4763,
          "after": 0.4732,
          "delta": -0.0031,
          "percent_delta": -0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.519,
          "after": 0.5156,
          "delta": -0.0034,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3955,
          "after": 0.3934,
          "delta": -0.0021,
          "percent_delta": -0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0021,
          "after": 1.0046,
          "delta": 0.0025,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.2906,
          "after": 0.2853,
          "delta": -0.0053,
          "percent_delta": -0.0182,
          "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.81), rates preserved: AVG=0.237 HR/AB=0.038",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1618,
          "after": 0.0,
          "delta": -0.1618,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8073,
          "after": 4.0,
          "delta": 0.1927,
          "percent_delta": 0.0506,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2701,
          "after": 0.0,
          "delta": -0.2701,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8934,
          "after": 1.0,
          "delta": 0.1066,
          "percent_delta": 0.1193,
          "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.1441,
          "after": 0.0,
          "delta": -0.1441,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5156,
          "after": 1.0,
          "delta": 0.4844,
          "percent_delta": 0.9395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0046,
          "after": 1.0,
          "delta": -0.0046,
          "percent_delta": -0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5156,
          "after": 1.0,
          "delta": 0.4844,
          "percent_delta": 0.9395,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2701,
          "after": 0.0,
          "delta": -0.2701,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4732,
          "after": 0.0,
          "delta": -0.4732,
          "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.4732,
          "after": 0.0,
          "delta": -0.4732,
          "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.1862,
        "predicted_3B": 0.0111,
        "predicted_BB": 0.2637,
        "predicted_H": 0.9489,
        "predicted_HR": 0.1302,
        "predicted_RBI": 0.543,
        "predicted_SO": 0.9574
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1862,
          "delta": 0.1862,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0111,
          "delta": 0.0111,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2637,
          "delta": 0.2637,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9489,
          "delta": -0.0511,
          "percent_delta": -0.0511,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1302,
          "delta": 0.1302,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.543,
          "delta": -0.457,
          "percent_delta": -0.457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9574,
          "delta": -0.0426,
          "percent_delta": -0.0426,
          "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.2637,
          "delta": 0.2637,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.543,
          "delta": -0.457,
          "percent_delta": -0.457,
          "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.1862,
          "after": 1.0,
          "delta": 0.8138,
          "percent_delta": 4.3706,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0111,
          "after": 0.0,
          "delta": -0.0111,
          "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.2637,
          "after": 0.0,
          "delta": -0.2637,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9489,
          "after": 1.0,
          "delta": 0.0511,
          "percent_delta": 0.0539,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1302,
          "after": 0.0,
          "delta": -0.1302,
          "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.543,
          "after": 1.0,
          "delta": 0.457,
          "percent_delta": 0.8416,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9574,
          "after": 1.0,
          "delta": 0.0426,
          "percent_delta": 0.0445,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_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.2637,
          "after": 0.0,
          "delta": -0.2637,
          "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.247,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.403,
        "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.2346,
          "after": 0.247,
          "delta": 0.0124,
          "percent_delta": 0.0529,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2853,
          "after": 0.301,
          "delta": 0.0157,
          "percent_delta": 0.055,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3934,
          "after": 0.403,
          "delta": 0.0096,
          "percent_delta": 0.0244,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_OBP",
          "before": 0.2853,
          "after": 0.301,
          "delta": 0.0157,
          "percent_delta": 0.055,
          "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": 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": 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.2346,
        "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.2853,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3934,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.247,
          "after": 0.2346,
          "delta": -0.0124,
          "percent_delta": -0.05,
          "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.2853,
          "delta": -0.0157,
          "percent_delta": -0.052,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.3934,
          "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": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.2853,
          "delta": -0.0157,
          "percent_delta": -0.052,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.164,
        "after": 0.0,
        "delta": -0.164,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.799,
        "after": 4.0,
        "delta": 0.201,
        "percent_delta": 0.0529,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.238,
        "after": 0.2346,
        "delta": -0.0034,
        "percent_delta": -0.0143,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.214,
        "after": 0.0,
        "delta": -0.214,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.906,
        "after": 1.0,
        "delta": 0.094,
        "percent_delta": 0.1038,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.145,
        "after": 0.0,
        "delta": -0.145,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.279,
        "after": 0.2853,
        "delta": 0.0063,
        "percent_delta": 0.0226,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.585,
        "after": 0.0,
        "delta": -0.585,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.399,
        "after": 0.3934,
        "delta": -0.0056,
        "percent_delta": -0.014,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.006,
        "after": 1.0,
        "delta": -0.006,
        "percent_delta": -0.006,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 3,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.799,
        "after": 4.0,
        "delta": 0.201,
        "percent_delta": 0.0529,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.585,
        "after": 0.0,
        "delta": -0.585,
        "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.006-
predicted_AB3.799-
predicted_AVG0.238-
predicted_BB0.214-
predicted_H0.906-
predicted_HR0.145-
predicted_OBP0.279-
predicted_R0.440-
predicted_RBI0.585-
predicted_SLG0.399-
predicted_SO1.006-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.162-0.002
predicted_3B0.005-0.001
predicted_AB3.8070.008
predicted_AVG0.235-0.003
predicted_BB0.2710.057
predicted_H0.897-0.009
predicted_HBP0.067-
predicted_HR0.1450.000
predicted_OBP0.2910.012
predicted_R0.4760.036
predicted_RBI0.519-0.066
predicted_SLG0.396-0.004
predicted_SO1.002-0.004
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1620.000
predicted_3B0.0050.000
predicted_AB3.8070.000
predicted_AVG0.235-0.001
predicted_BB0.270-0.001
predicted_H0.893-0.004
predicted_HBP0.0670.000
predicted_HR0.144-0.001
predicted_OBP0.285-0.005
predicted_R0.473-0.003
predicted_RBI0.516-0.003
predicted_SLG0.393-0.002
predicted_SO1.0050.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.81), rates preserved: AVG=0.237 HR/AB=0.038

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
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.1860.186
3B0.0110.011
BB0.2640.264
H0.949-0.051
HR0.1300.130
RBI0.543-0.457
SO0.957-0.043
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.011
AB4.0000.000
BB0.000-0.264
H1.0000.051
HR0.000-0.130
R1.0001.000
RBI1.0000.457
SO1.0000.043
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.162
predicted_3B0.000-0.005
predicted_AB4.0000.193
predicted_AVG0.2470.012
predicted_BB0.000-0.270
predicted_H1.0000.107
predicted_HR0.000-0.144
predicted_OBP0.3010.016
predicted_R0.000-0.473
predicted_RBI1.0000.484
predicted_SLG0.4030.010
predicted_SO1.000-0.005
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-
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: 159
Reference playing time: 3.801
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.0001.0001.0004.0003.0005.0000.21050.31820.42110.21050.05260.05260.15790.2632
last_100.2010-39.0009.0001.0000.0001.0002.0005.0005.00010.0000.23080.31820.33330.23080.02560.05130.12820.2564
season0.60159-604.000144.00026.0001.00023.00093.00070.00034.000160.0000.23840.29700.39900.23840.03810.15400.05630.2649
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1590
predicted_3B0.0040
predicted_AB3.8180
predicted_AVG0.2320
predicted_BB0.3440
predicted_H0.8860
predicted_HBP0.0670
predicted_HR0.1460
predicted_OBP0.3055
predicted_R0.5230
predicted_RBI0.4340
predicted_SLG0.3910
predicted_SO0.9970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.15900.1618model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.79903.81803.8073model_form_blend
predicted_AVG0.23800.23200.2354model_form_blend
predicted_BB0.21400.34400.2708model_form_blend
predicted_H0.90600.88600.8973model_form_blend
predicted_HBP-0.06700.0670form_only
predicted_HR0.14500.14600.1454model_form_blend
predicted_OBP0.27900.30550.2906model_form_blend
predicted_R0.44000.52300.4763model_form_blend
predicted_RBI0.58500.43400.5190model_form_blend
predicted_SLG0.39900.39100.3955model_form_blend
predicted_SO1.00600.99701.0021model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
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_SO4
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
gameID20261003_CHW@CLE
game_typefull
mlbID666176
playerID666176
playerNameJo Adell
posRF
startedTrue
startingPositionDH
teamCLE
teamID8
game_date2026-10-03
sl_k_percent23.8
sl_bb_percent5.2
sl_woba0.307
sl_xwoba0.329
sl_xba0.257
sl_xslg0.444
sl_sweet_spot_percent32.2
sl_barrel_batted_rate8.9
sl_hard_hit_percent44.9
sl_exit_velocity_avg90.4
sl_launch_angle_avg16.2
sl_whiff_percent28.2
sl_swing_percent53.2
José Ramírez (608070) · BATTER · 3B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 510
All-history rows before 20261005: 510
System season_avg: 0.2330
Data season_avg (2026 season-to-date): 0.2345
Diff (system - data): -0.0015
System opponent_avg: 0.1630

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2210.0001.000Hitting_2B0.2390.000-0.2390.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3304.0004.000Hitting_AB3.8293.0000.1711.000
predicted_AVG0.2210.0000.250Hitting_AVG0.2350.000-0.2350.000
predicted_BB0.4920.0001.000Hitting_BB0.5161.000-0.516-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.9600.0001.000Hitting_H0.8980.000-0.8980.000
predicted_HR0.0700.0000.000Hitting_HR0.1000.000-0.1000.000
predicted_OBP0.3190.0000.400Hitting_OBP0.3260.250-0.326-0.250
predicted_R0.5660.0001.000Hitting_R0.5800.000-0.5800.000
predicted_RBI0.5100.0000.000Hitting_RBI0.4670.000-0.4670.000
predicted_SLG0.3550.0000.500Hitting_SLG0.3750.000-0.3750.000
predicted_SO0.5661.0001.000Hitting_SO0.5691.0000.4310.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.5660 -> 1.0000 (boost 0.4340, worse)
Biggest Deboostpredicted_H: 0.9600 -> 0.0000 (deboost -0.9600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_AB: 4.3300 -> 4.1254 (deboost -0.2046, worse)Final model input calibrated 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.3502 -> 0.3292 (deboost -0.0210, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_H: 0.9255 -> 1.0000 (boost 0.0745, better)predicted_SO: 0.5474 -> 0.0000 (deboost -0.5474, better)AB rounded to 4 (raw=4.33), rates preserved: AVG=0.216 HR/AB=0.017
6consistency_constraints11010predicted_R: 0.5739 -> 1.0000 (boost 0.4261, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55041predicted_SO: 0.0000 -> 0.5719 (boost 0.5719, 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_2B: 0.2138 -> 1.0000 (boost 0.7862, better)predicted_RBI: 0.4377 -> 0.0000 (deboost -0.4377, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context63342predicted_SLG: 0.3292 -> 0.3730 (boost 0.0438, 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_reference31203predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.3730 -> 0.3292 (deboost -0.0438, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "608070",
  "player_name": "José Ramírez",
  "position": "3B",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.221,
        "predicted_3B": 0.0,
        "predicted_AB": 4.33,
        "predicted_AVG": 0.221,
        "predicted_BB": 0.492,
        "predicted_H": 0.96,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.319,
        "predicted_R": 0.566,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.355,
        "predicted_SO": 0.566
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.208,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1254,
        "predicted_AVG": 0.2253,
        "predicted_BB": 0.4885,
        "predicted_H": 0.9296,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0752,
        "predicted_OBP": 0.3166,
        "predicted_R": 0.5777,
        "predicted_RBI": 0.4805,
        "predicted_SLG": 0.3502,
        "predicted_SO": 0.546
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.221,
          "after": 0.208,
          "delta": -0.013,
          "percent_delta": -0.0588,
          "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.33,
          "after": 4.1254,
          "delta": -0.2046,
          "percent_delta": -0.0473,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.2253,
          "delta": 0.0043,
          "percent_delta": 0.0195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.492,
          "after": 0.4885,
          "delta": -0.0035,
          "percent_delta": -0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.96,
          "after": 0.9296,
          "delta": -0.0304,
          "percent_delta": -0.0317,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.07,
          "after": 0.0752,
          "delta": 0.0052,
          "percent_delta": 0.0743,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.319,
          "after": 0.3166,
          "delta": -0.0024,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.566,
          "after": 0.5777,
          "delta": 0.0117,
          "percent_delta": 0.0207,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.4805,
          "delta": -0.0295,
          "percent_delta": -0.0578,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.355,
          "after": 0.3502,
          "delta": -0.0048,
          "percent_delta": -0.0135,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.566,
          "after": 0.546,
          "delta": -0.02,
          "percent_delta": -0.0353,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.33,
          "after": 4.1254,
          "delta": -0.2046,
          "percent_delta": -0.0473,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.208,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.1254,
        "predicted_AVG": 0.2243,
        "predicted_BB": 0.4873,
        "predicted_H": 0.9255,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0745,
        "predicted_OBP": 0.3063,
        "predicted_R": 0.5739,
        "predicted_RBI": 0.4773,
        "predicted_SLG": 0.3292,
        "predicted_SO": 0.5474
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.208,
          "after": 0.208,
          "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.1254,
          "after": 4.1254,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2253,
          "after": 0.2243,
          "delta": -0.001,
          "percent_delta": -0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4885,
          "after": 0.4873,
          "delta": -0.0012,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9296,
          "after": 0.9255,
          "delta": -0.0041,
          "percent_delta": -0.0044,
          "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.0752,
          "after": 0.0745,
          "delta": -0.0007,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3166,
          "after": 0.3063,
          "delta": -0.0103,
          "percent_delta": -0.0325,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5777,
          "after": 0.5739,
          "delta": -0.0038,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4805,
          "after": 0.4773,
          "delta": -0.0032,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3502,
          "after": 0.3292,
          "delta": -0.021,
          "percent_delta": -0.06,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.546,
          "after": 0.5474,
          "delta": 0.0014,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3502,
          "after": 0.3292,
          "delta": -0.021,
          "percent_delta": -0.06,
          "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.33), rates preserved: AVG=0.216 HR/AB=0.017",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.208,
          "after": 0.0,
          "delta": -0.208,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1254,
          "after": 4.0,
          "delta": -0.1254,
          "percent_delta": -0.0304,
          "direction": "deboost",
          "projection_effect": "worse",
          "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": 0.9255,
          "after": 1.0,
          "delta": 0.0745,
          "percent_delta": 0.0805,
          "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.0745,
          "after": 0.0,
          "delta": -0.0745,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4773,
          "after": 0.0,
          "delta": -0.4773,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5474,
          "after": 0.0,
          "delta": -0.5474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.9255,
          "after": 1.0,
          "delta": 0.0745,
          "percent_delta": 0.0805,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5474,
          "after": 0.0,
          "delta": -0.5474,
          "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.5739,
          "after": 1.0,
          "delta": 0.4261,
          "percent_delta": 0.7425,
          "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.5739,
          "after": 1.0,
          "delta": 0.4261,
          "percent_delta": 0.7425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.2138,
        "predicted_3B": 0.0097,
        "predicted_BB": 0.519,
        "predicted_H": 0.9571,
        "predicted_HR": 0.1015,
        "predicted_RBI": 0.4377,
        "predicted_SO": 0.5719
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2138,
          "delta": 0.2138,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0097,
          "delta": 0.0097,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.519,
          "delta": 0.519,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9571,
          "delta": -0.0429,
          "percent_delta": -0.0429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1015,
          "delta": 0.1015,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4377,
          "delta": 0.4377,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5719,
          "delta": 0.5719,
          "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.5719,
          "delta": 0.5719,
          "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": 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.2138,
          "after": 1.0,
          "delta": 0.7862,
          "percent_delta": 3.6773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0097,
          "after": 0.0,
          "delta": -0.0097,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.519,
          "after": 1.0,
          "delta": 0.481,
          "percent_delta": 0.9268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9571,
          "after": 1.0,
          "delta": 0.0429,
          "percent_delta": 0.0448,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1015,
          "after": 0.0,
          "delta": -0.1015,
          "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.4377,
          "after": 0.0,
          "delta": -0.4377,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5719,
          "after": 1.0,
          "delta": 0.4281,
          "percent_delta": 0.7486,
          "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.2138,
          "after": 1.0,
          "delta": 0.7862,
          "percent_delta": 3.6773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4377,
          "after": 0.0,
          "delta": -0.4377,
          "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.331,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.373,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2243,
          "after": 0.239,
          "delta": 0.0147,
          "percent_delta": 0.0655,
          "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.3063,
          "after": 0.331,
          "delta": 0.0247,
          "percent_delta": 0.0806,
          "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.3292,
          "after": 0.373,
          "delta": 0.0438,
          "percent_delta": 0.133,
          "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": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3292,
          "after": 0.373,
          "delta": 0.0438,
          "percent_delta": 0.133,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.2243,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3063,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3292,
        "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.2243,
          "delta": -0.0147,
          "percent_delta": -0.0613,
          "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.331,
          "after": 0.3063,
          "delta": -0.0247,
          "percent_delta": -0.0747,
          "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.373,
          "after": 0.3292,
          "delta": -0.0438,
          "percent_delta": -0.1175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.373,
          "after": 0.3292,
          "delta": -0.0438,
          "percent_delta": -0.1175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.221,
        "after": 0.0,
        "delta": -0.221,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.33,
        "after": 4.0,
        "delta": -0.33,
        "percent_delta": -0.0762,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.221,
        "after": 0.2243,
        "delta": 0.0033,
        "percent_delta": 0.0149,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.492,
        "after": 0.0,
        "delta": -0.492,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 0.0,
        "delta": -0.96,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.319,
        "after": 0.3063,
        "delta": -0.0127,
        "percent_delta": -0.0398,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.566,
        "after": 0.0,
        "delta": -0.566,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.355,
        "after": 0.3292,
        "delta": -0.0258,
        "percent_delta": -0.0727,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.566,
        "after": 1.0,
        "delta": 0.434,
        "percent_delta": 0.7668,
        "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.566,
        "after": 1.0,
        "delta": 0.434,
        "percent_delta": 0.7668,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.96,
        "after": 0.0,
        "delta": -0.96,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.221-
predicted_3B0.000-
predicted_AB4.330-
predicted_AVG0.221-
predicted_BB0.492-
predicted_H0.960-
predicted_HR0.070-
predicted_OBP0.319-
predicted_R0.566-
predicted_RBI0.510-
predicted_SLG0.355-
predicted_SO0.566-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.013
predicted_3B0.0000.000
predicted_AB4.125-0.205
predicted_AVG0.2250.004
predicted_BB0.488-0.004
predicted_H0.930-0.030
predicted_HBP0.016-
predicted_HR0.0750.005
predicted_OBP0.317-0.002
predicted_R0.5780.012
predicted_RBI0.480-0.030
predicted_SLG0.350-0.005
predicted_SO0.546-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.2080.000
predicted_3B0.0000.000
predicted_AB4.1250.000
predicted_AVG0.224-0.001
predicted_BB0.487-0.001
predicted_H0.925-0.004
predicted_HBP0.0160.000
predicted_HR0.074-0.001
predicted_OBP0.306-0.010
predicted_R0.574-0.004
predicted_RBI0.477-0.003
predicted_SLG0.329-0.021
predicted_SO0.5470.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.33), rates preserved: AVG=0.216 HR/AB=0.017

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
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.2140.214
3B0.0100.010
BB0.5190.519
H0.957-0.043
HR0.1020.102
RBI0.4380.438
SO0.5720.572
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.786
3B0.000-0.010
AB4.0000.000
BB1.0000.481
H1.0000.043
HR0.000-0.102
R1.0000.000
RBI0.000-0.438
SO1.0000.428
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.208
predicted_3B0.000-0.000
predicted_AB4.000-0.125
predicted_AVG0.2390.015
predicted_BB0.000-0.487
predicted_H1.0000.075
predicted_HR0.000-0.074
predicted_OBP0.3310.025
predicted_R1.0000.426
predicted_RBI0.000-0.477
predicted_SLG0.3730.044
predicted_SO0.000-0.547
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.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: 122
Reference playing time: 4.330
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0000.0000.0000.0002.0003.0003.0002.0000.15790.26090.15790.15790.00000.10530.15790.1053
last_100.2010-41.00012.0003.0000.0001.0005.0007.0004.0004.0000.29270.34780.43900.29270.02440.12200.09760.0976
season0.60122-464.000108.00027.0000.00012.00053.00069.00060.00069.0000.23280.32020.36850.23280.02590.11420.12930.1487
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1910
predicted_3B0.0010
predicted_AB3.8590
predicted_AVG0.2308
predicted_BB0.4840
predicted_H0.8900
predicted_HBP0.0160
predicted_HR0.0820
predicted_OBP0.3134
predicted_R0.5930
predicted_RBI0.4420
predicted_SLG0.3440
predicted_SO0.5200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22100.19100.2080model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.33003.85904.1254model_form_blend
predicted_AVG0.22100.23080.2253model_form_blend
predicted_BB0.49200.48400.4885model_form_blend
predicted_H0.96000.89000.9296model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.07000.08200.0752model_form_blend
predicted_OBP0.31900.31340.3166model_form_blend
predicted_R0.56600.59300.5777model_form_blend
predicted_RBI0.51000.44200.4805model_form_blend
predicted_SLG0.35500.34400.3502model_form_blend
predicted_SO0.56600.52000.5460model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI0
BB0
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_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261003_CHW@CLE
game_typefull
mlbID608070
playerID608070
playerNameJosé Ramírez
pos3B
startedTrue
startingPosition3B
teamCLE
teamID8
game_date2026-10-03
sl_k_percent12.7
sl_bb_percent11.0
sl_woba0.301
sl_xwoba0.325
sl_xba0.266
sl_xslg0.391
sl_sweet_spot_percent35.3
sl_barrel_batted_rate4.1
sl_hard_hit_percent38.8
sl_exit_velocity_avg88.6
sl_launch_angle_avg19.0
sl_whiff_percent15.3
sl_swing_percent45.4
Nathaniel Lowe (663993) · BATTER · 1B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 138
All-history rows before 20261005: 138
System season_avg: 0.2510
Data season_avg (2026 season-to-date): 0.2386
Diff (system - data): 0.0124
System opponent_avg: 0.3000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1880.0000.000Hitting_2B0.1881.000-0.188-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.1713.0004.000Hitting_AB3.4932.000-0.4931.000
predicted_AVG0.2640.0000.250Hitting_AVG0.2390.500-0.239-0.500
predicted_BB0.3081.0000.000Hitting_BB0.3121.0000.6880.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3700.0001.000Hitting_H0.8331.000-0.833-1.000
predicted_HR0.0400.0000.000Hitting_HR0.1380.000-0.1380.000
predicted_OBP0.2980.2500.250Hitting_OBP0.2940.667-0.044-0.417
predicted_R0.2990.0000.000Hitting_R0.3480.000-0.3480.000
predicted_RBI0.2600.0001.000Hitting_RBI0.7030.000-0.7030.000
predicted_SLG0.3900.0000.250Hitting_SLG0.4111.000-0.411-1.000
predicted_SO0.8292.0001.000Hitting_SO0.8041.0001.1961.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.8290 -> 2.0000 (boost 1.1710, worse)
Biggest Deboostpredicted_H: 0.3700 -> 0.0000 (deboost -0.3700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42231predicted_H: 0.3700 -> 0.5417 (boost 0.1717, better)predicted_SO: 0.8290 -> 0.7584 (deboost -0.0706, 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.3853 -> 0.2832 (deboost -0.1021, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_AB: 3.1620 -> 4.0000 (boost 0.8380, better)predicted_RBI: 0.3934 -> 0.0000 (deboost -0.3934, worse)AB rounded to 4 (raw=3.17), rates preserved: AVG=0.172 HR/AB=0.018
6consistency_constraints10101-predicted_R: 0.2521 -> 0.0000 (deboost -0.2521, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5389 (boost 0.5389, better)predicted_H: 1.0000 -> 0.8987 (deboost -0.1013, 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.5389 -> 1.0000 (boost 0.4611, better)predicted_BB: 0.3126 -> 0.0000 (deboost -0.3126, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context43131predicted_SLG: 0.2832 -> 0.4110 (boost 0.1278, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference42213predicted_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.4110 -> 0.2832 (deboost -0.1278, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663993",
  "player_name": "Nathaniel Lowe",
  "position": "1B",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.188,
        "predicted_3B": 0.0,
        "predicted_AB": 3.171,
        "predicted_AVG": 0.264,
        "predicted_BB": 0.308,
        "predicted_H": 0.37,
        "predicted_HR": 0.04,
        "predicted_OBP": 0.298,
        "predicted_R": 0.299,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.39,
        "predicted_SO": 0.829
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1815,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.162,
        "predicted_AVG": 0.2554,
        "predicted_BB": 0.2805,
        "predicted_H": 0.5417,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.0585,
        "predicted_OBP": 0.2952,
        "predicted_R": 0.2538,
        "predicted_RBI": 0.396,
        "predicted_SLG": 0.3853,
        "predicted_SO": 0.7584
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.188,
          "after": 0.1815,
          "delta": -0.0065,
          "percent_delta": -0.0346,
          "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.171,
          "after": 3.162,
          "delta": -0.009,
          "percent_delta": -0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.264,
          "after": 0.2554,
          "delta": -0.0086,
          "percent_delta": -0.0326,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.308,
          "after": 0.2805,
          "delta": -0.0275,
          "percent_delta": -0.0893,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.37,
          "after": 0.5417,
          "delta": 0.1717,
          "percent_delta": 0.4641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.04,
          "after": 0.0585,
          "delta": 0.0185,
          "percent_delta": 0.4625,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.2952,
          "delta": -0.0028,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.299,
          "after": 0.2538,
          "delta": -0.0452,
          "percent_delta": -0.1512,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.26,
          "after": 0.396,
          "delta": 0.136,
          "percent_delta": 0.5231,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.39,
          "after": 0.3853,
          "delta": -0.0047,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.829,
          "after": 0.7584,
          "delta": -0.0706,
          "percent_delta": -0.0852,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.37,
          "after": 0.5417,
          "delta": 0.1717,
          "percent_delta": 0.4641,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.829,
          "after": 0.7584,
          "delta": -0.0706,
          "percent_delta": -0.0852,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 117
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1815,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.162,
        "predicted_AVG": 0.1706,
        "predicted_BB": 0.2798,
        "predicted_H": 0.5393,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.058,
        "predicted_OBP": 0.238,
        "predicted_R": 0.2521,
        "predicted_RBI": 0.3934,
        "predicted_SLG": 0.2832,
        "predicted_SO": 0.7603
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1815,
          "after": 0.1815,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0004,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.162,
          "after": 3.162,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2554,
          "after": 0.1706,
          "delta": -0.0848,
          "percent_delta": -0.332,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2805,
          "after": 0.2798,
          "delta": -0.0007,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5417,
          "after": 0.5393,
          "delta": -0.0024,
          "percent_delta": -0.0044,
          "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.0585,
          "after": 0.058,
          "delta": -0.0005,
          "percent_delta": -0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2952,
          "after": 0.238,
          "delta": -0.0572,
          "percent_delta": -0.1938,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.2538,
          "after": 0.2521,
          "delta": -0.0017,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.396,
          "after": 0.3934,
          "delta": -0.0026,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3853,
          "after": 0.2832,
          "delta": -0.1021,
          "percent_delta": -0.265,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7584,
          "after": 0.7603,
          "delta": 0.0019,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3853,
          "after": 0.2832,
          "delta": -0.1021,
          "percent_delta": -0.265,
          "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.17), rates preserved: AVG=0.172 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.1815,
          "after": 0.0,
          "delta": -0.1815,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0004,
          "after": 0.0,
          "delta": -0.0004,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.162,
          "after": 4.0,
          "delta": 0.838,
          "percent_delta": 0.265,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2798,
          "after": 0.0,
          "delta": -0.2798,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5393,
          "after": 1.0,
          "delta": 0.4607,
          "percent_delta": 0.8543,
          "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.058,
          "after": 0.0,
          "delta": -0.058,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3934,
          "after": 0.0,
          "delta": -0.3934,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7603,
          "after": 1.0,
          "delta": 0.2397,
          "percent_delta": 0.3153,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.162,
          "after": 4.0,
          "delta": 0.838,
          "percent_delta": 0.265,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3934,
          "after": 0.0,
          "delta": -0.3934,
          "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.2521,
          "after": 0.0,
          "delta": -0.2521,
          "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.2521,
          "after": 0.0,
          "delta": -0.2521,
          "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.1694,
        "predicted_3B": 0.0103,
        "predicted_BB": 0.3126,
        "predicted_H": 0.8987,
        "predicted_HR": 0.1196,
        "predicted_RBI": 0.5389,
        "predicted_SO": 0.9034
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1694,
          "delta": 0.1694,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0103,
          "delta": 0.0103,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3126,
          "delta": 0.3126,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8987,
          "delta": -0.1013,
          "percent_delta": -0.1013,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1196,
          "delta": 0.1196,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5389,
          "delta": 0.5389,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9034,
          "delta": -0.0966,
          "percent_delta": -0.0966,
          "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.5389,
          "delta": 0.5389,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8987,
          "delta": -0.1013,
          "percent_delta": -0.1013,
          "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.1694,
          "after": 0.0,
          "delta": -0.1694,
          "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.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3126,
          "after": 0.0,
          "delta": -0.3126,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8987,
          "after": 1.0,
          "delta": 0.1013,
          "percent_delta": 0.1127,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1196,
          "after": 0.0,
          "delta": -0.1196,
          "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.5389,
          "after": 1.0,
          "delta": 0.4611,
          "percent_delta": 0.8556,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9034,
          "after": 1.0,
          "delta": 0.0966,
          "percent_delta": 0.1069,
          "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.5389,
          "after": 1.0,
          "delta": 0.4611,
          "percent_delta": 0.8556,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3126,
          "after": 0.0,
          "delta": -0.3126,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.322,
        "predicted_R": 0.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.1706,
          "after": 0.255,
          "delta": 0.0844,
          "percent_delta": 0.4947,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.238,
          "after": 0.322,
          "delta": 0.084,
          "percent_delta": 0.3529,
          "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.2832,
          "after": 0.411,
          "delta": 0.1278,
          "percent_delta": 0.4513,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.2832,
          "after": 0.411,
          "delta": 0.1278,
          "percent_delta": 0.4513,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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.1706,
        "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.238,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2832,
        "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.255,
          "after": 0.1706,
          "delta": -0.0844,
          "percent_delta": -0.3311,
          "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.322,
          "after": 0.238,
          "delta": -0.084,
          "percent_delta": -0.2609,
          "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.411,
          "after": 0.2832,
          "delta": -0.1278,
          "percent_delta": -0.3109,
          "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.411,
          "after": 0.2832,
          "delta": -0.1278,
          "percent_delta": -0.3109,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.171,
        "after": 3.0,
        "delta": -0.171,
        "percent_delta": -0.0539,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.264,
        "after": 0.1706,
        "delta": -0.0934,
        "percent_delta": -0.3538,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.308,
        "after": 1.0,
        "delta": 0.692,
        "percent_delta": 2.2468,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "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.298,
        "after": 0.238,
        "delta": -0.06,
        "percent_delta": -0.2013,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.299,
        "after": 0.0,
        "delta": -0.299,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.39,
        "after": 0.2832,
        "delta": -0.1068,
        "percent_delta": -0.2738,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.829,
        "after": 2.0,
        "delta": 1.171,
        "percent_delta": 1.4125,
        "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.829,
        "after": 2.0,
        "delta": 1.171,
        "percent_delta": 1.4125,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.37,
        "after": 0.0,
        "delta": -0.37,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution 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.000-
predicted_AB3.171-
predicted_AVG0.264-
predicted_BB0.308-
predicted_H0.370-
predicted_HR0.040-
predicted_OBP0.298-
predicted_R0.299-
predicted_RBI0.260-
predicted_SLG0.390-
predicted_SO0.829-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.181-0.007
predicted_3B0.0000.000
predicted_AB3.162-0.009
predicted_AVG0.255-0.009
predicted_BB0.281-0.027
predicted_H0.5420.172
predicted_HBP0.031-
predicted_HR0.0590.019
predicted_OBP0.295-0.003
predicted_R0.254-0.045
predicted_RBI0.3960.136
predicted_SLG0.385-0.005
predicted_SO0.758-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.1810.000
predicted_3B0.0000.000
predicted_AB3.1620.000
predicted_AVG0.171-0.085
predicted_BB0.280-0.001
predicted_H0.539-0.002
predicted_HBP0.0310.000
predicted_HR0.058-0.001
predicted_OBP0.238-0.057
predicted_R0.252-0.002
predicted_RBI0.393-0.003
predicted_SLG0.283-0.102
predicted_SO0.7600.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.17), rates preserved: AVG=0.172 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
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.1690.169
3B0.0100.010
BB0.3130.313
H0.899-0.101
HR0.1200.120
RBI0.5390.539
SO0.903-0.097
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.169
3B0.000-0.010
AB4.0000.000
BB0.000-0.313
H1.0000.101
HR0.000-0.120
R0.0000.000
RBI1.0000.461
SO1.0000.097
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.181
predicted_3B0.000-0.000
predicted_AB4.0000.838
predicted_AVG0.2550.084
predicted_BB0.000-0.280
predicted_H1.0000.461
predicted_HR0.000-0.058
predicted_OBP0.3220.084
predicted_R0.000-0.252
predicted_RBI0.000-0.393
predicted_SLG0.4110.128
predicted_SO1.0000.240
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 117
Reference playing time: 3.801
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.0000.0004.0000.0001.0002.0000.20000.22220.26670.20000.00000.26670.06670.1333
last_100.2010-30.0008.0001.0000.0000.0005.0000.0001.0004.0000.26670.28570.30000.26670.00000.16670.03330.1333
season0.60117-371.00093.00022.0000.00016.00062.00035.00036.00097.0000.25070.31490.43940.25070.04310.16710.09700.2615
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1730
predicted_3B0.0010
predicted_AB3.1500
predicted_AVG0.2441
predicted_BB0.2440
predicted_H0.7690
predicted_HBP0.0310
predicted_HR0.0830
predicted_OBP0.2915
predicted_R0.1940
predicted_RBI0.5760
predicted_SLG0.3790
predicted_SO0.6650
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18800.17300.1815model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.17103.15003.1620model_form_blend
predicted_AVG0.26400.24410.2554model_form_blend
predicted_BB0.30800.24400.2805model_form_blend
predicted_H0.37000.76900.5417model_form_blend
predicted_HBP-0.03100.0310form_only
predicted_HR0.04000.08300.0585model_form_blend
predicted_OBP0.29800.29150.2952model_form_blend
predicted_R0.29900.19400.2538model_form_blend
predicted_RBI0.26000.57600.3960model_form_blend
predicted_SLG0.39000.37900.3853model_form_blend
predicted_SO0.82900.66500.7584model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_2B1
Hitting_3B0
Hitting_AB2
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder6
Hitting_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-1B
gameID20261003_CHW@CLE
game_typeph
mlbID663993
noteWalked for Fry in the 4th.
playerID663993
playerNameNathaniel Lowe
pos1B
startedFalse
startingPositionPH
teamCLE
teamID8
game_date2026-10-03
sl_k_percent23.1
sl_bb_percent8.9
sl_woba0.329
sl_xwoba0.335
sl_xba0.268
sl_xslg0.437
sl_sweet_spot_percent39.3
sl_barrel_batted_rate8.4
sl_hard_hit_percent41.4
sl_exit_velocity_avg89.6
sl_launch_angle_avg14.6
sl_whiff_percent22.0
sl_swing_percent46.1
Angel Martínez (682657) · BATTER · LF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 397
All-history rows before 20261005: 397
System season_avg: 0.2520
Data season_avg (2026 season-to-date): 0.2610
Diff (system - data): -0.0090
System opponent_avg: 0.3760

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2220.0000.000Hitting_2B0.2390.000-0.2390.000
predicted_3B0.0190.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB4.2204.0004.000Hitting_AB3.8414.0000.1590.000
predicted_AVG0.2060.2500.250Hitting_AVG0.2610.000-0.0110.250
predicted_BB0.1200.0000.000Hitting_BB0.1340.000-0.1340.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.8701.0001.000Hitting_H1.0030.000-0.0031.000
predicted_HR0.1900.0001.000Hitting_HR0.1710.000-0.1710.000
predicted_OBP0.2510.2500.250Hitting_OBP0.2990.000-0.0490.250
predicted_R0.4540.0001.000Hitting_R0.4990.000-0.4990.000
predicted_RBI0.7000.0001.000Hitting_RBI0.6070.000-0.6070.000
predicted_SLG0.4240.2501.000Hitting_SLG0.4650.000-0.2150.250
predicted_SO0.8611.0001.000Hitting_SO0.9142.0000.086-1.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.8610 -> 1.0000 (boost 0.1390, worse)
Biggest Deboostpredicted_RBI: 0.7000 -> 0.0000 (deboost -0.7000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.4240 -> 0.4387 (boost 0.0147, better)predicted_AB: 4.2200 -> 4.0247 (deboost -0.1953, worse)Final model input calibrated 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.2589 -> 0.2409 (deboost -0.0180, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_RBI: 0.6967 -> 1.0000 (boost 0.3033, better)predicted_2B: 0.2259 -> 0.0000 (deboost -0.2259, worse)AB rounded to 4 (raw=4.22), rates preserved: AVG=0.209 HR/AB=0.045
6consistency_constraints10101-predicted_R: 0.4382 -> 0.0000 (deboost -0.4382, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_2B: 0.0000 -> 0.2029 (boost 0.2029, better)predicted_RBI: 1.0000 -> 0.5319 (deboost -0.4681, 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_allocation75243predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_2B: 0.2029 -> 0.0000 (deboost -0.2029, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context53232predicted_OBP: 0.2409 -> 0.3010 (boost 0.0601, 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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_OBP: 0.3010 -> 0.2409 (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": "682657",
  "player_name": "Angel Martínez",
  "position": "LF",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.222,
        "predicted_3B": 0.019,
        "predicted_AB": 4.22,
        "predicted_AVG": 0.206,
        "predicted_BB": 0.12,
        "predicted_H": 0.87,
        "predicted_HR": 0.19,
        "predicted_OBP": 0.251,
        "predicted_R": 0.454,
        "predicted_RBI": 0.7,
        "predicted_SLG": 0.424,
        "predicted_SO": 0.861
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2259,
        "predicted_3B": 0.016,
        "predicted_AB": 4.0247,
        "predicted_AVG": 0.2183,
        "predicted_BB": 0.1286,
        "predicted_H": 0.876,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1926,
        "predicted_OBP": 0.2589,
        "predicted_R": 0.4411,
        "predicted_RBI": 0.7013,
        "predicted_SLG": 0.4387,
        "predicted_SO": 0.8524
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.222,
          "after": 0.2259,
          "delta": 0.0039,
          "percent_delta": 0.0176,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.019,
          "after": 0.016,
          "delta": -0.003,
          "percent_delta": -0.1579,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.22,
          "after": 4.0247,
          "delta": -0.1953,
          "percent_delta": -0.0463,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.206,
          "after": 0.2183,
          "delta": 0.0123,
          "percent_delta": 0.0597,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.12,
          "after": 0.1286,
          "delta": 0.0086,
          "percent_delta": 0.0717,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.876,
          "delta": 0.006,
          "percent_delta": 0.0069,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.19,
          "after": 0.1926,
          "delta": 0.0026,
          "percent_delta": 0.0137,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.251,
          "after": 0.2589,
          "delta": 0.0079,
          "percent_delta": 0.0315,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.454,
          "after": 0.4411,
          "delta": -0.0129,
          "percent_delta": -0.0284,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7,
          "after": 0.7013,
          "delta": 0.0013,
          "percent_delta": 0.0019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.424,
          "after": 0.4387,
          "delta": 0.0147,
          "percent_delta": 0.0347,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.861,
          "after": 0.8524,
          "delta": -0.0086,
          "percent_delta": -0.01,
          "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.424,
          "after": 0.4387,
          "delta": 0.0147,
          "percent_delta": 0.0347,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.22,
          "after": 4.0247,
          "delta": -0.1953,
          "percent_delta": -0.0463,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2259,
        "predicted_3B": 0.016,
        "predicted_AB": 4.0247,
        "predicted_AVG": 0.2167,
        "predicted_BB": 0.1283,
        "predicted_H": 0.8721,
        "predicted_HBP": 0.04,
        "predicted_HR": 0.1909,
        "predicted_OBP": 0.2409,
        "predicted_R": 0.4382,
        "predicted_RBI": 0.6967,
        "predicted_SLG": 0.4231,
        "predicted_SO": 0.8545
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2259,
          "after": 0.2259,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.016,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0247,
          "after": 4.0247,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2183,
          "after": 0.2167,
          "delta": -0.0016,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1286,
          "after": 0.1283,
          "delta": -0.0003,
          "percent_delta": -0.0023,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.876,
          "after": 0.8721,
          "delta": -0.0039,
          "percent_delta": -0.0045,
          "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.1926,
          "after": 0.1909,
          "delta": -0.0017,
          "percent_delta": -0.0088,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2589,
          "after": 0.2409,
          "delta": -0.018,
          "percent_delta": -0.0695,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4411,
          "after": 0.4382,
          "delta": -0.0029,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7013,
          "after": 0.6967,
          "delta": -0.0046,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4387,
          "after": 0.4231,
          "delta": -0.0156,
          "percent_delta": -0.0356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8524,
          "after": 0.8545,
          "delta": 0.0021,
          "percent_delta": 0.0025,
          "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.2589,
          "after": 0.2409,
          "delta": -0.018,
          "percent_delta": -0.0695,
          "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.22), rates preserved: AVG=0.209 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.2259,
          "after": 0.0,
          "delta": -0.2259,
          "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.0247,
          "after": 4.0,
          "delta": -0.0247,
          "percent_delta": -0.0061,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1283,
          "after": 0.0,
          "delta": -0.1283,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8721,
          "after": 1.0,
          "delta": 0.1279,
          "percent_delta": 0.1467,
          "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.1909,
          "after": 0.0,
          "delta": -0.1909,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6967,
          "after": 1.0,
          "delta": 0.3033,
          "percent_delta": 0.4353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8545,
          "after": 1.0,
          "delta": 0.1455,
          "percent_delta": 0.1703,
          "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.6967,
          "after": 1.0,
          "delta": 0.3033,
          "percent_delta": 0.4353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2259,
          "after": 0.0,
          "delta": -0.2259,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4382,
          "after": 0.0,
          "delta": -0.4382,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4382,
          "after": 0.0,
          "delta": -0.4382,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.2029,
        "predicted_3B": 0.0155,
        "predicted_BB": 0.1955,
        "predicted_H": 0.9449,
        "predicted_HR": 0.1427,
        "predicted_RBI": 0.5319,
        "predicted_SO": 0.8535
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2029,
          "delta": 0.2029,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0155,
          "delta": 0.0155,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1955,
          "delta": 0.1955,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9449,
          "delta": -0.0551,
          "percent_delta": -0.0551,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1427,
          "delta": 0.1427,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5319,
          "delta": -0.4681,
          "percent_delta": -0.4681,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8535,
          "delta": -0.1465,
          "percent_delta": -0.1465,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2029,
          "delta": 0.2029,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5319,
          "delta": -0.4681,
          "percent_delta": -0.4681,
          "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.2029,
          "after": 0.0,
          "delta": -0.2029,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0155,
          "after": 0.0,
          "delta": -0.0155,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1955,
          "after": 0.0,
          "delta": -0.1955,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9449,
          "after": 1.0,
          "delta": 0.0551,
          "percent_delta": 0.0583,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1427,
          "after": 1.0,
          "delta": 0.8573,
          "percent_delta": 6.0077,
          "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.5319,
          "after": 1.0,
          "delta": 0.4681,
          "percent_delta": 0.8801,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8535,
          "after": 1.0,
          "delta": 0.1465,
          "percent_delta": 0.1716,
          "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_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2029,
          "after": 0.0,
          "delta": -0.2029,
          "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.301,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.438,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2167,
          "after": 0.257,
          "delta": 0.0403,
          "percent_delta": 0.186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 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.2409,
          "after": 0.301,
          "delta": 0.0601,
          "percent_delta": 0.2495,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4231,
          "after": 0.438,
          "delta": 0.0149,
          "percent_delta": 0.0352,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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_OBP",
          "before": 0.2409,
          "after": 0.301,
          "delta": 0.0601,
          "percent_delta": 0.2495,
          "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": 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.2167,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2409,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4231,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.257,
          "after": 0.2167,
          "delta": -0.0403,
          "percent_delta": -0.1568,
          "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.2409,
          "delta": -0.0601,
          "percent_delta": -0.1997,
          "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.438,
          "after": 0.4231,
          "delta": -0.0149,
          "percent_delta": -0.0341,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.301,
          "after": 0.2409,
          "delta": -0.0601,
          "percent_delta": -0.1997,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.222,
        "after": 0.0,
        "delta": -0.222,
        "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.22,
        "after": 4.0,
        "delta": -0.22,
        "percent_delta": -0.0521,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.206,
        "after": 0.2167,
        "delta": 0.0107,
        "percent_delta": 0.0519,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 1.0,
        "delta": 0.13,
        "percent_delta": 0.1494,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.251,
        "after": 0.2409,
        "delta": -0.0101,
        "percent_delta": -0.0402,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.454,
        "after": 0.0,
        "delta": -0.454,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.424,
        "after": 0.4231,
        "delta": -0.0009,
        "percent_delta": -0.0021,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.861,
        "after": 1.0,
        "delta": 0.139,
        "percent_delta": 0.1614,
        "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.861,
        "after": 1.0,
        "delta": 0.139,
        "percent_delta": 0.1614,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.222-
predicted_3B0.019-
predicted_AB4.220-
predicted_AVG0.206-
predicted_BB0.120-
predicted_H0.870-
predicted_HR0.190-
predicted_OBP0.251-
predicted_R0.454-
predicted_RBI0.700-
predicted_SLG0.424-
predicted_SO0.861-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2260.004
predicted_3B0.016-0.003
predicted_AB4.025-0.195
predicted_AVG0.2180.012
predicted_BB0.1290.009
predicted_H0.8760.006
predicted_HBP0.040-
predicted_HR0.1930.003
predicted_OBP0.2590.008
predicted_R0.441-0.013
predicted_RBI0.7010.001
predicted_SLG0.4390.015
predicted_SO0.852-0.009
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2260.000
predicted_3B0.0160.000
predicted_AB4.0250.000
predicted_AVG0.217-0.002
predicted_BB0.128-0.000
predicted_H0.872-0.004
predicted_HBP0.0400.000
predicted_HR0.191-0.002
predicted_OBP0.241-0.018
predicted_R0.438-0.003
predicted_RBI0.697-0.005
predicted_SLG0.423-0.016
predicted_SO0.8550.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.22), rates preserved: AVG=0.209 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.2030.203
3B0.0150.015
BB0.1960.196
H0.945-0.055
HR0.1430.143
RBI0.532-0.468
SO0.854-0.146
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.203
3B0.000-0.015
AB4.0000.000
BB0.000-0.196
H1.0000.055
HR1.0000.857
R1.0001.000
RBI1.0000.468
SO1.0000.146
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.226
predicted_3B0.000-0.016
predicted_AB4.000-0.025
predicted_AVG0.2570.040
predicted_BB0.000-0.128
predicted_H1.0000.128
predicted_HR0.000-0.191
predicted_OBP0.3010.060
predicted_R0.000-0.438
predicted_RBI1.0000.303
predicted_SLG0.4380.015
predicted_SO1.0000.145
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.000-1.000
PA4.000-
R0.000-1.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 108
Reference playing time: 4.220
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.0003.0001.0000.0001.0005.0001.0001.0004.0000.14290.18180.33330.14290.04760.23810.04760.1905
last_100.2010-37.00010.0003.0000.0003.0009.0005.0001.0008.0000.27030.28950.59460.27030.08110.24320.02700.2162
season0.60108-393.00099.00024.0002.00018.00062.00049.00013.00093.0000.25190.28740.46060.25190.04580.15780.03310.2366
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2310
predicted_3B0.0120
predicted_AB3.7660
predicted_AVG0.2347
predicted_BB0.1400
predicted_H0.8840
predicted_HBP0.0400
predicted_HR0.1960
predicted_OBP0.2693
predicted_R0.4240
predicted_RBI0.7030
predicted_SLG0.4582
predicted_SO0.8410
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22200.23100.2259model_form_blend
predicted_3B0.01900.01200.0160model_form_blend
predicted_AB4.22003.76604.0247model_form_blend
predicted_AVG0.20600.23470.2183model_form_blend
predicted_BB0.12000.14000.1286model_form_blend
predicted_H0.87000.88400.8760model_form_blend
predicted_HBP-0.04000.0400form_only
predicted_HR0.19000.19600.1926model_form_blend
predicted_OBP0.25100.26930.2589model_form_blend
predicted_R0.45400.42400.4411model_form_blend
predicted_RBI0.70000.70300.7013model_form_blend
predicted_SLG0.42400.45820.4387model_form_blend
predicted_SO0.86100.84100.8524model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR0
R0
RBI0
BB0
SO1
SF0
HBP0
season_avg0.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_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261003_CHW@CLE
game_typefull
mlbID682657
playerID682657
playerNameAngel Martínez
posLF
startedTrue
startingPositionLF
teamCLE
teamID8
game_date2026-10-03
sl_k_percent21.9
sl_bb_percent3.1
sl_woba0.326
sl_xwoba0.299
sl_xba0.251
sl_xslg0.401
sl_sweet_spot_percent35.1
sl_barrel_batted_rate7.2
sl_hard_hit_percent35.5
sl_exit_velocity_avg87.5
sl_launch_angle_avg14.8
sl_whiff_percent20.7
sl_swing_percent54.3
Chase DeLauter (800050) · BATTER · RF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 528
All-history rows before 20261005: 528
System season_avg: 0.2840
Data season_avg (2026 season-to-date): 0.2810
Diff (system - data): 0.0030
System opponent_avg: 0.2420

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2170.0000.000Hitting_2B0.2220.000-0.2220.000
predicted_3B0.0230.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.4804.0004.000Hitting_AB3.9304.0000.0700.000
predicted_AVG0.2290.2500.250Hitting_AVG0.2810.000-0.0310.250
predicted_BB0.4420.0001.000Hitting_BB0.4640.000-0.4640.000
predicted_CS-0.0000.000BaseRunning_CS0.0170.000-0.0170.000
predicted_H1.0201.0001.000Hitting_H1.1040.000-0.1041.000
predicted_HR0.1600.0000.000Hitting_HR0.1270.000-0.1270.000
predicted_OBP0.3170.2500.400Hitting_OBP0.3550.000-0.1050.250
predicted_R0.4571.0000.000Hitting_R0.4980.0000.5021.000
predicted_RBI0.5400.0001.000Hitting_RBI0.5620.000-0.5620.000
predicted_SLG0.4010.2500.250Hitting_SLG0.4490.000-0.1990.250
predicted_SO0.6281.0001.000Hitting_SO0.6480.0000.3521.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_R: 0.4570 -> 1.0000 (boost 0.5430, better)
Biggest Deboostpredicted_RBI: 0.5400 -> 0.0000 (deboost -0.5400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_SLG: 0.4010 -> 0.4073 (boost 0.0063, better)predicted_AB: 4.4800 -> 4.1926 (deboost -0.2874, worse)Final model input calibrated 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.3203 -> 0.3055 (deboost -0.0148, 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.6619 -> 1.0000 (boost 0.3381, worse)predicted_RBI: 0.5140 -> 0.0000 (deboost -0.5140, worse)AB rounded to 4 (raw=4.48), rates preserved: AVG=0.216 HR/AB=0.035
6bvp_blend10110-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.4544 -> 0.0000 (deboost -0.4544, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine55041predicted_SO: 0.0000 -> 0.6551 (boost 0.6551, 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_BB: 0.3963 -> 1.0000 (boost 0.6037, better)predicted_2B: 0.1845 -> 0.0000 (deboost -0.1845, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context63342predicted_AVG: 0.2289 -> 0.2720 (boost 0.0431, 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_reference22011predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_AVG: 0.2720 -> 0.2289 (deboost -0.0431, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "800050",
  "player_name": "Chase DeLauter",
  "position": "RF",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.217,
        "predicted_3B": 0.023,
        "predicted_AB": 4.48,
        "predicted_AVG": 0.229,
        "predicted_BB": 0.442,
        "predicted_H": 1.02,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.317,
        "predicted_R": 0.457,
        "predicted_RBI": 0.54,
        "predicted_SLG": 0.401,
        "predicted_SO": 0.628
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2135,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.1926,
        "predicted_AVG": 0.2309,
        "predicted_BB": 0.4637,
        "predicted_H": 0.9639,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.157,
        "predicted_OBP": 0.3203,
        "predicted_R": 0.4574,
        "predicted_RBI": 0.5174,
        "predicted_SLG": 0.4073,
        "predicted_SO": 0.6602
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.217,
          "after": 0.2135,
          "delta": -0.0035,
          "percent_delta": -0.0161,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0191,
          "delta": -0.0039,
          "percent_delta": -0.1696,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.48,
          "after": 4.1926,
          "delta": -0.2874,
          "percent_delta": -0.0642,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.229,
          "after": 0.2309,
          "delta": 0.0019,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.442,
          "after": 0.4637,
          "delta": 0.0217,
          "percent_delta": 0.0491,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.02,
          "after": 0.9639,
          "delta": -0.0561,
          "percent_delta": -0.055,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.16,
          "after": 0.157,
          "delta": -0.003,
          "percent_delta": -0.0188,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.317,
          "after": 0.3203,
          "delta": 0.0033,
          "percent_delta": 0.0104,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.457,
          "after": 0.4574,
          "delta": 0.0004,
          "percent_delta": 0.0009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.54,
          "after": 0.5174,
          "delta": -0.0226,
          "percent_delta": -0.0419,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.4073,
          "delta": 0.0063,
          "percent_delta": 0.0157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.628,
          "after": 0.6602,
          "delta": 0.0322,
          "percent_delta": 0.0513,
          "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.401,
          "after": 0.4073,
          "delta": 0.0063,
          "percent_delta": 0.0157,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.48,
          "after": 4.1926,
          "delta": -0.2874,
          "percent_delta": -0.0642,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2135,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.1926,
        "predicted_AVG": 0.2289,
        "predicted_BB": 0.4625,
        "predicted_H": 0.9597,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1556,
        "predicted_OBP": 0.3055,
        "predicted_R": 0.4544,
        "predicted_RBI": 0.514,
        "predicted_SLG": 0.4003,
        "predicted_SO": 0.6619
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2135,
          "after": 0.2135,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0191,
          "after": 0.0191,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1926,
          "after": 4.1926,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2309,
          "after": 0.2289,
          "delta": -0.002,
          "percent_delta": -0.0087,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4637,
          "after": 0.4625,
          "delta": -0.0012,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9639,
          "after": 0.9597,
          "delta": -0.0042,
          "percent_delta": -0.0044,
          "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.157,
          "after": 0.1556,
          "delta": -0.0014,
          "percent_delta": -0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3203,
          "after": 0.3055,
          "delta": -0.0148,
          "percent_delta": -0.0462,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4574,
          "after": 0.4544,
          "delta": -0.003,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5174,
          "after": 0.514,
          "delta": -0.0034,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4073,
          "after": 0.4003,
          "delta": -0.007,
          "percent_delta": -0.0172,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6602,
          "after": 0.6619,
          "delta": 0.0017,
          "percent_delta": 0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3203,
          "after": 0.3055,
          "delta": -0.0148,
          "percent_delta": -0.0462,
          "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.48), rates preserved: AVG=0.216 HR/AB=0.035",
      "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.2135,
          "after": 0.0,
          "delta": -0.2135,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0191,
          "after": 0.0,
          "delta": -0.0191,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1926,
          "after": 4.0,
          "delta": -0.1926,
          "percent_delta": -0.0459,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4625,
          "after": 0.0,
          "delta": -0.4625,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9597,
          "after": 1.0,
          "delta": 0.0403,
          "percent_delta": 0.042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.025,
          "after": 0.0,
          "delta": -0.025,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1556,
          "after": 0.0,
          "delta": -0.1556,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.514,
          "after": 0.0,
          "delta": -0.514,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6619,
          "after": 1.0,
          "delta": 0.3381,
          "percent_delta": 0.5108,
          "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.6619,
          "after": 1.0,
          "delta": 0.3381,
          "percent_delta": 0.5108,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.514,
          "after": 0.0,
          "delta": -0.514,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.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.4544,
          "after": 0.0,
          "delta": -0.4544,
          "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.4544,
          "after": 0.0,
          "delta": -0.4544,
          "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.1845,
        "predicted_3B": 0.0192,
        "predicted_BB": 0.3963,
        "predicted_H": 1.0405,
        "predicted_HR": 0.1088,
        "predicted_RBI": 0.508,
        "predicted_SO": 0.6551
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1845,
          "delta": 0.1845,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0192,
          "delta": 0.0192,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3963,
          "delta": 0.3963,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0405,
          "delta": 0.0405,
          "percent_delta": 0.0405,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1088,
          "delta": 0.1088,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.508,
          "delta": 0.508,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.6551,
          "delta": 0.6551,
          "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.6551,
          "delta": 0.6551,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 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.1845,
          "after": 0.0,
          "delta": -0.1845,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0192,
          "after": 0.0,
          "delta": -0.0192,
          "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.3963,
          "after": 1.0,
          "delta": 0.6037,
          "percent_delta": 1.5233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0405,
          "after": 1.0,
          "delta": -0.0405,
          "percent_delta": -0.0389,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1088,
          "after": 0.0,
          "delta": -0.1088,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.508,
          "after": 1.0,
          "delta": 0.492,
          "percent_delta": 0.9685,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6551,
          "after": 1.0,
          "delta": 0.3449,
          "percent_delta": 0.5265,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.3963,
          "after": 1.0,
          "delta": 0.6037,
          "percent_delta": 1.5233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1845,
          "after": 0.0,
          "delta": -0.1845,
          "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.272,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.346,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.416,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2289,
          "after": 0.272,
          "delta": 0.0431,
          "percent_delta": 0.1883,
          "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.3055,
          "after": 0.346,
          "delta": 0.0405,
          "percent_delta": 0.1326,
          "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.4003,
          "after": 0.416,
          "delta": 0.0157,
          "percent_delta": 0.0392,
          "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": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.2289,
          "after": 0.272,
          "delta": 0.0431,
          "percent_delta": 0.1883,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_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": 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.2289,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3055,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4003,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.272,
          "after": 0.2289,
          "delta": -0.0431,
          "percent_delta": -0.1585,
          "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.346,
          "after": 0.3055,
          "delta": -0.0405,
          "percent_delta": -0.117,
          "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.416,
          "after": 0.4003,
          "delta": -0.0157,
          "percent_delta": -0.0378,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.272,
          "after": 0.2289,
          "delta": -0.0431,
          "percent_delta": -0.1585,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.217,
        "after": 0.0,
        "delta": -0.217,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.023,
        "after": 0.0,
        "delta": -0.023,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.48,
        "after": 4.0,
        "delta": -0.48,
        "percent_delta": -0.1071,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.229,
        "after": 0.2289,
        "delta": -0.0001,
        "percent_delta": -0.0004,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.442,
        "after": 0.0,
        "delta": -0.442,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.02,
        "after": 1.0,
        "delta": -0.02,
        "percent_delta": -0.0196,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.317,
        "after": 0.3055,
        "delta": -0.0115,
        "percent_delta": -0.0363,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.457,
        "after": 1.0,
        "delta": 0.543,
        "percent_delta": 1.1882,
        "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.401,
        "after": 0.4003,
        "delta": -0.0007,
        "percent_delta": -0.0017,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 0.628,
        "after": 1.0,
        "delta": 0.372,
        "percent_delta": 0.5924,
        "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_R",
        "before": 0.457,
        "after": 1.0,
        "delta": 0.543,
        "percent_delta": 1.1882,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.217-
predicted_3B0.023-
predicted_AB4.480-
predicted_AVG0.229-
predicted_BB0.442-
predicted_H1.020-
predicted_HR0.160-
predicted_OBP0.317-
predicted_R0.457-
predicted_RBI0.540-
predicted_SLG0.401-
predicted_SO0.628-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.213-0.004
predicted_3B0.019-0.004
predicted_AB4.193-0.287
predicted_AVG0.2310.002
predicted_BB0.4640.022
predicted_H0.964-0.056
predicted_HBP0.025-
predicted_HR0.157-0.003
predicted_OBP0.3200.003
predicted_R0.4570.000
predicted_RBI0.517-0.023
predicted_SLG0.4070.006
predicted_SO0.6600.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.2130.000
predicted_3B0.0190.000
predicted_AB4.1930.000
predicted_AVG0.229-0.002
predicted_BB0.463-0.001
predicted_H0.960-0.004
predicted_HBP0.0250.000
predicted_HR0.156-0.001
predicted_OBP0.305-0.015
predicted_R0.454-0.003
predicted_RBI0.514-0.003
predicted_SLG0.400-0.007
predicted_SO0.6620.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.48), rates preserved: AVG=0.216 HR/AB=0.035

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
SO0.000-1.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.1840.184
3B0.0190.019
BB0.3960.396
H1.0400.040
HR0.1090.109
RBI0.5080.508
SO0.6550.655
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.019
AB4.0000.000
BB1.0000.604
H1.000-0.040
HR0.000-0.109
R0.0000.000
RBI1.0000.492
SO1.0000.345
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.213
predicted_3B0.000-0.019
predicted_AB4.000-0.193
predicted_AVG0.2720.043
predicted_BB0.000-0.463
predicted_H1.0000.040
predicted_HR0.000-0.156
predicted_OBP0.3460.040
predicted_R0.000-0.454
predicted_RBI0.000-0.514
predicted_SLG0.4160.016
predicted_SO0.000-0.662
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.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: 129
Reference playing time: 4.480
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0002.0001.0000.0001.0002.0002.0003.0005.0000.10000.21740.30000.10000.05000.10000.15000.2500
last_100.2010-38.0008.0002.0000.0002.0005.0005.0006.0006.0000.21050.33330.42110.21050.05260.13160.15790.1579
season0.60129-486.000138.00028.0003.00016.00066.00059.00057.00081.0000.28400.35900.45270.28390.03290.13580.11730.1667
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2090
predicted_3B0.0140
predicted_AB3.8190
predicted_AVG0.2333
predicted_BB0.4920
predicted_H0.8910
predicted_HBP0.0250
predicted_HR0.1530
predicted_OBP0.3245
predicted_R0.4580
predicted_RBI0.4880
predicted_SLG0.4154
predicted_SO0.7020
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21700.20900.2135model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.48003.81904.1926model_form_blend
predicted_AVG0.22900.23330.2309model_form_blend
predicted_BB0.44200.49200.4637model_form_blend
predicted_H1.02000.89100.9639model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.16000.15300.1570model_form_blend
predicted_OBP0.31700.32450.3203model_form_blend
predicted_R0.45700.45800.4574model_form_blend
predicted_RBI0.54000.48800.5174model_form_blend
predicted_SLG0.40100.41540.4073model_form_blend
predicted_SO0.62800.70200.6602model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_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
allPositionsPlayedRF
gameID20261003_CHW@CLE
game_typefull
mlbID800050
playerID800050
playerNameChase DeLauter
posRF
startedTrue
startingPositionRF
teamCLE
teamID8
game_date2026-10-03
sl_k_percent14.7
sl_bb_percent10.7
sl_woba0.359
sl_xwoba0.346
sl_xba0.277
sl_xslg0.427
sl_sweet_spot_percent35.1
sl_barrel_batted_rate6.3
sl_hard_hit_percent46.3
sl_exit_velocity_avg91.4
sl_launch_angle_avg11.8
sl_whiff_percent15.0
sl_swing_percent42.3
Patrick Bailey (672275) · BATTER · C · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 244
All-history rows before 20261005: 244
System season_avg: 0.2150
Data season_avg (2026 season-to-date): 0.2626
Diff (system - data): -0.0476
System opponent_avg: 0.2500
System season_avg diverges from 2026 season-to-date by -0.0476. 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.0811.0000.000Hitting_2B0.1350.0000.8651.000
predicted_3B0.0100.0000.000Hitting_3B0.0160.000-0.0160.000
predicted_AB3.0003.0003.000Hitting_AB3.0901.000-0.0902.000
predicted_AVG0.3070.3330.000Hitting_AVG0.2631.0000.071-0.667
predicted_BB0.2530.0000.000Hitting_BB0.3160.000-0.3160.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.3601.0000.000Hitting_H0.8111.0000.1890.000
predicted_HR0.0600.0000.000Hitting_HR0.1230.000-0.1230.000
predicted_OBP0.3070.3330.000Hitting_OBP0.3301.0000.003-0.667
predicted_R0.2931.0000.000Hitting_R0.3610.0000.6391.000
predicted_RBI0.2301.0000.000Hitting_RBI0.4670.0000.5331.000
predicted_SLG0.4500.6670.000Hitting_SLG0.4361.0000.230-0.333
predicted_SO0.8990.0001.000Hitting_SO0.9220.000-0.9220.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_2B: 0.0810 -> 1.0000 (boost 0.9190, better)
Biggest Deboostpredicted_SO: 0.8990 -> 0.0000 (deboost -0.8990, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend74334predicted_H: 0.3600 -> 0.5093 (boost 0.1493, better)predicted_AVG: 0.3070 -> 0.2745 (deboost -0.0325, worse)Final model input calibrated 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.4414 -> 0.3053 (deboost -0.1361, 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.5071 -> 1.0000 (boost 0.4929, better)predicted_RBI: 0.3075 -> 0.0000 (deboost -0.3075, worse)AB rounded to 3 (raw=3.04), rates preserved: AVG=0.169 HR/AB=0.036
6consistency_constraints10101-predicted_R: 0.3147 -> 0.0000 (deboost -0.3147, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4019 (boost 0.4019, better)predicted_H: 1.0000 -> 0.7997 (deboost -0.2003, 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.9240 -> 1.0000 (boost 0.0760, worse)predicted_H: 0.7997 -> 0.0000 (deboost -0.7997, 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_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_final30303-predicted_OBP: 0.3100 -> 0.2234 (deboost -0.0866, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "672275",
  "player_name": "Patrick Bailey",
  "position": "C",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.081,
        "predicted_3B": 0.01,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.307,
        "predicted_BB": 0.253,
        "predicted_H": 0.36,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.307,
        "predicted_R": 0.293,
        "predicted_RBI": 0.23,
        "predicted_SLG": 0.45,
        "predicted_SO": 0.899
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0712,
        "predicted_3B": 0.0087,
        "predicted_AB": 3.0366,
        "predicted_AVG": 0.2745,
        "predicted_BB": 0.2211,
        "predicted_H": 0.5093,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1115,
        "predicted_OBP": 0.2925,
        "predicted_R": 0.3168,
        "predicted_RBI": 0.3095,
        "predicted_SLG": 0.4414,
        "predicted_SO": 0.9526
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.081,
          "after": 0.0712,
          "delta": -0.0098,
          "percent_delta": -0.121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.01,
          "after": 0.0087,
          "delta": -0.0013,
          "percent_delta": -0.13,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0366,
          "delta": 0.0366,
          "percent_delta": 0.0122,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.307,
          "after": 0.2745,
          "delta": -0.0325,
          "percent_delta": -0.1059,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.253,
          "after": 0.2211,
          "delta": -0.0319,
          "percent_delta": -0.1261,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.36,
          "after": 0.5093,
          "delta": 0.1493,
          "percent_delta": 0.4147,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.1115,
          "delta": 0.0515,
          "percent_delta": 0.8583,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.307,
          "after": 0.2925,
          "delta": -0.0145,
          "percent_delta": -0.0472,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.293,
          "after": 0.3168,
          "delta": 0.0238,
          "percent_delta": 0.0812,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.23,
          "after": 0.3095,
          "delta": 0.0795,
          "percent_delta": 0.3457,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.45,
          "after": 0.4414,
          "delta": -0.0086,
          "percent_delta": -0.0191,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.899,
          "after": 0.9526,
          "delta": 0.0536,
          "percent_delta": 0.0596,
          "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.36,
          "after": 0.5093,
          "delta": 0.1493,
          "percent_delta": 0.4147,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.307,
          "after": 0.2745,
          "delta": -0.0325,
          "percent_delta": -0.1059,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 99
      }
    },
    {
      "index": 3,
      "step": "team_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.0087,
        "predicted_AB": 3.0366,
        "predicted_AVG": 0.167,
        "predicted_BB": 0.2205,
        "predicted_H": 0.5071,
        "predicted_HBP": 0.008,
        "predicted_HR": 0.1105,
        "predicted_OBP": 0.2234,
        "predicted_R": 0.3147,
        "predicted_RBI": 0.3075,
        "predicted_SLG": 0.3053,
        "predicted_SO": 0.955
      },
      "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.0087,
          "after": 0.0087,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0366,
          "after": 3.0366,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2745,
          "after": 0.167,
          "delta": -0.1075,
          "percent_delta": -0.3916,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2211,
          "after": 0.2205,
          "delta": -0.0006,
          "percent_delta": -0.0027,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5093,
          "after": 0.5071,
          "delta": -0.0022,
          "percent_delta": -0.0043,
          "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.1115,
          "after": 0.1105,
          "delta": -0.001,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2925,
          "after": 0.2234,
          "delta": -0.0691,
          "percent_delta": -0.2362,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3168,
          "after": 0.3147,
          "delta": -0.0021,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3095,
          "after": 0.3075,
          "delta": -0.002,
          "percent_delta": -0.0065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4414,
          "after": 0.3053,
          "delta": -0.1361,
          "percent_delta": -0.3083,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9526,
          "after": 0.955,
          "delta": 0.0024,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4414,
          "after": 0.3053,
          "delta": -0.1361,
          "percent_delta": -0.3083,
          "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.169 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.0712,
          "after": 0.0,
          "delta": -0.0712,
          "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.0366,
          "after": 3.0,
          "delta": -0.0366,
          "percent_delta": -0.0121,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2205,
          "after": 0.0,
          "delta": -0.2205,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5071,
          "after": 1.0,
          "delta": 0.4929,
          "percent_delta": 0.972,
          "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.1105,
          "after": 0.0,
          "delta": -0.1105,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.955,
          "after": 1.0,
          "delta": 0.045,
          "percent_delta": 0.0471,
          "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.5071,
          "after": 1.0,
          "delta": 0.4929,
          "percent_delta": 0.972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3075,
          "after": 0.0,
          "delta": -0.3075,
          "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.3147,
          "after": 0.0,
          "delta": -0.3147,
          "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.3147,
          "after": 0.0,
          "delta": -0.3147,
          "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.1491,
        "predicted_3B": 0.0123,
        "predicted_BB": 0.321,
        "predicted_H": 0.7997,
        "predicted_HR": 0.1036,
        "predicted_RBI": 0.4019,
        "predicted_SO": 0.924
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1491,
          "delta": 0.1491,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0123,
          "delta": 0.0123,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.321,
          "delta": 0.321,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7997,
          "delta": -0.2003,
          "percent_delta": -0.2003,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1036,
          "delta": 0.1036,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4019,
          "delta": 0.4019,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.924,
          "delta": -0.076,
          "percent_delta": -0.076,
          "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.4019,
          "delta": 0.4019,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7997,
          "delta": -0.2003,
          "percent_delta": -0.2003,
          "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.1491,
          "after": 0.0,
          "delta": -0.1491,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0123,
          "after": 0.0,
          "delta": -0.0123,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.321,
          "after": 0.0,
          "delta": -0.321,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7997,
          "after": 0.0,
          "delta": -0.7997,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1036,
          "after": 0.0,
          "delta": -0.1036,
          "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.4019,
          "after": 0.0,
          "delta": -0.4019,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.924,
          "after": 1.0,
          "delta": 0.076,
          "percent_delta": 0.0823,
          "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.924,
          "after": 1.0,
          "delta": 0.076,
          "percent_delta": 0.0823,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.7997,
          "after": 0.0,
          "delta": -0.7997,
          "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.238,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.383,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.167,
          "after": 0.238,
          "delta": 0.071,
          "percent_delta": 0.4251,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "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.2234,
          "after": 0.31,
          "delta": 0.0866,
          "percent_delta": 0.3876,
          "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.3053,
          "after": 0.383,
          "delta": 0.0777,
          "percent_delta": 0.2545,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 3.0,
        "predicted_AVG": 0.167,
        "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.2234,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3053,
        "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.238,
          "after": 0.167,
          "delta": -0.071,
          "percent_delta": -0.2984,
          "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.31,
          "after": 0.2234,
          "delta": -0.0866,
          "percent_delta": -0.2794,
          "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.383,
          "after": 0.3053,
          "delta": -0.0777,
          "percent_delta": -0.2028,
          "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_OBP",
          "before": 0.31,
          "after": 0.2234,
          "delta": -0.0866,
          "percent_delta": -0.2794,
          "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.081,
        "after": 1.0,
        "delta": 0.919,
        "percent_delta": 11.3457,
        "direction": "boost",
        "projection_effect": "better",
        "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_AVG",
        "before": 0.307,
        "after": 0.167,
        "delta": -0.14,
        "percent_delta": -0.456,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.253,
        "after": 0.0,
        "delta": -0.253,
        "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.307,
        "after": 0.2234,
        "delta": -0.0836,
        "percent_delta": -0.2723,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.293,
        "after": 1.0,
        "delta": 0.707,
        "percent_delta": 2.413,
        "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.45,
        "after": 0.3053,
        "delta": -0.1447,
        "percent_delta": -0.3216,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.899,
        "after": 0.0,
        "delta": -0.899,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.081,
        "after": 1.0,
        "delta": 0.919,
        "percent_delta": 11.3457,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.899,
        "after": 0.0,
        "delta": -0.899,
        "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.081-
predicted_3B0.010-
predicted_AB3.000-
predicted_AVG0.307-
predicted_BB0.253-
predicted_H0.360-
predicted_HR0.060-
predicted_OBP0.307-
predicted_R0.293-
predicted_RBI0.230-
predicted_SLG0.450-
predicted_SO0.899-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.071-0.010
predicted_3B0.009-0.001
predicted_AB3.0370.037
predicted_AVG0.275-0.032
predicted_BB0.221-0.032
predicted_H0.5090.149
predicted_HBP0.008-
predicted_HR0.1120.052
predicted_OBP0.292-0.015
predicted_R0.3170.024
predicted_RBI0.3090.079
predicted_SLG0.441-0.009
predicted_SO0.9530.054
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0710.000
predicted_3B0.0090.000
predicted_AB3.0370.000
predicted_AVG0.167-0.108
predicted_BB0.221-0.001
predicted_H0.507-0.002
predicted_HBP0.0080.000
predicted_HR0.111-0.001
predicted_OBP0.223-0.069
predicted_R0.315-0.002
predicted_RBI0.307-0.002
predicted_SLG0.305-0.136
predicted_SO0.9550.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.169 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. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1490.149
3B0.0120.012
BB0.3210.321
H0.800-0.200
HR0.1040.104
RBI0.4020.402
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.149
3B0.000-0.012
AB3.0000.000
BB0.000-0.321
H0.000-0.800
HR0.000-0.104
R0.0000.000
RBI0.000-0.402
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.071
predicted_3B0.000-0.009
predicted_AB3.000-0.037
predicted_AVG0.2380.071
predicted_BB0.000-0.221
predicted_H1.0000.493
predicted_HR0.000-0.111
predicted_OBP0.3100.087
predicted_R0.000-0.315
predicted_RBI0.000-0.307
predicted_SLG0.3830.078
predicted_SO1.0000.045
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 99
Reference playing time: 3.801
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.0002.0003.0002.0000.0005.0000.28570.28570.71430.28570.14290.21430.00000.3571
last_100.2010-33.0007.0000.0000.0002.0003.0004.0001.00015.0000.21210.23530.39390.21210.06060.09090.03030.4546
season0.6099-297.00064.0008.0001.00010.00037.00029.00025.00089.0000.21550.27610.35020.21550.03370.12460.08420.2997
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0580
predicted_3B0.0070
predicted_AB3.0860
predicted_AVG0.2305
predicted_BB0.1780
predicted_H0.7110
predicted_HBP0.0080
predicted_HR0.1810
predicted_OBP0.2729
predicted_R0.3490
predicted_RBI0.4170
predicted_SLG0.4297
predicted_SO1.0250
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08100.05800.0712model_form_blend
predicted_3B0.01000.00700.0087model_form_blend
predicted_AB3.00003.08603.0366model_form_blend
predicted_AVG0.30700.23050.2745model_form_blend
predicted_BB0.25300.17800.2211model_form_blend
predicted_H0.36000.71100.5093model_form_blend
predicted_HBP-0.00800.0080form_only
predicted_HR0.06000.18100.1115model_form_blend
predicted_OBP0.30700.27290.2925model_form_blend
predicted_R0.29300.34900.3168model_form_blend
predicted_RBI0.23000.41700.3095model_form_blend
predicted_SLG0.45000.42970.4414model_form_blend
predicted_SO0.89901.02500.9526model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
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_AVG1.0
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH-C
gameID20261003_CHW@CLE
game_typeph
mlbID672275
noteSingled for Hedges in the 7th.
playerID672275
playerNamePatrick Bailey
posC
startedFalse
startingPositionPH
teamCLE
teamID8
game_date2026-10-03
sl_k_percent26.7
sl_bb_percent8.1
sl_woba0.271
sl_xwoba0.307
sl_xba0.24
sl_xslg0.398
sl_sweet_spot_percent36.6
sl_barrel_batted_rate7.7
sl_hard_hit_percent42.4
sl_exit_velocity_avg90.5
sl_launch_angle_avg13.4
sl_whiff_percent26.8
sl_swing_percent49.6
Travis Bazzana (683953) · BATTER · 2B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 490
All-history rows before 20261005: 490
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2497
Diff (system - data): -0.0087
System opponent_avg: 0.3000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1801.0000.000Hitting_2B0.1781.0000.8220.000
predicted_3B0.0160.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6704.0003.000Hitting_AB3.7104.0000.2900.000
predicted_AVG0.2300.5000.333Hitting_AVG0.2500.2500.2500.250
predicted_BB0.4430.0000.000Hitting_BB0.5020.000-0.5020.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.8402.0001.000Hitting_H0.9271.0001.0731.000
predicted_HR0.1100.0000.000Hitting_HR0.1270.000-0.1270.000
predicted_OBP0.3000.5000.333Hitting_OBP0.3440.2500.1560.250
predicted_R0.4431.0000.000Hitting_R0.4670.0000.5331.000
predicted_RBI0.2901.0000.000Hitting_RBI0.5220.0000.4781.000
predicted_SB-0.0000.000BaseRunning_SB0.1710.000-0.1710.000
predicted_SLG0.4420.7500.333Hitting_SLG0.4050.5000.3450.250
predicted_SO0.8690.0001.000Hitting_SO0.9001.000-0.900-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics5
Deboosted Metrics4
Better Metrics6
Worse Metrics3
Biggest Boostpredicted_H: 0.8400 -> 2.0000 (boost 1.1600, better)
Biggest Deboostpredicted_SO: 0.8690 -> 0.0000 (deboost -0.8690, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend20202-predicted_BB: 0.4430 -> 0.3849 (deboost -0.0581, worse)Final model input calibrated 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.4338 -> 0.3952 (deboost -0.0386, 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.8488 -> 1.0000 (boost 0.1512, better)predicted_AB: 3.6869 -> 3.0000 (deboost -0.6869, worse)AB rounded to 3 (raw=3.69), rates preserved: AVG=0.232 HR/AB=0.028
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)
7consistency_constraints10101-predicted_R: 0.4500 -> 0.0000 (deboost -0.4500, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4177 (boost 0.4177, better)predicted_SO: 1.0000 -> 0.7887 (deboost -0.2113, 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.7887 -> 1.0000 (boost 0.2113, worse)predicted_RBI: 0.4177 -> 0.0000 (deboost -0.4177, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context32121predicted_OBP: 0.3028 -> 0.3250 (boost 0.0222, better)predicted_SLG: 0.3952 -> 0.3880 (deboost -0.0072, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference65160predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Attached simulation box score without overwriting model prediction
12current_json_final31212predicted_SLG: 0.3880 -> 0.3952 (boost 0.0072, better)predicted_OBP: 0.3250 -> 0.3028 (deboost -0.0222, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683953",
  "player_name": "Travis Bazzana",
  "position": "2B",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.18,
        "predicted_3B": 0.016,
        "predicted_AB": 3.67,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.443,
        "predicted_H": 0.84,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.3,
        "predicted_R": 0.443,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.442,
        "predicted_SO": 0.869
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2221,
        "predicted_3B": 0.0373,
        "predicted_AB": 3.6869,
        "predicted_AVG": 0.2319,
        "predicted_BB": 0.3849,
        "predicted_H": 0.8526,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.1048,
        "predicted_OBP": 0.2981,
        "predicted_R": 0.453,
        "predicted_RBI": 0.2969,
        "predicted_SLG": 0.4338,
        "predicted_SO": 0.8751
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.18,
          "after": 0.2221,
          "delta": 0.0421,
          "percent_delta": 0.2339,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0373,
          "delta": 0.0213,
          "percent_delta": 1.3313,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.67,
          "after": 3.6869,
          "delta": 0.0169,
          "percent_delta": 0.0046,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2319,
          "delta": 0.0019,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.443,
          "after": 0.3849,
          "delta": -0.0581,
          "percent_delta": -0.1312,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.84,
          "after": 0.8526,
          "delta": 0.0126,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.11,
          "after": 0.1048,
          "delta": -0.0052,
          "percent_delta": -0.0473,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3,
          "after": 0.2981,
          "delta": -0.0019,
          "percent_delta": -0.0063,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.443,
          "after": 0.453,
          "delta": 0.01,
          "percent_delta": 0.0226,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.2969,
          "delta": 0.0069,
          "percent_delta": 0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.442,
          "after": 0.4338,
          "delta": -0.0082,
          "percent_delta": -0.0186,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.869,
          "after": 0.8751,
          "delta": 0.0061,
          "percent_delta": 0.007,
          "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": 0.443,
          "after": 0.3849,
          "delta": -0.0581,
          "percent_delta": -0.1312,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.2221,
        "predicted_3B": 0.0373,
        "predicted_AB": 3.6869,
        "predicted_AVG": 0.2302,
        "predicted_BB": 0.3839,
        "predicted_H": 0.8488,
        "predicted_HBP": 0.035,
        "predicted_HR": 0.1039,
        "predicted_OBP": 0.3028,
        "predicted_R": 0.45,
        "predicted_RBI": 0.2949,
        "predicted_SLG": 0.3952,
        "predicted_SO": 0.8773
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2221,
          "after": 0.2221,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0373,
          "after": 0.0373,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6869,
          "after": 3.6869,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2319,
          "after": 0.2302,
          "delta": -0.0017,
          "percent_delta": -0.0073,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3849,
          "after": 0.3839,
          "delta": -0.001,
          "percent_delta": -0.0026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.8526,
          "after": 0.8488,
          "delta": -0.0038,
          "percent_delta": -0.0045,
          "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.1048,
          "after": 0.1039,
          "delta": -0.0009,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2981,
          "after": 0.3028,
          "delta": 0.0047,
          "percent_delta": 0.0158,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.453,
          "after": 0.45,
          "delta": -0.003,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2969,
          "after": 0.2949,
          "delta": -0.002,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4338,
          "after": 0.3952,
          "delta": -0.0386,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8751,
          "after": 0.8773,
          "delta": 0.0022,
          "percent_delta": 0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4338,
          "after": 0.3952,
          "delta": -0.0386,
          "percent_delta": -0.089,
          "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.232 HR/AB=0.028",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2221,
          "after": 0.0,
          "delta": -0.2221,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0373,
          "after": 0.0,
          "delta": -0.0373,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6869,
          "after": 3.0,
          "delta": -0.6869,
          "percent_delta": -0.1863,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3839,
          "after": 0.0,
          "delta": -0.3839,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8488,
          "after": 1.0,
          "delta": 0.1512,
          "percent_delta": 0.1781,
          "direction": "boost",
          "projection_effect": "better",
          "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.1039,
          "after": 0.0,
          "delta": -0.1039,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2949,
          "after": 0.0,
          "delta": -0.2949,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8773,
          "after": 1.0,
          "delta": 0.1227,
          "percent_delta": 0.1399,
          "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.8488,
          "after": 1.0,
          "delta": 0.1512,
          "percent_delta": 0.1781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6869,
          "after": 3.0,
          "delta": -0.6869,
          "percent_delta": -0.1863,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.300)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 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.9,
        "bvp": 0.1
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.45,
          "after": 0.0,
          "delta": -0.45,
          "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.45,
          "after": 0.0,
          "delta": -0.45,
          "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.1538,
        "predicted_3B": 0.0148,
        "predicted_BB": 0.3568,
        "predicted_H": 0.8453,
        "predicted_HR": 0.0973,
        "predicted_RBI": 0.4177,
        "predicted_SO": 0.7887
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1538,
          "delta": 0.1538,
          "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.3568,
          "delta": 0.3568,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8453,
          "delta": -0.1547,
          "percent_delta": -0.1547,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0973,
          "delta": 0.0973,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4177,
          "delta": 0.4177,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7887,
          "delta": -0.2113,
          "percent_delta": -0.2113,
          "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.4177,
          "delta": 0.4177,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7887,
          "delta": -0.2113,
          "percent_delta": -0.2113,
          "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.1538,
          "after": 0.0,
          "delta": -0.1538,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0148,
          "after": 0.0,
          "delta": -0.0148,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3568,
          "after": 0.0,
          "delta": -0.3568,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8453,
          "after": 1.0,
          "delta": 0.1547,
          "percent_delta": 0.183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0973,
          "after": 0.0,
          "delta": -0.0973,
          "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.4177,
          "after": 0.0,
          "delta": -0.4177,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7887,
          "after": 1.0,
          "delta": 0.2113,
          "percent_delta": 0.2679,
          "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.7887,
          "after": 1.0,
          "delta": 0.2113,
          "percent_delta": 0.2679,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4177,
          "after": 0.0,
          "delta": -0.4177,
          "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.248,
        "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.388,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2302,
          "after": 0.248,
          "delta": 0.0178,
          "percent_delta": 0.0773,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3028,
          "after": 0.325,
          "delta": 0.0222,
          "percent_delta": 0.0733,
          "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.3952,
          "after": 0.388,
          "delta": -0.0072,
          "percent_delta": -0.0182,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.3028,
          "after": 0.325,
          "delta": 0.0222,
          "percent_delta": 0.0733,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3952,
          "after": 0.388,
          "delta": -0.0072,
          "percent_delta": -0.0182,
          "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": 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": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_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.2302,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3028,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3952,
        "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.248,
          "after": 0.2302,
          "delta": -0.0178,
          "percent_delta": -0.0716,
          "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.325,
          "after": 0.3028,
          "delta": -0.0222,
          "percent_delta": -0.0682,
          "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.388,
          "after": 0.3952,
          "delta": 0.0072,
          "percent_delta": 0.0186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3952,
          "delta": 0.0072,
          "percent_delta": 0.0186,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.325,
          "after": 0.3028,
          "delta": -0.0222,
          "percent_delta": -0.0682,
          "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": 1.0,
        "delta": 0.82,
        "percent_delta": 4.5556,
        "direction": "boost",
        "projection_effect": "better",
        "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.67,
        "after": 4.0,
        "delta": 0.33,
        "percent_delta": 0.0899,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.23,
        "after": 0.2302,
        "delta": 0.0002,
        "percent_delta": 0.0009,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.443,
        "after": 0.0,
        "delta": -0.443,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 2.0,
        "delta": 1.16,
        "percent_delta": 1.381,
        "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.3,
        "after": 0.3028,
        "delta": 0.0028,
        "percent_delta": 0.0093,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.443,
        "after": 1.0,
        "delta": 0.557,
        "percent_delta": 1.2573,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 1.0,
        "delta": 0.71,
        "percent_delta": 2.4483,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.442,
        "after": 0.3952,
        "delta": -0.0468,
        "percent_delta": -0.1059,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.869,
        "after": 0.0,
        "delta": -0.869,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 5,
      "deboosted_metrics": 4,
      "better_metrics": 6,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 2.0,
        "delta": 1.16,
        "percent_delta": 1.381,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.869,
        "after": 0.0,
        "delta": -0.869,
        "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.180-
predicted_3B0.016-
predicted_AB3.670-
predicted_AVG0.230-
predicted_BB0.443-
predicted_H0.840-
predicted_HR0.110-
predicted_OBP0.300-
predicted_R0.443-
predicted_RBI0.290-
predicted_SLG0.442-
predicted_SO0.869-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2220.042
predicted_3B0.0370.021
predicted_AB3.6870.017
predicted_AVG0.2320.002
predicted_BB0.385-0.058
predicted_H0.8530.013
predicted_HBP0.035-
predicted_HR0.105-0.005
predicted_OBP0.298-0.002
predicted_R0.4530.010
predicted_RBI0.2970.007
predicted_SLG0.434-0.008
predicted_SO0.8750.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.2220.000
predicted_3B0.0370.000
predicted_AB3.6870.000
predicted_AVG0.230-0.002
predicted_BB0.384-0.001
predicted_H0.849-0.004
predicted_HBP0.0350.000
predicted_HR0.104-0.001
predicted_OBP0.3030.005
predicted_R0.450-0.003
predicted_RBI0.295-0.002
predicted_SLG0.395-0.039
predicted_SO0.8770.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.69), rates preserved: AVG=0.232 HR/AB=0.028

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
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.1540.154
3B0.0150.015
BB0.3570.357
H0.845-0.155
HR0.0970.097
RBI0.4180.418
SO0.789-0.211
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.154
3B0.000-0.015
AB3.0000.000
BB0.000-0.357
H1.0000.155
HR0.000-0.097
R0.0000.000
RBI0.000-0.418
SO1.0000.211
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.222
predicted_3B0.000-0.037
predicted_AB3.000-0.687
predicted_AVG0.2480.018
predicted_BB0.000-0.384
predicted_H1.0000.151
predicted_HR0.000-0.104
predicted_OBP0.3250.022
predicted_R0.000-0.450
predicted_RBI0.000-0.295
predicted_SLG0.388-0.007
predicted_SO1.0000.123
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
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: 122
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0003.0001.0000.0000.0003.0000.0004.0000.25000.25000.50000.25000.00000.00000.00000.2000
last_100.2010-36.0007.0003.0001.0001.0001.0004.0002.00010.0000.19440.23680.41670.19440.02780.02780.05560.2778
season0.60122-444.000107.00022.0002.00015.00055.00054.00054.000106.0000.24100.32940.40090.24100.03380.12390.12160.2387
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2770
predicted_3B0.0650
predicted_AB3.7090
predicted_AVG0.2343
predicted_BB0.3090
predicted_H0.8690
predicted_HBP0.0350
predicted_HR0.0980
predicted_OBP0.2956
predicted_R0.4660
predicted_RBI0.3060
predicted_SLG0.4230
predicted_SO0.8830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18000.27700.2221model_form_blend
predicted_3B0.01600.06500.0373model_form_blend
predicted_AB3.67003.70903.6869model_form_blend
predicted_AVG0.23000.23430.2319model_form_blend
predicted_BB0.44300.30900.3849model_form_blend
predicted_H0.84000.86900.8526model_form_blend
predicted_HBP-0.03500.0350form_only
predicted_HR0.11000.09800.1048model_form_blend
predicted_OBP0.30000.29560.2981model_form_blend
predicted_R0.44300.46600.4530model_form_blend
predicted_RBI0.29000.30600.2969model_form_blend
predicted_SLG0.44200.42300.4338model_form_blend
predicted_SO0.86900.88300.8751model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_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_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
gameID20261003_CHW@CLE
game_typefull
mlbID683953
playerID683953
playerNameTravis Bazzana
pos2B
startedTrue
startingPosition2B
teamCLE
teamID8
game_date2026-10-03
sl_k_percent20.7
sl_bb_percent10.8
sl_woba0.328
sl_xwoba0.299
sl_xba0.224
sl_xslg0.347
sl_sweet_spot_percent30.0
sl_barrel_batted_rate5.2
sl_hard_hit_percent36.2
sl_exit_velocity_avg87.6
sl_launch_angle_avg15.7
sl_whiff_percent23.2
sl_swing_percent45.9
Brayan Rocchio (677587) · BATTER · SS · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 569
All-history rows before 20261005: 569
System season_avg: 0.2520
Data season_avg (2026 season-to-date): 0.2502
Diff (system - data): 0.0018
System opponent_avg: 0.3500

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1671.0000.000Hitting_2B0.1650.0000.8351.000
predicted_3B0.0130.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB3.4933.0003.000Hitting_AB3.6032.000-0.6031.000
predicted_AVG0.2640.6670.333Hitting_AVG0.2500.0000.4160.667
predicted_BB0.2470.0000.000Hitting_BB0.2571.000-0.257-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0350.000-0.0350.000
predicted_H0.9102.0001.000Hitting_H0.9020.0001.0982.000
predicted_HR0.1401.0000.000Hitting_HR0.0830.0000.9171.000
predicted_OBP0.3370.6670.333Hitting_OBP0.3120.3330.3540.333
predicted_R0.4271.0001.000Hitting_R0.4380.0000.5621.000
predicted_RBI0.5303.0000.000Hitting_RBI0.4430.0002.5573.000
predicted_SLG0.4502.0000.333Hitting_SLG0.3720.0001.6282.000
predicted_SO0.5670.0000.000Hitting_SO0.5821.000-0.582-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.5300 -> 3.0000 (boost 2.4700, better)
Biggest Deboostpredicted_SO: 0.5670 -> 0.0000 (deboost -0.5670, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_R: 0.4270 -> 0.4936 (boost 0.0666, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_OBP: 0.3415 -> 0.3224 (deboost -0.0191, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_H: 0.9242 -> 1.0000 (boost 0.0758, better)predicted_SO: 0.5714 -> 0.0000 (deboost -0.5714, better)AB rounded to 3 (raw=3.49), rates preserved: AVG=0.267 HR/AB=0.044
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375)
7consistency_constraints10101-predicted_R: 0.4903 -> 0.0000 (deboost -0.4903, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_SO: 0.0000 -> 0.5087 (boost 0.5087, worse)predicted_H: 1.0000 -> 0.8092 (deboost -0.1908, 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_allocation72534predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SO: 0.5087 -> 0.0000 (deboost -0.5087, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_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
11simulation_box_score_reference55050predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.3870 -> 0.4617 (boost 0.0747, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "677587",
  "player_name": "Brayan Rocchio",
  "position": "SS",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.167,
        "predicted_3B": 0.013,
        "predicted_AB": 3.493,
        "predicted_AVG": 0.264,
        "predicted_BB": 0.247,
        "predicted_H": 0.91,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.337,
        "predicted_R": 0.427,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.45,
        "predicted_SO": 0.567
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0108,
        "predicted_AB": 3.4595,
        "predicted_AVG": 0.2704,
        "predicted_BB": 0.2827,
        "predicted_H": 0.9283,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.1552,
        "predicted_OBP": 0.3415,
        "predicted_R": 0.4936,
        "predicted_RBI": 0.5387,
        "predicted_SLG": 0.4724,
        "predicted_SO": 0.57
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.167,
          "after": 0.1901,
          "delta": 0.0231,
          "percent_delta": 0.1383,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.013,
          "after": 0.0108,
          "delta": -0.0022,
          "percent_delta": -0.1692,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.493,
          "after": 3.4595,
          "delta": -0.0335,
          "percent_delta": -0.0096,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.264,
          "after": 0.2704,
          "delta": 0.0064,
          "percent_delta": 0.0242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.247,
          "after": 0.2827,
          "delta": 0.0357,
          "percent_delta": 0.1445,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.91,
          "after": 0.9283,
          "delta": 0.0183,
          "percent_delta": 0.0201,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.14,
          "after": 0.1552,
          "delta": 0.0152,
          "percent_delta": 0.1086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.337,
          "after": 0.3415,
          "delta": 0.0045,
          "percent_delta": 0.0134,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.427,
          "after": 0.4936,
          "delta": 0.0666,
          "percent_delta": 0.156,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.53,
          "after": 0.5387,
          "delta": 0.0087,
          "percent_delta": 0.0164,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.45,
          "after": 0.4724,
          "delta": 0.0224,
          "percent_delta": 0.0498,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.567,
          "after": 0.57,
          "delta": 0.003,
          "percent_delta": 0.0053,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.427,
          "after": 0.4936,
          "delta": 0.0666,
          "percent_delta": 0.156,
          "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": 150
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1901,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.4595,
        "predicted_AVG": 0.2672,
        "predicted_BB": 0.282,
        "predicted_H": 0.9242,
        "predicted_HBP": 0.042,
        "predicted_HR": 0.1538,
        "predicted_OBP": 0.3224,
        "predicted_R": 0.4903,
        "predicted_RBI": 0.5351,
        "predicted_SLG": 0.4617,
        "predicted_SO": 0.5714
      },
      "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.0108,
          "after": 0.0108,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4595,
          "after": 3.4595,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2704,
          "after": 0.2672,
          "delta": -0.0032,
          "percent_delta": -0.0118,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2827,
          "after": 0.282,
          "delta": -0.0007,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9283,
          "after": 0.9242,
          "delta": -0.0041,
          "percent_delta": -0.0044,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.042,
          "after": 0.042,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1552,
          "after": 0.1538,
          "delta": -0.0014,
          "percent_delta": -0.009,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3415,
          "after": 0.3224,
          "delta": -0.0191,
          "percent_delta": -0.0559,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4936,
          "after": 0.4903,
          "delta": -0.0033,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5387,
          "after": 0.5351,
          "delta": -0.0036,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4724,
          "after": 0.4617,
          "delta": -0.0107,
          "percent_delta": -0.0227,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.57,
          "after": 0.5714,
          "delta": 0.0014,
          "percent_delta": 0.0025,
          "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.3415,
          "after": 0.3224,
          "delta": -0.0191,
          "percent_delta": -0.0559,
          "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.49), rates preserved: AVG=0.267 HR/AB=0.044",
      "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.1901,
          "after": 0.0,
          "delta": -0.1901,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0108,
          "after": 0.0,
          "delta": -0.0108,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4595,
          "after": 3.0,
          "delta": -0.4595,
          "percent_delta": -0.1328,
          "direction": "deboost",
          "projection_effect": "worse",
          "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": 0.9242,
          "after": 1.0,
          "delta": 0.0758,
          "percent_delta": 0.082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.042,
          "after": 0.0,
          "delta": -0.042,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1538,
          "after": 0.0,
          "delta": -0.1538,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5351,
          "after": 0.0,
          "delta": -0.5351,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5714,
          "after": 0.0,
          "delta": -0.5714,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.9242,
          "after": 1.0,
          "delta": 0.0758,
          "percent_delta": 0.082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5714,
          "after": 0.0,
          "delta": -0.5714,
          "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=8.0, weight=0.084, BvP AVG=0.375)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 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.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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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.4903,
          "after": 0.0,
          "delta": -0.4903,
          "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.4903,
          "after": 0.0,
          "delta": -0.4903,
          "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.1607,
        "predicted_3B": 0.012,
        "predicted_BB": 0.2621,
        "predicted_H": 0.8092,
        "predicted_HR": 0.0805,
        "predicted_RBI": 0.3892,
        "predicted_SO": 0.5087
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1607,
          "delta": 0.1607,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.012,
          "delta": 0.012,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2621,
          "delta": 0.2621,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8092,
          "delta": -0.1908,
          "percent_delta": -0.1908,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0805,
          "delta": 0.0805,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3892,
          "delta": 0.3892,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5087,
          "delta": 0.5087,
          "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.5087,
          "delta": 0.5087,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8092,
          "delta": -0.1908,
          "percent_delta": -0.1908,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1607,
          "after": 0.0,
          "delta": -0.1607,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.0,
          "delta": -0.012,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2621,
          "after": 0.0,
          "delta": -0.2621,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8092,
          "after": 1.0,
          "delta": 0.1908,
          "percent_delta": 0.2358,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0805,
          "after": 0.0,
          "delta": -0.0805,
          "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.3892,
          "after": 0.0,
          "delta": -0.3892,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5087,
          "after": 0.0,
          "delta": -0.5087,
          "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_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": 0.5087,
          "after": 0.0,
          "delta": -0.5087,
          "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": 3.0,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 0.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.2672,
          "after": 0.254,
          "delta": -0.0132,
          "percent_delta": -0.0494,
          "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.3224,
          "after": 0.316,
          "delta": -0.0064,
          "percent_delta": -0.0199,
          "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.4617,
          "after": 0.387,
          "delta": -0.0747,
          "percent_delta": -0.1618,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_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": 1.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": 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": 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": 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": 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": 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": 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.2672,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.3224,
        "predicted_R": 1.0,
        "predicted_RBI": 3.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4617,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.2672,
          "delta": 0.0132,
          "percent_delta": 0.0518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "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.316,
          "after": 0.3224,
          "delta": 0.0064,
          "percent_delta": 0.0202,
          "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.387,
          "after": 0.4617,
          "delta": 0.0747,
          "percent_delta": 0.1931,
          "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.387,
          "after": 0.4617,
          "delta": 0.0747,
          "percent_delta": 0.1931,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.167,
        "after": 1.0,
        "delta": 0.833,
        "percent_delta": 4.988,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.013,
        "after": 0.0,
        "delta": -0.013,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.493,
        "after": 3.0,
        "delta": -0.493,
        "percent_delta": -0.1411,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.264,
        "after": 0.2672,
        "delta": 0.0032,
        "percent_delta": 0.0121,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.247,
        "after": 0.0,
        "delta": -0.247,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.91,
        "after": 2.0,
        "delta": 1.09,
        "percent_delta": 1.1978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 1.0,
        "delta": 0.86,
        "percent_delta": 6.1429,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.337,
        "after": 0.3224,
        "delta": -0.0146,
        "percent_delta": -0.0433,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.427,
        "after": 1.0,
        "delta": 0.573,
        "percent_delta": 1.3419,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 3.0,
        "delta": 2.47,
        "percent_delta": 4.6604,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.45,
        "after": 0.4617,
        "delta": 0.0117,
        "percent_delta": 0.026,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.567,
        "after": 0.0,
        "delta": -0.567,
        "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.53,
        "after": 3.0,
        "delta": 2.47,
        "percent_delta": 4.6604,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.567,
        "after": 0.0,
        "delta": -0.567,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.167-
predicted_3B0.013-
predicted_AB3.493-
predicted_AVG0.264-
predicted_BB0.247-
predicted_H0.910-
predicted_HR0.140-
predicted_OBP0.337-
predicted_R0.427-
predicted_RBI0.530-
predicted_SLG0.450-
predicted_SO0.567-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1900.023
predicted_3B0.011-0.002
predicted_AB3.459-0.034
predicted_AVG0.2700.006
predicted_BB0.2830.036
predicted_H0.9280.018
predicted_HBP0.042-
predicted_HR0.1550.015
predicted_OBP0.3420.005
predicted_R0.4940.067
predicted_RBI0.5390.009
predicted_SLG0.4720.022
predicted_SO0.5700.003
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1900.000
predicted_3B0.0110.000
predicted_AB3.4590.000
predicted_AVG0.267-0.003
predicted_BB0.282-0.001
predicted_H0.924-0.004
predicted_HBP0.0420.000
predicted_HR0.154-0.001
predicted_OBP0.322-0.019
predicted_R0.490-0.003
predicted_RBI0.535-0.004
predicted_SLG0.462-0.011
predicted_SO0.5710.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.49), rates preserved: AVG=0.267 HR/AB=0.044

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. 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
AB3.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
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
8. hitter_rate_engine

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

MetricValueDelta vs Prev Step
2B0.1610.161
3B0.0120.012
BB0.2620.262
H0.809-0.191
HR0.0810.081
RBI0.3890.389
SO0.5090.509
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.161
3B0.000-0.012
AB3.0000.000
BB0.000-0.262
H1.0000.191
HR0.000-0.081
R1.0001.000
RBI0.000-0.389
SO0.000-0.509
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.190
predicted_3B0.000-0.011
predicted_AB3.000-0.459
predicted_AVG0.254-0.013
predicted_BB0.000-0.282
predicted_H1.0000.076
predicted_HR0.000-0.154
predicted_OBP0.316-0.006
predicted_R0.000-0.490
predicted_RBI0.000-0.535
predicted_SLG0.387-0.075
predicted_SO0.000-0.571
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA3.000-
R1.0000.000
RBI3.0003.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: 150
Reference playing time: 3.801
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.0001.0000.0002.0003.0004.0002.0003.0000.31250.38890.75000.31250.12500.18750.12500.1875
last_100.2010-33.00011.0004.0000.0002.0008.0008.0005.0005.0000.33330.42110.63640.33330.06060.24240.15150.1515
season0.60150-524.000132.00025.0002.00013.00067.00064.00037.00085.0000.25190.31250.38170.25190.02480.12790.07060.1622
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2200
predicted_3B0.0080
predicted_AB3.4160
predicted_AVG0.2787
predicted_BB0.3290
predicted_H0.9520
predicted_HBP0.0420
predicted_HR0.1750
predicted_OBP0.3473
predicted_R0.5800
predicted_RBI0.5500
predicted_SLG0.5014
predicted_SO0.5740
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16700.22000.1901model_form_blend
predicted_3B0.01300.00800.0108model_form_blend
predicted_AB3.49303.41603.4595model_form_blend
predicted_AVG0.26400.27870.2704model_form_blend
predicted_BB0.24700.32900.2827model_form_blend
predicted_H0.91000.95200.9283model_form_blend
predicted_HBP-0.04200.0420form_only
predicted_HR0.14000.17500.1552model_form_blend
predicted_OBP0.33700.34730.3415model_form_blend
predicted_R0.42700.58000.4936model_form_blend
predicted_RBI0.53000.55000.5387model_form_blend
predicted_SLG0.45000.50140.4724model_form_blend
predicted_SO0.56700.57400.5700model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA3
AB3
H2
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_AB2
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_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
gameID20261003_CHW@CLE
game_typefull
mlbID677587
playerID677587
playerNameBrayan Rocchio
posSS
startedTrue
startingPositionSS
teamCLE
teamID8
game_date2026-10-03
sl_k_percent14.4
sl_bb_percent6.4
sl_woba0.311
sl_xwoba0.294
sl_xba0.246
sl_xslg0.35
sl_sweet_spot_percent34.9
sl_barrel_batted_rate2.9
sl_hard_hit_percent30.0
sl_exit_velocity_avg87.0
sl_launch_angle_avg13.8
sl_whiff_percent22.1
sl_swing_percent50.0
Gavin Williams (668909) · PITCHER · Starter · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 32
All-history rows before 20261005: 32

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.9064.000-1.906-4.000
predicted_ER3.0003.0003.000Pitching_ER2.4064.0000.594-1.000
predicted_H6.0006.0006.000Pitching_H4.5005.0001.5001.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.6443.100-0.4442.100
predicted_SO6.0006.0006.000Pitching_SO7.7504.000-1.7502.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 -> 6.0000 (boost 3.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 -> 8.0000 (boost 5.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_final10101-predicted_SO: 8.0000 -> 6.0000 (deboost -2.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "668909",
  "player_name": "Gavin Williams",
  "position": "Starter",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.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": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "predicted_SO": 8.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.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": 8.0,
          "delta": 5.0,
          "percent_delta": 1.6667,
          "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": 8.0,
          "delta": 5.0,
          "percent_delta": 1.6667,
          "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": 0.0,
        "predicted_ER": 3.0,
        "predicted_H": 6.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.2,
        "predicted_R": 3.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 5.2,
          "after": 5.2,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 8.0,
          "after": 6.0,
          "delta": -2.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 8.0,
          "after": 6.0,
          "delta": -2.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 1.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 5.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": 6.0,
        "delta": 3.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 3.0,
        "after": 6.0,
        "delta": 3.0,
        "percent_delta": 1.0,
        "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_BB0.000-
predicted_ER3.000-
predicted_H6.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_BB0.0000.000
predicted_ER3.0000.000
predicted_H6.0000.000
predicted_HR1.0000.000
predicted_IP5.200-0.467
predicted_SO8.0005.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 32
Reference playing time: 5.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45528.1008.00018.00012.00044.0001.0002.54121.05880.28230.63530.42351.55290.0353
last_100.351051.00022.00039.00023.00080.0007.0003.88241.21570.43140.76470.45101.56860.1373
season0.2032184.10077.000144.00061.000248.00028.0003.75951.11210.41770.78120.33091.34540.1519
Weighted Prediction From Real Data
MetricValue
predicted_BB2.2400
predicted_ER2.0880
predicted_ERA3.4386
predicted_H4.0810
predicted_HR0.5550
predicted_IP5.1000
predicted_SO7.8600
predicted_WHIP1.1568
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00002.24001.3281model_form_blend
predicted_ER3.00002.08802.4593model_form_blend
predicted_ERA-3.43863.4386form_only
predicted_H6.00004.08104.8622model_form_blend
predicted_HR1.00000.55500.7362model_form_blend
predicted_IP5.20005.10005.1000model_form_blend
predicted_SO3.00007.86005.8816model_form_blend
predicted_WHIP-1.15681.1568form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H6
R3
ER3
BB0
SO6
HR1
BF23
Pitches98

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB4
Pitching_Balk0
Pitching_Batters Faced18
Pitching_ER4
Pitching_ERA3.76
Pitching_Flyouts2
Pitching_Groundouts2
Pitching_H5
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.1
Pitching_Pitches74
Pitching_R4
Pitching_SO4
Pitching_Strikes46
Pitching_Wild Pitch0
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260925_CLE@KC
game_typefull
mlbID668909
playerID668909
playerNameGavin Williams
posP
startedTrue
startingPositionP
teamCLE
teamID8
game_date2026-09-25
sl_k_percent33.2
sl_bb_percent8.2
sl_woba0.294
sl_xwoba0.302
sl_sweet_spot_percent35.0
sl_barrel_batted_rate11.4
sl_hard_hit_percent46.6
sl_whiff_percent32.8
sl_swing_percent49.1
sl_avg_best_speed79.297357934
sl_avg_hyper_speed94.995264941
Cade Smith (671922) · PITCHER · Closer · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 70
All-history rows before 20261005: 70

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3290.000-0.3290.000
predicted_ER0.0000.0000.000Pitching_ER0.2290.000-0.2290.000
predicted_H2.0002.0002.000Pitching_H0.6860.0001.3142.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0011.000-0.0010.000
predicted_SO0.0000.0000.000Pitching_SO1.5431.000-1.543-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "671922",
  "player_name": "Cade Smith",
  "position": "Closer",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 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": 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": 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_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: 70
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0001.0001.0008.0000.0000.00000.40000.00000.20000.20001.60000.0000
last_100.351011.0000.0002.0002.00015.0000.0000.00000.36360.00000.18180.18181.36360.0000
season0.207075.00016.00048.00023.000108.0005.0001.92000.94670.21330.64000.30671.44000.0667
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2550
predicted_ER0.1580
predicted_ERA1.4177
predicted_H0.4530
predicted_HR0.0460
predicted_IP1.0000
predicted_SO1.3510
predicted_WHIP0.7085
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.25500.1395model_form_blend
predicted_ER0.00000.15800.0864model_form_blend
predicted_ERA-1.41771.4177form_only
predicted_H2.00000.45301.1540model_form_blend
predicted_HR0.00000.04600.0252model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.35101.1920model_form_blend
predicted_WHIP-0.70850.7085form_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 date70
Season rows before report date70
Report year2026
Profile rows used70
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H2
R0
ER0
BB0
SO0
HR0
BF5
Pitches19

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R0
Pitching_SO1
Pitching_Strikes9
Pitching_Wild Pitch0
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20261003_CHW@CLE
game_typefull
mlbID671922
playerID671922
playerNameCade Smith
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-03
sl_k_percent36.3
sl_bb_percent7.8
sl_woba0.241
sl_xwoba0.261
sl_sweet_spot_percent35.4
sl_barrel_batted_rate8.7
sl_hard_hit_percent42.8
sl_whiff_percent34.5
sl_swing_percent49.6
sl_avg_best_speed82.0535845
sl_avg_hyper_speed94.653655813
Erik Sabrowski (681870) · PITCHER · Middle Reliever (High Leverage) · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 61
All-history rows before 20261005: 61

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5251.000-0.525-1.000
predicted_ER1.0001.0001.000Pitching_ER0.2461.0000.7540.000
predicted_H2.0002.0002.000Pitching_H0.4431.0001.5571.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.6481.2000.452-0.100
predicted_SO0.0000.0000.000Pitching_SO1.2792.000-1.279-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)
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_final21111predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better)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": "681870",
  "player_name": "Erik Sabrowski",
  "position": "Middle Reliever (High Leverage)",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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.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": 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": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 1.1,
          "delta": 0.1,
          "percent_delta": 0.1,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_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": 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": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 1.1,
        "delta": 0.1,
        "percent_delta": 0.1,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_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": "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: 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.1001.0002.0005.0008.0000.0001.68751.31250.18750.37500.93751.50000.0000
last_100.351010.2002.0002.0006.00013.0000.0001.68750.75000.18750.18750.56251.21880.0000
season0.205950.00014.00025.00028.00078.0003.0002.52001.06000.28000.50000.56001.56000.0600
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6160
predicted_ER0.3060
predicted_ERA2.7561
predicted_H0.5460
predicted_HR0.0560
predicted_IP1.0000
predicted_SO1.2570
predicted_WHIP1.1628
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.61600.3155model_form_blend
predicted_ER1.00000.30600.6446model_form_blend
predicted_ERA-2.75612.7561form_only
predicted_H2.00000.54601.2554model_form_blend
predicted_HR0.00000.05600.0287model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.25701.6195model_form_blend
predicted_WHIP-1.16281.1628form_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 used59
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
SO0
HR0
BF6
Pitches23

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER1
Pitching_ERA5.40
Pitching_Flyouts2
Pitching_Groundouts0
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.2
Pitching_Pitches20
Pitching_R1
Pitching_SO2
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261003_CHW@CLE
game_typefull
mlbID681870
playerID681870
playerNameErik Sabrowski
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-03
sl_k_percent37.4
sl_bb_percent15.3
sl_woba0.258
sl_xwoba0.251
sl_sweet_spot_percent39.4
sl_barrel_batted_rate6.5
sl_hard_hit_percent34.0
sl_whiff_percent30.8
sl_swing_percent46.1
sl_avg_best_speed79.988533696
sl_avg_hyper_speed93.73779337
Hunter Gaddis (683769) · PITCHER · Setup Man · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 69
All-history rows before 20261005: 69

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3190.0000.6811.000
predicted_ER0.0000.0000.000Pitching_ER0.2900.000-0.2900.000
predicted_H0.0000.0000.000Pitching_H0.7970.000-0.7970.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7410.1000.2590.900
predicted_SO0.0000.0000.000Pitching_SO0.8260.000-0.8260.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "683769",
  "player_name": "Hunter Gaddis",
  "position": "Setup Man",
  "team": "CLE",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 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: 68
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0003.0008.0001.0004.0002.0006.75002.25000.75002.00000.25001.00000.5000
last_100.35109.0004.00013.0001.0008.0002.0004.00001.55560.44441.44440.11110.88890.2222
season0.206860.20019.00053.00020.00057.0007.0002.81871.20330.31320.87360.32970.93960.1154
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2360
predicted_ER0.4850
predicted_ERA4.8921
predicted_H1.2590
predicted_HR0.2460
predicted_IP1.0000
predicted_SO0.8440
predicted_WHIP1.6741
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.23600.5955model_form_blend
predicted_ER0.00000.48500.2568model_form_blend
predicted_ERA-4.89214.8921form_only
predicted_H0.00001.25900.6666model_form_blend
predicted_HR0.00000.24600.1302model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00000.84400.4469model_form_blend
predicted_WHIP-1.67411.6741form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
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 Faced1
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches4
Pitching_R0
Pitching_SO0
Pitching_Strikes3
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261003_CHW@CLE
game_typefull
mlbID683769
playerID683769
playerNameHunter Gaddis
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-03
sl_k_percent22.2
sl_bb_percent8.6
sl_woba0.3
sl_xwoba0.311
sl_sweet_spot_percent33.7
sl_barrel_batted_rate7.5
sl_hard_hit_percent29.9
sl_whiff_percent29.5
sl_swing_percent51.7
sl_avg_best_speed75.512971294
sl_avg_hyper_speed92.352765294

20261005_NYY@TB

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 2, "confidence": 0.5396185, "home_win_probability": 0.4603815, "away_win_probability": 0.5396185, "predicted_score_text": "NYY 4 - 2 TB", "embedded_savant_score_adjustment": {"applied": true, "source": "all_players_stats.csv embedded temporal Savant features", "feature_contract": {"training_grain": "one player-game row after collapsing granular at-bat rows", "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game", "hitter_signals": ["xwoba", "xba", "xslg", "barrel_batted_rate", "hard_hit_percent", "bat_speed", "launch_quality", "walk_rate", "strikeout_rate"], "pitcher_signals": ["xwoba_allowed", "barrel_allowed", "hard_hit_allowed", "whiff_rate", "command_score", "movement_score", "faced_est_woba", "faced_strikeout_rate"]}, "away": {"team": "NYY", "original_runs": 4, "run_delta": 0.2682, "adjusted_runs": 4, "lineup": {"players_used": 9, "total_weight": 32.0, "quality": 0.37218868325182664, "contact": 0.2937781547780156, "power": 0.6038404895983303, "discipline": -0.06558450875262, "xwoba": 0.3253125, "recent_xwoba": 0.3253125, "barrel": 10.384375, "ab_hard_contact": 0.3165955062523192, "ab_bat_speed": 71.48103826495976, "ab_strikeout_rate": 0.25758627614501245, "available_players": 9, "top_players": [{"player_id": "700250", "player_name": "Ben Rice", "position": "DH", "weight": 4.0, "quality": 1.0859644147538934, "contact": 1.1007257339007495, "power": 1.4640379442959104, "discipline": 0.41161541397512624, "xwoba": 0.378, "recent_xwoba": 0.378, "barrel": 14.299999999999999, "ab_hard_contact": 0.8834255525848682, "ab_bat_speed": 71.42264696813977, "ab_strikeout_rate": 0.24306269270298048, "available": 1.0}, {"player_id": "682987", "player_name": "Spencer Jones", "position": "RF", "weight": 4.0, "quality": 0.6359031265672056, "contact": 0.4055769029040419, "power": 1.4845812557871219, "discipline": -0.9999781229370271, "xwoba": 0.328, "recent_xwoba": 0.328, "barrel": 15.9, "ab_hard_contact": 0.4758155919329278, "ab_bat_speed": 75.76573781567421, "ab_strikeout_rate": 0.39008480104370513, "available": 1.0}, {"player_id": "671277", "player_name": "Luis García Jr.", "position": "1B", "weight": 4.0, "quality": 0.7580131004603182, "contact": 0.8597483462126746, "power": 1.119451166067874, "discipline": -0.21995646889125145, "xwoba": 0.341, "recent_xwoba": 0.341, "barrel": 12.2, "ab_hard_contact": 0.5974042737384297, "ab_bat_speed": 73.31642951280269, "ab_strikeout_rate": 0.18442028985507247, "available": 1.0}, {"player_id": "663757", "player_name": "Trent Grisham", "position": "CF", "weight": 3.0, "quality": 0.6215292333449454, "contact": 0.5735532591261528, "power": 0.5959867049499151, "discipline": 0.8456062566991771, "xwoba": 0.337, "recent_xwoba": 0.337, "barrel": 9.6, "ab_hard_contact": 0.5182102894744993, "ab_bat_speed": 68.83768257479983, "ab_strikeout_rate": 0.1951432785503582, "available": 1.0}, {"player_id": "641355", "player_name": "Cody Bellinger", "position": "LF", "weight": 4.0, "quality": 0.35350340380831996, "contact": 0.5349312747360402, "power": 0.11562360582964122, "discipline": 0.629057074932075, "xwoba": 0.335, "recent_xwoba": 0.335, "barrel": 6.6, "ab_hard_contact": 0.3612340213547277, "ab_bat_speed": 69.03931248346561, "ab_strikeout_rate": 0.15433531746031745, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "642547", "player_name": "Freddy Peralta", "quality": 0.11352541389249747, "contact": 0.24888089323514528, "command": -0.13745871126228262, "movement": -0.03644944553856097, "xwoba": 0.302, "whiff": 26.1, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}, "home": {"team": "TB", "original_runs": 3, "run_delta": -0.702, "adjusted_runs": 2, "lineup": {"players_used": 9, "total_weight": 34.0, "quality": -0.05247059584866001, "contact": 0.040469018026781295, "power": -0.19516385650182327, "discipline": 0.36076236122363864, "xwoba": 0.31091176470588233, "recent_xwoba": 0.31091176470588233, "barrel": 6.21764705882353, "ab_hard_contact": -0.13950121967232107, "ab_bat_speed": 69.32301883592007, "ab_strikeout_rate": 0.17487582948808153, "available_players": 9, "top_players": [{"player_id": "670764", "player_name": "Taylor Walls", "position": "SS", "weight": 3.0, "quality": -1.2226479377479211, "contact": -1.4640001829453662, "power": -1.462586946671647, "discipline": 0.23344217594217606, "xwoba": 0.251, "recent_xwoba": 0.251, "barrel": 2.2, "ab_hard_contact": -1.3808817905757944, "ab_bat_speed": 62.476628427128425, "ab_strikeout_rate": 0.25287878787878787, "available": 1.0}, {"player_id": "691406", "player_name": "Junior Caminero", "position": "3B", "weight": 4.0, "quality": 1.057275086846282, "contact": 1.1283305380631719, "power": 1.3691909603820291, "discipline": 0.4880283783303919, "xwoba": 0.364, "recent_xwoba": 0.364, "barrel": 13.1, "ab_hard_contact": 0.6744858743072404, "ab_bat_speed": 78.50223418024927, "ab_strikeout_rate": 0.1879354426334292, "available": 1.0}, {"player_id": "802415", "player_name": "Chandler Simpson", "position": "LF", "weight": 4.0, "quality": -0.9110641195476601, "contact": -0.6526951193300649, "power": -1.5395996976745805, "discipline": 0.44172469052903846, "xwoba": 0.263, "recent_xwoba": 0.263, "barrel": 0.0, "ab_hard_contact": -1.4963749058725606, "ab_bat_speed": 61.551209390568886, "ab_strikeout_rate": 0.07531055900621117, "available": 1.0}, {"player_id": "676356", "player_name": "Jonny DeLuca", "position": "CF", "weight": 4.0, "quality": -0.8080339048832523, "contact": -0.8317852546327366, "power": -0.8450635745275638, "discipline": -0.4648244813136117, "xwoba": 0.261, "recent_xwoba": 0.261, "barrel": 3.6, "ab_hard_contact": -0.05936672864651229, "ab_bat_speed": 71.46409786922015, "ab_strikeout_rate": 0.20643115942028986, "available": 1.0}, {"player_id": "650490", "player_name": "Yandy Díaz", "position": "DH", "weight": 4.0, "quality": 0.7413828917734998, "contact": 1.078783448992237, "power": 0.5356330124171292, "discipline": 0.5679219490426386, "xwoba": 0.346, "recent_xwoba": 0.346, "barrel": 7.1, "ab_hard_contact": 0.7438983435806739, "ab_bat_speed": 72.70592586206897, "ab_strikeout_rate": 0.14482758620689656, "available": 1.0}]}, "opposing_starter": {"available": true, "player_id": "693645", "player_name": "Cam Schlittler", "quality": 0.8373493582617151, "contact": 1.0020063561553834, "command": 0.6538270030234314, "movement": 1.5640282140723243, "xwoba": 0.262, "whiff": 29.4, "faced_est_woba": 0.2648406655555556, "faced_launch_speed": 83.79124666446208, "faced_strikeout_rate": 0.2356947200176367, "faced_run_exp": 0.006483162950047203}}}, "fundamental_edge_target_review": {"applied": false, "method": "post_score_adjustment_fundamental_edge_review_v1", "previous_score": {"away_runs": 4, "home_runs": 2, "winner_side": "away"}, "adjusted_score": {"away_runs": 4, "home_runs": 2, "winner_side": "away"}, "signals": {"season_quality_edge_home_minus_away": -0.1757, "recent_form_edge_home_minus_away": -0.182, "pitcher_matchup_edge_home_minus_away": -0.02, "composite_home_edge": -0.5461, "existing_home_win_probability": 0.4534, "refreshed_home_win_probability": 0.3, "winner_support_before_review": 0.5461}, "reasons": ["target direction already matched refreshed fundamentals or margin was not fragile"]}, "uncapped_home_win_probability": 0.45339, "uncapped_away_win_probability": 0.54661, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.54661, "discount_factor": 0.85, "published_confidence": 0.539619, "guardrail_confidence_cap": 0.54, "guardrail_cap_enforced": false, "applied_discounts": [{"reason": "matchup_recency_guardrail", "factor": 0.85}]}, "score_probability_reconciliation": {"policy": "published_probability_follows_published_score_v1", "incoming_home_win_probability": 0.3, "incoming_favoured_side": "away", "score_winner_side": "away", "published_home_win_probability": 0.460381, "probability_side_reverted_by_score": false, "note": "The probability and the projected score agree on the winner."}, "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.", "pre_simulation_target": {"away_runs": 4, "home_runs": 2, "predicted_score_text": "NYY 4 - 2 TB", "confidence": 0.5396185, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 2, "score_text": "NYY 4 - 2 TB", "winner": "NYY"}, "final_simulation_score": {"away_runs": 4, "home_runs": 2, "score_text": "NYY 4 - 2 TB", "winner": "NYY"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.02, "recent_form_edge_home_minus_away": -0.182, "winner_direction": "away", "thresholds": {"pitcher_matchup": 0.35, "recent_form": 0.75}}, "margin_widening_capped": false, "simulation_winner_agrees": true, "away_run_delta": 0, "home_run_delta": 0, "total_run_delta": 0, "score_source": "enhanced_prediction.pre_simulation_target", "simulation_usage": "organic_simulation_realized_target", "final_prediction_source": "stable_final_prediction_policy", "final_decision_policy": {"policy_version": "model_target_authoritative_simulation_realizes_v3", "away_runs": 4, "home_runs": 2, "winner": "NYY", "model_winner": "NYY", "simulation_winner": "NYY", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 2, "published_winner": "NYY", "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": 2, "simulation_margin": 2, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 2}, "simulation_score": {"away_runs": 4, "home_runs": 2}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 2, "final_margin": 2, "winner_quality_edge": 0.1757, "winner": "NYY", "score_reviewed": {"away_runs": 4, "home_runs": 2, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}, "decision_profile": {"method": "priced_decision_profile_v2", "winner": "NYY", "display_confidence": 0.5396, "internal_signal_score": 0.5589, "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability", "model_pick_probability": 0.5396, "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": 2, "winner_quality_edge": 0.1757, "winner_recent_form_edge": -0.028, "winner_pitcher_matchup_edge": 0.02, "winner_simulation_draw_rate": 0.5, "blowout_draw_rate_margin_4_plus": 1.0, "high_total_draw_rate_11_plus": 0.0, "low_total_draw_rate_6_or_less": 1.0, "total_runs_spread": {"min": 4, "median": 6, "max": 6, "range": 2}}, "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionNYY 4 - 2 TBNYY0.540enhanced_prediction.pre_simulation_targetTrue
Simulation drawNYY 4 - 2 TBNYY-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.4848; empirical=0.5794; weight=0.5000; final=0.5321
P1H2H margin as base featureavailablehome net=-14; abs=14; home delta=-0.0808; away delta=0.0808
P2Wider score distributionimplemented_above_requested_1.4xvariance multiplier=2.2500; floor=2.7500
P2Simulation flip controldiagnostic_only_unless_independently_supportedcandidate=False; trusted=False; published flip=False
P3Season edge + recent formimplementedwindow=10; season edge=-0.2853; recent edge=0.0280; blended=-
P3Continuous calibration audittrace emittedChecked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports.
Process LayerWhat It DoesStored FieldObserved Value
1. Historical modelStarts from trained game model output.score_evolution.steps[historical_ml]-
2. Variance layerApplies bounded game variance before enhanced corrections.score_evolution.steps[variance_applied]-
3. Recent/team formUses latest team form, recent scoring, prevention, and streak state.enhanced_prediction_analysis.recent_formTrue
4. Season qualityUses season run differential and record quality guardrails.season_run_differential_adjustment, season_quality_guardrailTrue
5. Savant hittersApplies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality.savant_batter_quality_adjustmentTrue
6. Savant pitchersApplies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command.savant_pitcher_quality_adjustmentTrue
7. Low-score analysisControls unrealistic totals and preserves the pre-sync low-score expected total.low_score_analysis6.4000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5396
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.8662.997-Base ML historical model prediction
2variance_applied53-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction430.5396Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail)
4embedded_savant_run_environment42-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
5fundamental_edge_target_review42-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
6capped_target42-Capped at max 12 realistic runs
7simulation_result42-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.6900376770743218,
  "base_low_score_probability": 0.4266614235155328,
  "low_score_signal_threshold": 0.5066614235155328,
  "low_score_signal_strength": 0.263376253558789,
  "confidence": 0.9,
  "factors": {
    "environmental": 1.0710000000000002,
    "pitcher_form": 1.4520000000000002,
    "team_form": 1.0,
    "situational": 1.04,
    "combined": 1.6172956800000005
  },
  "prediction": "low_scoring",
  "expected_total_runs": 6,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.4,
  "low_score_model_expected_total_runs": 6.4,
  "final_simulation_total_runs": 6,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 485,
  "near_bucket_sample_size": 485,
  "medium_bucket_sample_size": 1083,
  "wide_bucket_sample_size": 1112,
  "global_sample_size": 1131,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5794,
  "bayesian_hit_rate": 0.5765,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5808,
  "raw_pick_probability_unclamped": 0.5808,
  "score_probability_conflict": false,
  "margin_implied_home_probability": 0.4927,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5477,
  "score_implied_floor_pick_probability": 0.5071,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.419191,
  "uncapped_away_win_probability": 0.580809,
  "calibrated_pick_probability": 0.5466,
  "predicted_side": "away",
  "reliability": 0.964215,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.97674
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.484824,
  "sample_size": 485,
  "empirical_hit_rate": 0.5794,
  "empirical_weight": 0.5,
  "blended_confidence": 0.532112,
  "published_confidence": 0.539619,
  "published_after_governors": true,
  "governor_mode": "shrinkage_not_clamp"
}
H2H Base Feature
{
  "method": "h2h_net_margin_monotonic_v1",
  "available": true,
  "sample_size": 5,
  "sample_weight": 0.0577,
  "home_net_margin": -14.0,
  "absolute_net_margin": 14.0,
  "home_average_margin": -2.8,
  "home_run_delta": -0.0808,
  "away_run_delta": 0.0808,
  "evidence": [
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -7.0
    },
    {
      "game_id": null,
      "home_margin": 5.0
    },
    {
      "game_id": null,
      "home_margin": -2.0
    },
    {
      "game_id": null,
      "home_margin": -8.0
    }
  ],
  "adaptive_parameters": {
    "h2h.history_limit": 5,
    "h2h.maximum_weight": 0.15,
    "h2h.prior_games": 8.0,
    "h2h.maximum_total_shift": 0.65
  }
}
Season Run Differential Adjustment
{
  "applied": false,
  "home": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049382716049383,
    "runs_scored": 736,
    "runs_allowed": 650,
    "run_differential": 86,
    "run_differential_per_game": 0.5308641975308642,
    "available": true
  },
  "away": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.577639751552795,
    "runs_scored": 739,
    "runs_allowed": 601,
    "run_differential": 138,
    "run_differential_per_game": 0.8571428571428571,
    "available": true
  },
  "run_differential_edge_per_game": -0.3263,
  "win_pct_edge": 0.0273,
  "quality_edge": -0.1757,
  "season_quality_edge": -0.2853,
  "recent_quality_blend": {
    "method": "season_recent_quality_blend_v2_adaptive",
    "recent_window": 10,
    "season_quality_edge": -0.2853,
    "recent_quality_edge": 0.028,
    "season_weight": 0.65,
    "recent_weight": 0.35,
    "recent_reliability": 1.0,
    "alignment": "conflict",
    "blended_quality_edge": -0.1757
  },
  "margin_adjustment": 0.0,
  "reason": "season quality edge below action threshold"
}
Score Distribution Widening
{
  "most_likely": [
    {
      "home_runs": 3,
      "away_runs": 3,
      "probability": 0.028425001857791943
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.026624637022712536
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.02655888481906244
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.026233106036805034
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.026168542020327538
    }
  ],
  "home_distribution": {
    "0": 0.08835713498291922,
    "1": 0.1278072747072023,
    "2": 0.1590222455882233,
    "3": 0.17019568619203276,
    "4": 0.15668505451913656,
    "5": 0.12407804914258759,
    "6": 0.08451828939924737,
    "7": 0.04952161498021102,
    "8": 0.024959004456441655,
    "9": 0.010820518614672165,
    "10": 0.004035127417326009
  },
  "away_distribution": {
    "0": 0.08480018763735535,
    "1": 0.1229653602338988,
    "2": 0.15413496442680732,
    "3": 0.16701364466852497,
    "4": 0.15643543980704544,
    "5": 0.12666328533417143,
    "6": 0.08865408588729988,
    "7": 0.05363881451733485,
    "8": 0.02805381911797119,
    "9": 0.012683444737746479,
    "10": 0.004956953631844255
  },
  "model": "overdispersed_score_distribution",
  "variance_multiplier": 2.25,
  "variance_floor": 2.75,
  "roadmap_status": "implemented_above_requested_1.4x"
}
Matchup Recency Guardrail
{
  "applied": true,
  "confidence_cap": 0.54,
  "winner_flipped": false,
  "reasons": [
    "predicted side recently lost this matchup by 5+ runs",
    "recent head-to-head is split and volatile",
    "a prior same-side pick already missed against the actual result",
    "a prior same-side pick missed by 5+ actual runs"
  ],
  "signals": {
    "predicted_team": "NYY",
    "opponent_team": "TB",
    "h2h_net_margin": 4,
    "opponent_breakout": false,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-24",
        "predicted_team_runs": 6,
        "opponent_runs": 4,
        "margin_for_predicted_team": 2,
        "winner": "NYY"
      },
      {
        "date": "2026-09-23",
        "predicted_team_runs": 9,
        "opponent_runs": 2,
        "margin_for_predicted_team": 7,
        "winner": "NYY"
      },
      {
        "date": "2026-09-22",
        "predicted_team_runs": 1,
        "opponent_runs": 6,
        "margin_for_predicted_team": -5,
        "winner": "TB"
      }
    ],
    "prediction_memory": {
      "available": true,
      "reason": "verified_prior_matchup_predictions_available",
      "verification_policy": "pregame_artifact_matched_to_one_official_final",
      "verified_outcome_count": 7,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 1,
      "prior_predictions": [
        {
          "date": "20261003",
          "away": "NYY",
          "home": "TB",
          "game_number": 1,
          "predicted_team": "TB",
          "actual_winner": "TB",
          "actual_margin": 1,
          "raw_pick_probability": 0.518365,
          "artifact": "20261003_NYY@TB.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260924",
          "away": "TB",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 2,
          "raw_pick_probability": 0.531136,
          "artifact": "20260924_TB@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260923",
          "away": "TB",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "TB",
          "actual_winner": "NYY",
          "actual_margin": 7,
          "raw_pick_probability": 0.505259,
          "artifact": "20260923_TB@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260922",
          "away": "TB",
          "home": "NYY",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "NYY",
          "actual_margin": 2,
          "raw_pick_probability": 0.534918,
          "artifact": "20260922_TB@NYY.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20260922",
          "away": "TB",
          "home": "NYY",
          "game_number": 2,
          "predicted_team": "NYY",
          "actual_winner": "TB",
          "actual_margin": 5,
          "raw_pick_probability": 0.520635,
          "artifact": "20260922_TB@NYY_2.json",
          "verification": "pregame_official_final"
        }
      ]
    },
    "guardrail_predicted_team": "NYY",
    "guardrail_opponent_team": "TB",
    "output_pre_simulation_winner": "NYY",
    "output_opponent_team": "TB",
    "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": 2,
      "score_text": "NYY 4 - 2 TB",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "NYY 4 - 2 TB",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.02,
      "recent_form_edge_home_minus_away": -0.182,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 2,
      "winner": "NYY",
      "model_winner": "NYY",
      "simulation_winner": "NYY",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "NYY",
        "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": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 2
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 2
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.1757,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 2,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "TB",
      "games": 162,
      "wins": 98,
      "losses": 64,
      "win_pct": 0.6049382716049383,
      "runs_scored": 736,
      "runs_allowed": 650,
      "run_differential": 86,
      "run_differential_per_game": 0.5308641975308642,
      "available": true
    },
    "away": {
      "team": "NYY",
      "games": 161,
      "wins": 93,
      "losses": 68,
      "win_pct": 0.577639751552795,
      "runs_scored": 739,
      "runs_allowed": 601,
      "run_differential": 138,
      "run_differential_per_game": 0.8571428571428571,
      "available": true
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.1,
  "final_margin": -0.1,
  "margin_cap": 1.5,
  "season_quality_edge": 0.1757,
  "reason": "raw target margin within supported range"
}
Confidence Governor
{
  "applied": true,
  "policy": "align_to_calibrated_probability_v2",
  "raw_confidence": 0.532112,
  "final_confidence": 0.5466,
  "calibrated_pick_probability": 0.5466,
  "shrinkage_weight": 0.97674,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 485,
  "calibration_empirical_hit_rate": 0.5794,
  "calibration_bayesian_hit_rate": 0.5765,
  "calibration_sparse_bucket": false,
  "season_quality_edge": 0.1757,
  "reasons": [
    "confidence aligned to the calibrated pick probability"
  ],
  "score_coherence": {
    "policy": "probability_follows_published_score_v1",
    "published_score": {
      "away_runs": 4,
      "home_runs": 3
    },
    "margin": -1,
    "probability_before": 0.45339,
    "margin_implied_home_probability": 0.427612,
    "shrinkage_weight": 0.97674,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.45339,
    "aligned_pick_probability": 0.54661
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 32,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 2,
    "score_text": "NYY 4 - 2 TB",
    "winner": "NYY"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 2,
    "score_text": "NYY 4 - 2 TB",
    "winner": "NYY"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.02,
    "recent_form_edge_home_minus_away": -0.182,
    "winner_direction": "away",
    "thresholds": {
      "pitcher_matchup": 0.35,
      "recent_form": 0.75
    }
  },
  "margin_widening_capped": false,
  "simulation_winner_agrees": true,
  "away_run_delta": 0,
  "home_run_delta": 0,
  "total_run_delta": 0,
  "score_source": "enhanced_prediction.pre_simulation_target",
  "simulation_usage": "organic_simulation_realized_target",
  "final_prediction_source": "stable_final_prediction_policy",
  "final_decision_policy": {
    "policy_version": "model_target_authoritative_simulation_realizes_v3",
    "away_runs": 4,
    "home_runs": 2,
    "winner": "NYY",
    "model_winner": "NYY",
    "simulation_winner": "NYY",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 2,
      "published_winner": "NYY",
      "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": 2,
    "simulation_margin": 2,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 2
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 2
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 2,
    "final_margin": 2,
    "winner_quality_edge": 0.1757,
    "winner": "NYY",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 2,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 2,
  "confidence": 0.5396185,
  "home_win_probability": 0.4603815,
  "away_win_probability": 0.5396185,
  "predicted_score_text": "NYY 4 - 2 TB",
  "embedded_savant_score_adjustment": {
    "applied": true,
    "source": "all_players_stats.csv embedded temporal Savant features",
    "feature_contract": {
      "training_grain": "one player-game row after collapsing granular at-bat rows",
      "temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
      "hitter_signals": [
        "xwoba",
        "xba",
        "xslg",
        "barrel_batted_rate",
        "hard_hit_percent",
        "bat_speed",
        "launch_quality",
        "walk_rate",
        "strikeout_rate"
      ],
      "pitcher_signals": [
        "xwoba_allowed",
        "barrel_allowed",
        "hard_hit_allowed",
        "whiff_rate",
        "command_score",
        "movement_score",
        "faced_est_woba",
        "faced_strikeout_rate"
      ]
    },
    "away": {
      "team": "NYY",
      "original_runs": 4,
      "run_delta": 0.2682,
      "adjusted_runs": 4,
      "lineup": {
        "players_used": 9,
        "total_weight": 32.0,
        "quality": 0.37218868325182664,
        "contact": 0.2937781547780156,
        "power": 0.6038404895983303,
        "discipline": -0.06558450875262,
        "xwoba": 0.3253125,
        "recent_xwoba": 0.3253125,
        "barrel": 10.384375,
        "ab_hard_contact": 0.3165955062523192,
        "ab_bat_speed": 71.48103826495976,
        "ab_strikeout_rate": 0.25758627614501245,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "700250",
            "player_name": "Ben Rice",
            "position": "DH",
            "weight": 4.0,
            "quality": 1.0859644147538934,
            "contact": 1.1007257339007495,
            "power": 1.4640379442959104,
            "discipline": 0.41161541397512624,
            "xwoba": 0.378,
            "recent_xwoba": 0.378,
            "barrel": 14.299999999999999,
            "ab_hard_contact": 0.8834255525848682,
            "ab_bat_speed": 71.42264696813977,
            "ab_strikeout_rate": 0.24306269270298048,
            "available": 1.0
          },
          {
            "player_id": "682987",
            "player_name": "Spencer Jones",
            "position": "RF",
            "weight": 4.0,
            "quality": 0.6359031265672056,
            "contact": 0.4055769029040419,
            "power": 1.4845812557871219,
            "discipline": -0.9999781229370271,
            "xwoba": 0.328,
            "recent_xwoba": 0.328,
            "barrel": 15.9,
            "ab_hard_contact": 0.4758155919329278,
            "ab_bat_speed": 75.76573781567421,
            "ab_strikeout_rate": 0.39008480104370513,
            "available": 1.0
          },
          {
            "player_id": "671277",
            "player_name": "Luis García Jr.",
            "position": "1B",
            "weight": 4.0,
            "quality": 0.7580131004603182,
            "contact": 0.8597483462126746,
            "power": 1.119451166067874,
            "discipline": -0.21995646889125145,
            "xwoba": 0.341,
            "recent_xwoba": 0.341,
            "barrel": 12.2,
            "ab_hard_contact": 0.5974042737384297,
            "ab_bat_speed": 73.31642951280269,
            "ab_strikeout_rate": 0.18442028985507247,
            "available": 1.0
          },
          {
            "player_id": "663757",
            "player_name": "Trent Grisham",
            "position": "CF",
            "weight": 3.0,
            "quality": 0.6215292333449454,
            "contact": 0.5735532591261528,
            "power": 0.5959867049499151,
            "discipline": 0.8456062566991771,
            "xwoba": 0.337,
            "recent_xwoba": 0.337,
            "barrel": 9.6,
            "ab_hard_contact": 0.5182102894744993,
            "ab_bat_speed": 68.83768257479983,
            "ab_strikeout_rate": 0.1951432785503582,
            "available": 1.0
          },
          {
            "player_id": "641355",
            "player_name": "Cody Bellinger",
            "position": "LF",
            "weight": 4.0,
            "quality": 0.35350340380831996,
            "contact": 0.5349312747360402,
            "power": 0.11562360582964122,
            "discipline": 0.629057074932075,
            "xwoba": 0.335,
            "recent_xwoba": 0.335,
            "barrel": 6.6,
            "ab_hard_contact": 0.3612340213547277,
            "ab_bat_speed": 69.03931248346561,
            "ab_strikeout_rate": 0.15433531746031745,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "642547",
        "player_name": "Freddy Peralta",
        "quality": 0.11352541389249747,
        "contact": 0.24888089323514528,
        "command": -0.13745871126228262,
        "movement": -0.03644944553856097,
        "xwoba": 0.302,
        "whiff": 26.1,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    },
    "home": {
      "team": "TB",
      "original_runs": 3,
      "run_delta": -0.702,
      "adjusted_runs": 2,
      "lineup": {
        "players_used": 9,
        "total_weight": 34.0,
        "quality": -0.05247059584866001,
        "contact": 0.040469018026781295,
        "power": -0.19516385650182327,
        "discipline": 0.36076236122363864,
        "xwoba": 0.31091176470588233,
        "recent_xwoba": 0.31091176470588233,
        "barrel": 6.21764705882353,
        "ab_hard_contact": -0.13950121967232107,
        "ab_bat_speed": 69.32301883592007,
        "ab_strikeout_rate": 0.17487582948808153,
        "available_players": 9,
        "top_players": [
          {
            "player_id": "670764",
            "player_name": "Taylor Walls",
            "position": "SS",
            "weight": 3.0,
            "quality": -1.2226479377479211,
            "contact": -1.4640001829453662,
            "power": -1.462586946671647,
            "discipline": 0.23344217594217606,
            "xwoba": 0.251,
            "recent_xwoba": 0.251,
            "barrel": 2.2,
            "ab_hard_contact": -1.3808817905757944,
            "ab_bat_speed": 62.476628427128425,
            "ab_strikeout_rate": 0.25287878787878787,
            "available": 1.0
          },
          {
            "player_id": "691406",
            "player_name": "Junior Caminero",
            "position": "3B",
            "weight": 4.0,
            "quality": 1.057275086846282,
            "contact": 1.1283305380631719,
            "power": 1.3691909603820291,
            "discipline": 0.4880283783303919,
            "xwoba": 0.364,
            "recent_xwoba": 0.364,
            "barrel": 13.1,
            "ab_hard_contact": 0.6744858743072404,
            "ab_bat_speed": 78.50223418024927,
            "ab_strikeout_rate": 0.1879354426334292,
            "available": 1.0
          },
          {
            "player_id": "802415",
            "player_name": "Chandler Simpson",
            "position": "LF",
            "weight": 4.0,
            "quality": -0.9110641195476601,
            "contact": -0.6526951193300649,
            "power": -1.5395996976745805,
            "discipline": 0.44172469052903846,
            "xwoba": 0.263,
            "recent_xwoba": 0.263,
            "barrel": 0.0,
            "ab_hard_contact": -1.4963749058725606,
            "ab_bat_speed": 61.551209390568886,
            "ab_strikeout_rate": 0.07531055900621117,
            "available": 1.0
          },
          {
            "player_id": "676356",
            "player_name": "Jonny DeLuca",
            "position": "CF",
            "weight": 4.0,
            "quality": -0.8080339048832523,
            "contact": -0.8317852546327366,
            "power": -0.8450635745275638,
            "discipline": -0.4648244813136117,
            "xwoba": 0.261,
            "recent_xwoba": 0.261,
            "barrel": 3.6,
            "ab_hard_contact": -0.05936672864651229,
            "ab_bat_speed": 71.46409786922015,
            "ab_strikeout_rate": 0.20643115942028986,
            "available": 1.0
          },
          {
            "player_id": "650490",
            "player_name": "Yandy Díaz",
            "position": "DH",
            "weight": 4.0,
            "quality": 0.7413828917734998,
            "contact": 1.078783448992237,
            "power": 0.5356330124171292,
            "discipline": 0.5679219490426386,
            "xwoba": 0.346,
            "recent_xwoba": 0.346,
            "barrel": 7.1,
            "ab_hard_contact": 0.7438983435806739,
            "ab_bat_speed": 72.70592586206897,
            "ab_strikeout_rate": 0.14482758620689656,
            "available": 1.0
          }
        ]
      },
      "opposing_starter": {
        "available": true,
        "player_id": "693645",
        "player_name": "Cam Schlittler",
        "quality": 0.8373493582617151,
        "contact": 1.0020063561553834,
        "command": 0.6538270030234314,
        "movement": 1.5640282140723243,
        "xwoba": 0.262,
        "whiff": 29.4,
        "faced_est_woba": 0.2648406655555556,
        "faced_launch_speed": 83.79124666446208,
        "faced_strikeout_rate": 0.2356947200176367,
        "faced_run_exp": 0.006483162950047203
      }
    }
  },
  "fundamental_edge_target_review": {
    "applied": false,
    "method": "post_score_adjustment_fundamental_edge_review_v1",
    "previous_score": {
      "away_runs": 4,
      "home_runs": 2,
      "winner_side": "away"
    },
    "adjusted_score": {
      "away_runs": 4,
      "home_runs": 2,
      "winner_side": "away"
    },
    "signals": {
      "season_quality_edge_home_minus_away": -0.1757,
      "recent_form_edge_home_minus_away": -0.182,
      "pitcher_matchup_edge_home_minus_away": -0.02,
      "composite_home_edge": -0.5461,
      "existing_home_win_probability": 0.4534,
      "refreshed_home_win_probability": 0.3,
      "winner_support_before_review": 0.5461
    },
    "reasons": [
      "target direction already matched refreshed fundamentals or margin was not fragile"
    ]
  },
  "uncapped_home_win_probability": 0.45339,
  "uncapped_away_win_probability": 0.54661,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.54661,
    "discount_factor": 0.85,
    "published_confidence": 0.539619,
    "guardrail_confidence_cap": 0.54,
    "guardrail_cap_enforced": false,
    "applied_discounts": [
      {
        "reason": "matchup_recency_guardrail",
        "factor": 0.85
      }
    ]
  },
  "score_probability_reconciliation": {
    "policy": "published_probability_follows_published_score_v1",
    "incoming_home_win_probability": 0.3,
    "incoming_favoured_side": "away",
    "score_winner_side": "away",
    "published_home_win_probability": 0.460381,
    "probability_side_reverted_by_score": false,
    "note": "The probability and the projected score agree on the winner."
  },
  "confidence_note": "Probability shrunk toward even by starter-quality and guardrail discounts; no per-game clamp is applied. Discounts: matchup_recency_guardrail x0.85.",
  "pre_simulation_target": {
    "away_runs": 4,
    "home_runs": 2,
    "predicted_score_text": "NYY 4 - 2 TB",
    "confidence": 0.5396185,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "NYY 4 - 2 TB",
      "winner": "NYY"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 2,
      "score_text": "NYY 4 - 2 TB",
      "winner": "NYY"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.02,
      "recent_form_edge_home_minus_away": -0.182,
      "winner_direction": "away",
      "thresholds": {
        "pitcher_matchup": 0.35,
        "recent_form": 0.75
      }
    },
    "margin_widening_capped": false,
    "simulation_winner_agrees": true,
    "away_run_delta": 0,
    "home_run_delta": 0,
    "total_run_delta": 0,
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_usage": "organic_simulation_realized_target",
    "final_prediction_source": "stable_final_prediction_policy",
    "final_decision_policy": {
      "policy_version": "model_target_authoritative_simulation_realizes_v3",
      "away_runs": 4,
      "home_runs": 2,
      "winner": "NYY",
      "model_winner": "NYY",
      "simulation_winner": "NYY",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 2,
        "published_winner": "NYY",
        "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": 2,
      "simulation_margin": 2,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 2
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 2
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 2,
      "final_margin": 2,
      "winner_quality_edge": 0.1757,
      "winner": "NYY",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 2,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  },
  "decision_profile": {
    "method": "priced_decision_profile_v2",
    "winner": "NYY",
    "display_confidence": 0.5396,
    "internal_signal_score": 0.5589,
    "internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
    "model_pick_probability": 0.5396,
    "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": 2,
      "winner_quality_edge": 0.1757,
      "winner_recent_form_edge": -0.028,
      "winner_pitcher_matchup_edge": 0.02,
      "winner_simulation_draw_rate": 0.5,
      "blowout_draw_rate_margin_4_plus": 1.0,
      "high_total_draw_rate_11_plus": 0.0,
      "low_total_draw_rate_6_or_less": 1.0,
      "total_runs_spread": {
        "min": 4,
        "median": 6,
        "max": 6,
        "range": 2
      }
    },
    "interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
  }
}

Savant Batter Quality

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

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away NYYTrue1.04411.0441190
Home TBTrue1.00111.0011190

Away Batter Inputs

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

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CLiam Hicks-0.9913-0.1157negative_batter_regression0.31900.26100.35803.7027.1084.6014.5011.409.9010.10-0.9429
3BJunior Caminero-1.09421.2566neutral0.36400.27300.499013.1049.7092.7010.4024.1018.4011.30-0.3143
1BJonathan Aranda-1.06320.8421neutral0.34300.25400.43809.904691.1014.4022.5024.4010.30-0.1429
DHYandy Díaz-1.06260.8349neutral0.34600.28100.43907.1048.1090.90614.8014.308.20-0.1143
CFJonny DeLuca-0.9339-0.8814negative_batter_regression0.26100.23200.32503.6030.2085.8013.9024.9021.104.60-1.6000
2BRichie Palacios-0.9867-0.1772neutral0.30600.24300.3340428.8086.2013.4020.701711.50-0.2857
SSTaylor Walls-0.9131-1.1589neutral0.25100.19000.26102.2021.9085.6019.402224.2010.40-0.7714
LFChandler Simpson-0.9252-0.9970negative_batter_regression0.26300.26100.2970013.4083.601.2010.807.804.20-1.2000
RFVictor Mesa Jr.-1.03950.5271neutral0.32900.24900.439010.8042.2089.402125.5020.208.80-0.7429
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0011,
    "raw_average_factor": 1.0011,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "C",
        "player_id": "689414",
        "player_name": "Liam Hicks",
        "offense_factor": 0.9913,
        "quality_score": -0.1157,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "689414",
          "espn_rank": null
        },
        "metrics": {
          "pa": 515.0,
          "k_percent": 9.9,
          "bb_percent": 10.1,
          "woba": 0.352,
          "xwoba": 0.319,
          "xba": 0.261,
          "xslg": 0.358,
          "sweet_spot_percent": 30.8,
          "barrel_batted_rate": 3.7,
          "hard_hit_percent": 27.1,
          "exit_velocity_avg": 84.6,
          "launch_angle_avg": 14.5,
          "whiff_percent": 11.4,
          "swing_percent": 41.7
        },
        "components": {
          "expected_quality": 0.019,
          "regression_edge": -0.9429,
          "xwoba_edge": 0.5714,
          "xba_edge": 0.7143,
          "xslg_edge": -0.0714,
          "barrel_edge": -0.6444,
          "hard_hit_edge": -1.5,
          "exit_velocity_edge": -1.52,
          "sweet_spot_edge": -0.4167,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "3B",
        "player_id": "691406",
        "player_name": "Junior Caminero",
        "offense_factor": 1.0942,
        "quality_score": 1.2566,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "691406",
          "espn_rank": null
        },
        "metrics": {
          "pa": 640.0,
          "k_percent": 18.4,
          "bb_percent": 11.3,
          "woba": 0.375,
          "xwoba": 0.364,
          "xba": 0.273,
          "xslg": 0.499,
          "sweet_spot_percent": 27.1,
          "barrel_batted_rate": 13.1,
          "hard_hit_percent": 49.7,
          "exit_velocity_avg": 92.7,
          "launch_angle_avg": 10.4,
          "whiff_percent": 24.1,
          "swing_percent": 44.4
        },
        "components": {
          "expected_quality": 1.5123,
          "regression_edge": -0.3143,
          "xwoba_edge": 1.8571,
          "xba_edge": 1.0571,
          "xslg_edge": 1.9429,
          "barrel_edge": 1.4444,
          "hard_hit_edge": 1.7286,
          "exit_velocity_edge": 1.72,
          "sweet_spot_edge": -1.0333,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "666018",
        "player_name": "Jonathan Aranda",
        "offense_factor": 1.0632,
        "quality_score": 0.8421,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "666018",
          "espn_rank": null
        },
        "metrics": {
          "pa": 625.0,
          "k_percent": 24.4,
          "bb_percent": 10.3,
          "woba": 0.348,
          "xwoba": 0.343,
          "xba": 0.254,
          "xslg": 0.438,
          "sweet_spot_percent": 38.8,
          "barrel_batted_rate": 9.9,
          "hard_hit_percent": 46.0,
          "exit_velocity_avg": 91.1,
          "launch_angle_avg": 14.4,
          "whiff_percent": 22.5,
          "swing_percent": 46.7
        },
        "components": {
          "expected_quality": 1.0024,
          "regression_edge": -0.1429,
          "xwoba_edge": 1.2571,
          "xba_edge": 0.5143,
          "xslg_edge": 1.0714,
          "barrel_edge": 0.7333,
          "hard_hit_edge": 1.2,
          "exit_velocity_edge": 1.08,
          "sweet_spot_edge": 0.9167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "DH",
        "player_id": "650490",
        "player_name": "Yandy Díaz",
        "offense_factor": 1.0626,
        "quality_score": 0.8349,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "650490",
          "espn_rank": null
        },
        "metrics": {
          "pa": 642.0,
          "k_percent": 14.3,
          "bb_percent": 8.2,
          "woba": 0.35,
          "xwoba": 0.346,
          "xba": 0.281,
          "xslg": 0.439,
          "sweet_spot_percent": 29.7,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 48.1,
          "exit_velocity_avg": 90.9,
          "launch_angle_avg": 6.0,
          "whiff_percent": 14.8,
          "swing_percent": 47.5
        },
        "components": {
          "expected_quality": 0.9894,
          "regression_edge": -0.1143,
          "xwoba_edge": 1.3429,
          "xba_edge": 1.2857,
          "xslg_edge": 1.0857,
          "barrel_edge": 0.1111,
          "hard_hit_edge": 1.5,
          "exit_velocity_edge": 1.0,
          "sweet_spot_edge": -0.6,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "CF",
        "player_id": "676356",
        "player_name": "Jonny DeLuca",
        "offense_factor": 0.9339,
        "quality_score": -0.8814,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "676356",
          "espn_rank": null
        },
        "metrics": {
          "pa": 325.0,
          "k_percent": 21.1,
          "bb_percent": 4.6,
          "woba": 0.317,
          "xwoba": 0.261,
          "xba": 0.232,
          "xslg": 0.325,
          "sweet_spot_percent": 28.7,
          "barrel_batted_rate": 3.6,
          "hard_hit_percent": 30.2,
          "exit_velocity_avg": 85.8,
          "launch_angle_avg": 13.9,
          "whiff_percent": 24.9,
          "swing_percent": 52.9
        },
        "components": {
          "expected_quality": -0.7644,
          "regression_edge": -1.6,
          "xwoba_edge": -1.0857,
          "xba_edge": -0.1143,
          "xslg_edge": -0.5429,
          "barrel_edge": -0.6667,
          "hard_hit_edge": -1.0571,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -0.7667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "2B",
        "player_id": "680700",
        "player_name": "Richie Palacios",
        "offense_factor": 0.9867,
        "quality_score": -0.1772,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "680700",
          "espn_rank": null
        },
        "metrics": {
          "pa": 364.0,
          "k_percent": 17.0,
          "bb_percent": 11.5,
          "woba": 0.316,
          "xwoba": 0.306,
          "xba": 0.243,
          "xslg": 0.334,
          "sweet_spot_percent": 33.1,
          "barrel_batted_rate": 4.0,
          "hard_hit_percent": 28.8,
          "exit_velocity_avg": 86.2,
          "launch_angle_avg": 13.4,
          "whiff_percent": 20.7,
          "swing_percent": 46.6
        },
        "components": {
          "expected_quality": -0.1595,
          "regression_edge": -0.2857,
          "xwoba_edge": 0.2,
          "xba_edge": 0.2,
          "xslg_edge": -0.4143,
          "barrel_edge": -0.5778,
          "hard_hit_edge": -1.2571,
          "exit_velocity_edge": -0.88,
          "sweet_spot_edge": -0.0333,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "SS",
        "player_id": "670764",
        "player_name": "Taylor Walls",
        "offense_factor": 0.9131,
        "quality_score": -1.1589,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "670764",
          "espn_rank": null
        },
        "metrics": {
          "pa": 398.0,
          "k_percent": 24.2,
          "bb_percent": 10.4,
          "woba": 0.278,
          "xwoba": 0.251,
          "xba": 0.19,
          "xslg": 0.261,
          "sweet_spot_percent": 32.1,
          "barrel_batted_rate": 2.2,
          "hard_hit_percent": 21.9,
          "exit_velocity_avg": 85.6,
          "launch_angle_avg": 19.4,
          "whiff_percent": 22.0,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": -1.222,
          "regression_edge": -0.7714,
          "xwoba_edge": -1.3714,
          "xba_edge": -1.3143,
          "xslg_edge": -1.4571,
          "barrel_edge": -0.9778,
          "hard_hit_edge": -2.2429,
          "exit_velocity_edge": -1.12,
          "sweet_spot_edge": -0.2,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "802415",
        "player_name": "Chandler Simpson",
        "offense_factor": 0.9252,
        "quality_score": -0.997,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "802415",
          "espn_rank": null
        },
        "metrics": {
          "pa": 564.0,
          "k_percent": 7.8,
          "bb_percent": 4.2,
          "woba": 0.305,
          "xwoba": 0.263,
          "xba": 0.261,
          "xslg": 0.297,
          "sweet_spot_percent": 25.7,
          "barrel_batted_rate": 0.0,
          "hard_hit_percent": 13.4,
          "exit_velocity_avg": 83.6,
          "launch_angle_avg": 1.2,
          "whiff_percent": 10.8,
          "swing_percent": 48.5
        },
        "components": {
          "expected_quality": -0.9639,
          "regression_edge": -1.2,
          "xwoba_edge": -1.0286,
          "xba_edge": 0.7143,
          "xslg_edge": -0.9429,
          "barrel_edge": -1.4667,
          "hard_hit_edge": -2.5,
          "exit_velocity_edge": -1.92,
          "sweet_spot_edge": -1.2667,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "RF",
        "player_id": "683748",
        "player_name": "Victor Mesa Jr.",
        "offense_factor": 1.0395,
        "quality_score": 0.5271,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683748",
          "espn_rank": null
        },
        "metrics": {
          "pa": 223.0,
          "k_percent": 20.2,
          "bb_percent": 8.8,
          "woba": 0.355,
          "xwoba": 0.329,
          "xba": 0.249,
          "xslg": 0.439,
          "sweet_spot_percent": 31.9,
          "barrel_batted_rate": 10.8,
          "hard_hit_percent": 42.2,
          "exit_velocity_avg": 89.4,
          "launch_angle_avg": 21.0,
          "whiff_percent": 25.5,
          "swing_percent": 55.0
        },
        "components": {
          "expected_quality": 0.7339,
          "regression_edge": -0.7429,
          "xwoba_edge": 0.8571,
          "xba_edge": 0.3714,
          "xslg_edge": 1.0857,
          "barrel_edge": 0.9333,
          "hard_hit_edge": 0.6571,
          "exit_velocity_edge": 0.4,
          "sweet_spot_edge": -0.2333,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0441,
    "raw_average_factor": 1.0441,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "position": "RF",
        "player_id": "682987",
        "player_name": "Spencer Jones",
        "offense_factor": 1.0783,
        "quality_score": 1.0438,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "682987",
          "espn_rank": null
        },
        "metrics": {
          "pa": 253.0,
          "k_percent": 36.3,
          "bb_percent": 8.7,
          "woba": 0.323,
          "xwoba": 0.328,
          "xba": 0.238,
          "xslg": 0.455,
          "sweet_spot_percent": 43.9,
          "barrel_batted_rate": 15.9,
          "hard_hit_percent": 55.1,
          "exit_velocity_avg": 94.1,
          "launch_angle_avg": 20.6,
          "whiff_percent": 38.7,
          "swing_percent": 53.2
        },
        "components": {
          "expected_quality": 1.1904,
          "regression_edge": 0.1429,
          "xwoba_edge": 0.8286,
          "xba_edge": 0.0571,
          "xslg_edge": 1.3143,
          "barrel_edge": 2.0667,
          "hard_hit_edge": 2.5,
          "exit_velocity_edge": 2.28,
          "sweet_spot_edge": 1.7667,
          "launch_angle_hr_bonus": 0.45
        }
      },
      {
        "position": "DH",
        "player_id": "700250",
        "player_name": "Ben Rice",
        "offense_factor": 1.1109,
        "quality_score": 1.4788,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "700250",
          "espn_rank": null
        },
        "metrics": {
          "pa": 611.0,
          "k_percent": 24.3,
          "bb_percent": 12.7,
          "woba": 0.384,
          "xwoba": 0.378,
          "xba": 0.267,
          "xslg": 0.511,
          "sweet_spot_percent": 38.4,
          "barrel_batted_rate": 14.3,
          "hard_hit_percent": 48.6,
          "exit_velocity_avg": 91.9,
          "launch_angle_avg": 14.5,
          "whiff_percent": 25.4,
          "swing_percent": 43.2
        },
        "components": {
          "expected_quality": 1.7474,
          "regression_edge": -0.1714,
          "xwoba_edge": 2.2571,
          "xba_edge": 0.8857,
          "xslg_edge": 2.1143,
          "barrel_edge": 1.7111,
          "hard_hit_edge": 1.5714,
          "exit_velocity_edge": 1.4,
          "sweet_spot_edge": 0.85,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "1B",
        "player_id": "671277",
        "player_name": "Luis García Jr.",
        "offense_factor": 1.0715,
        "quality_score": 0.9531,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "671277",
          "espn_rank": null
        },
        "metrics": {
          "pa": 509.0,
          "k_percent": 17.9,
          "bb_percent": 4.6,
          "woba": 0.355,
          "xwoba": 0.341,
          "xba": 0.276,
          "xslg": 0.486,
          "sweet_spot_percent": 33.0,
          "barrel_batted_rate": 12.2,
          "hard_hit_percent": 46.1,
          "exit_velocity_avg": 91.4,
          "launch_angle_avg": 11.5,
          "whiff_percent": 20.8,
          "swing_percent": 52.6
        },
        "components": {
          "expected_quality": 1.1734,
          "regression_edge": -0.4,
          "xwoba_edge": 1.2,
          "xba_edge": 1.1429,
          "xslg_edge": 1.7571,
          "barrel_edge": 1.2444,
          "hard_hit_edge": 1.2143,
          "exit_velocity_edge": 1.2,
          "sweet_spot_edge": -0.05,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "SS",
        "player_id": "806146",
        "player_name": "George Lombard Jr.",
        "offense_factor": 1.0001,
        "quality_score": 0.0012,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "806146",
          "espn_rank": null
        },
        "metrics": {
          "pa": 127.0,
          "k_percent": 26.5,
          "bb_percent": 6.0,
          "woba": 0.303,
          "xwoba": 0.298,
          "xba": 0.24,
          "xslg": 0.388,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 35.1,
          "exit_velocity_avg": 87.1,
          "launch_angle_avg": 8.5,
          "whiff_percent": 25.6,
          "swing_percent": 46.8
        },
        "components": {
          "expected_quality": 0.0257,
          "regression_edge": -0.1429,
          "xwoba_edge": -0.0286,
          "xba_edge": 0.1143,
          "xslg_edge": 0.3571,
          "barrel_edge": 0.3556,
          "hard_hit_edge": -0.3571,
          "exit_velocity_edge": -0.52,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "position": "LF",
        "player_id": "641355",
        "player_name": "Cody Bellinger",
        "offense_factor": 1.045,
        "quality_score": 0.6002,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "641355",
          "espn_rank": null
        },
        "metrics": {
          "pa": 521.0,
          "k_percent": 15.8,
          "bb_percent": 10.5,
          "woba": 0.336,
          "xwoba": 0.335,
          "xba": 0.271,
          "xslg": 0.411,
          "sweet_spot_percent": 38.2,
          "barrel_batted_rate": 6.6,
          "hard_hit_percent": 37.8,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 17.6,
          "whiff_percent": 20.0,
          "swing_percent": 47.1
        },
        "components": {
          "expected_quality": 0.7026,
          "regression_edge": -0.0286,
          "xwoba_edge": 1.0286,
          "xba_edge": 1.0,
          "xslg_edge": 0.6857,
          "barrel_edge": 0.0,
          "hard_hit_edge": 0.0286,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": 0.8167,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "2B",
        "player_id": "665862",
        "player_name": "Jazz Chisholm Jr.",
        "offense_factor": 0.9966,
        "quality_score": -0.0458,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "665862",
          "espn_rank": null
        },
        "metrics": {
          "pa": 506.0,
          "k_percent": 29.5,
          "bb_percent": 10.5,
          "woba": 0.312,
          "xwoba": 0.294,
          "xba": 0.216,
          "xslg": 0.366,
          "sweet_spot_percent": 29.9,
          "barrel_batted_rate": 8.2,
          "hard_hit_percent": 42.8,
          "exit_velocity_avg": 90.4,
          "launch_angle_avg": 16.3,
          "whiff_percent": 30.9,
          "swing_percent": 45.8
        },
        "components": {
          "expected_quality": 0.0304,
          "regression_edge": -0.5143,
          "xwoba_edge": -0.1429,
          "xba_edge": -0.5714,
          "xslg_edge": 0.0429,
          "barrel_edge": 0.3556,
          "hard_hit_edge": 0.7429,
          "exit_velocity_edge": 0.8,
          "sweet_spot_edge": -0.5667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "663757",
        "player_name": "Trent Grisham",
        "offense_factor": 1.0646,
        "quality_score": 0.8608,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "663757",
          "espn_rank": null
        },
        "metrics": {
          "pa": 477.0,
          "k_percent": 18.4,
          "bb_percent": 12.6,
          "woba": 0.311,
          "xwoba": 0.337,
          "xba": 0.245,
          "xslg": 0.429,
          "sweet_spot_percent": 35.7,
          "barrel_batted_rate": 9.6,
          "hard_hit_percent": 45.3,
          "exit_velocity_avg": 90.6,
          "launch_angle_avg": 17.5,
          "whiff_percent": 18.2,
          "swing_percent": 39.1
        },
        "components": {
          "expected_quality": 0.88,
          "regression_edge": 0.7429,
          "xwoba_edge": 1.0857,
          "xba_edge": 0.2571,
          "xslg_edge": 0.9429,
          "barrel_edge": 0.6667,
          "hard_hit_edge": 1.1,
          "exit_velocity_edge": 0.88,
          "sweet_spot_edge": 0.4,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "C",
        "player_id": "669224",
        "player_name": "Austin Wells",
        "offense_factor": 1.0129,
        "quality_score": 0.1724,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "669224",
          "espn_rank": null
        },
        "metrics": {
          "pa": 358.0,
          "k_percent": 26.5,
          "bb_percent": 12.4,
          "woba": 0.281,
          "xwoba": 0.302,
          "xba": 0.211,
          "xslg": 0.363,
          "sweet_spot_percent": 33.8,
          "barrel_batted_rate": 7.7,
          "hard_hit_percent": 42.7,
          "exit_velocity_avg": 89.3,
          "launch_angle_avg": 20.5,
          "whiff_percent": 27.9,
          "swing_percent": 46.3
        },
        "components": {
          "expected_quality": 0.1028,
          "regression_edge": 0.6,
          "xwoba_edge": 0.0857,
          "xba_edge": -0.7143,
          "xslg_edge": 0.0,
          "barrel_edge": 0.2444,
          "hard_hit_edge": 0.7286,
          "exit_velocity_edge": 0.36,
          "sweet_spot_edge": 0.0833,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "3B",
        "player_id": "641857",
        "player_name": "Ryan McMahon",
        "offense_factor": 1.0166,
        "quality_score": 0.2215,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "641857",
          "espn_rank": null
        },
        "metrics": {
          "pa": 339.0,
          "k_percent": 29.4,
          "bb_percent": 7.8,
          "woba": 0.282,
          "xwoba": 0.297,
          "xba": 0.23,
          "xslg": 0.381,
          "sweet_spot_percent": 32.1,
          "barrel_batted_rate": 9.0,
          "hard_hit_percent": 44.8,
          "exit_velocity_avg": 90.5,
          "launch_angle_avg": 14.3,
          "whiff_percent": 30.2,
          "swing_percent": 45.5
        },
        "components": {
          "expected_quality": 0.1877,
          "regression_edge": 0.4286,
          "xwoba_edge": -0.0571,
          "xba_edge": -0.1714,
          "xslg_edge": 0.2571,
          "barrel_edge": 0.5333,
          "hard_hit_edge": 1.0286,
          "exit_velocity_edge": 0.84,
          "sweet_spot_edge": -0.2,
          "launch_angle_hr_bonus": 0.2
        }
      }
    ],
    "source": "all_players_stats.csv embedded Savant batter features"
  },
  "reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}

Savant Pitcher Quality

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

TeamPitcherAvailableESPN RankQualitySample WtRun PrevK FactorBB FactorHR FactorRegressionxwOBAwOBAK%BB%Whiff%Barrel%HardHit%
Away NYYCam SchlittlerTrue-0.713610.93931.07710.94400.9612neutral0.26200.243031.406.4029.407.3038.30
Home TBFreddy PeraltaTrue-0.142610.98791.00110.98800.9625neutral0.30200.323021.408.6026.105.8037.20

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away NYYCam SchlittlerTrueNone9695.852516000000000.2800
Home TBFreddy PeraltaTrueNone8389.31229800000000-0.0309
Run FactorValue
away_runs_vs_home_pitcher0.9955
home_runs_vs_away_pitcher0.9650
home_pitcher_starter_only_factor0.9879
away_pitcher_starter_only_factor0.9393
home_pitcher_workload_share0.5926
away_pitcher_workload_share0.6667
home_pitcher_quality_edge-0.3912
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "642547",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 683.0,
      "k_percent": 21.4,
      "bb_percent": 8.6,
      "woba": 0.323,
      "xwoba": 0.302,
      "sweet_spot_percent": 35.2,
      "barrel_batted_rate": 5.8,
      "hard_hit_percent": 37.2,
      "avg_best_speed": 76.4239,
      "avg_hyper_speed": 93.4809,
      "whiff_percent": 26.1,
      "swing_percent": 48.0
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.138,
      "command_and_miss": 0.03,
      "regression_edge": 0.6,
      "xwoba_edge": 0.2857,
      "barrel_edge": 0.3111,
      "hard_hit_edge": 0.1,
      "whiff_edge": 0.1286,
      "bb_edge": 0.15,
      "pitch_design_score": -0.0309
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "642547",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 83,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 83,
        "pitch_usage": 0.0,
        "release_speed": 89.31293809090894,
        "release_spin_rate": 2298.363391166723,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 83,
          "pitch_usage": 0.0,
          "release_speed": 89.31293809090894,
          "release_spin_rate": 2298.363391166723,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.3129,
        "release_spin_rate": 2298.3634,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": -0.0309,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": -0.2205,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1426,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9879,
    "strikeout_factor": 1.0011,
    "walk_factor": 0.988,
    "homer_factor": 0.9625,
    "woba_minus_xwoba": 0.021,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "642547",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "693645",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 691.0,
      "k_percent": 31.4,
      "bb_percent": 6.4,
      "woba": 0.243,
      "xwoba": 0.262,
      "sweet_spot_percent": 32.5,
      "barrel_batted_rate": 7.3,
      "hard_hit_percent": 38.3,
      "avg_best_speed": 77.6999,
      "avg_hyper_speed": 93.7524,
      "whiff_percent": 29.4,
      "swing_percent": 52.0
    },
    "league_medians": {
      "pa": 134.0,
      "k_percent": 22.1,
      "bb_percent": 9.2,
      "woba": 0.315,
      "xwoba": 0.312,
      "sweet_spot_percent": 33.3,
      "barrel_batted_rate": 7.2,
      "hard_hit_percent": 37.9,
      "avg_best_speed": 77.6432,
      "avg_hyper_speed": 93.9005,
      "whiff_percent": 25.2,
      "swing_percent": 47.4
    },
    "components": {
      "contact_quality": 0.8911,
      "command_and_miss": 0.9479,
      "regression_edge": -0.5429,
      "xwoba_edge": 1.4286,
      "barrel_edge": -0.0222,
      "hard_hit_edge": -0.0571,
      "whiff_edge": 0.6,
      "bb_edge": 0.7,
      "pitch_design_score": 0.28
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "693645",
      "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": 95.84565678559713,
        "release_spin_rate": 2515.855995429108,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_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": 95.84565678559713,
          "release_spin_rate": 2515.855995429108,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        }
      ],
      "summary": {
        "release_speed": 95.8457,
        "release_spin_rate": 2515.856,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "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.7136,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9393,
    "strikeout_factor": 1.0771,
    "walk_factor": 0.944,
    "homer_factor": 0.9612,
    "woba_minus_xwoba": -0.019,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "693645",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9955,
    "home_runs_vs_away_pitcher": 0.965,
    "home_pitcher_starter_only_factor": 0.9879,
    "away_pitcher_starter_only_factor": 0.9393,
    "home_pitcher_workload_share": 0.5926,
    "away_pitcher_workload_share": 0.6667,
    "home_pitcher_quality_edge": -0.3912
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 2.0
  },
  "score_after": {
    "away_runs": 3.982,
    "home_runs": 1.93,
    "home_win_probability": 0.3185
  },
  "reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}

Team Form Snapshot

TeamLast-10 W-LWin %R/GRA/GRun DiffStreakOffenseDefense
Away NYY5-50.5004.604.5011Waverageaverage
Home TB5-50.5003.803.2061Laveragestrong

Season Run Differential

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

Recent Head-to-Head

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

Player/Game Reconciliation

LayerABHRHRRBIBBSO
Game target NYY--4----
Game target TB--2----
Player finalized NYY32851438
Player finalized TB34741428
Player model fractional NYY32.507.664.551.384.793.288.36
Player model fractional TB33.277.354.310.924.142.777.66
Simulation box NYY33741446
Simulation box TB31420257

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 NYYStarterCam Schlittler617341.610.85True
Away NYYMiddle Reliever (High Leverage)Paul Blackburn1.1000001.471.20True
Away NYYCloserDavid Bednar110111.761.18True
Away NYYSetup ManBrent Headrick0.2000006.351.93True
Home TBStarterFreddy Peralta5.1044722.751.07True
Home TBCloserBryan Baker101011.460.96True
Home TBMiddle Reliever (High Leverage)Cam Booser101011.960.73True
Home TBSetup ManKevin Kelly100003.941.23True
Home TBMiddle Reliever (High Leverage)Cole Sulser0.2000002.931.17True
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
awayNYYpitcherStarterCam Schlittlerbetter21120predicted_SO3.0000boostbetter
awayNYYpitcherCloserDavid Bednarworse21102predicted_SO-2.0000deboostworse
awayNYYbatter3BRyan McMahonworse1111029predicted_BB1.7540boostbetter
homeTBbatterCLiam Hicksworse102819predicted_SO1.6150boostworse
homeTBbatterDHYandy Díazworse103746predicted_RBI1.3600boostbetter
awayNYYbatterRFSpencer Jonesworse112938predicted_SO-1.2940deboostbetter
awayNYYbatterCAustin Wellsworse104637predicted_AB1.1970boostbetter
homeTBbatter1BJonathan Arandaworse101919predicted_AB-1.1200deboostworse
awayNYYbatterCFTrent Grishamworse102819predicted_AB-1.1000deboostworse
awayNYYbatterDHBen Ricebetter106473predicted_SO-1.0460deboostbetter
awayNYYbatterSSGeorge Lombard Jr.deboosted104655predicted_SO-1.0230deboostbetter
awayNYYpitcherMiddle Reliever (High Leverage)Paul Blackburnworse20202predicted_SO-1.0000deboostworse
awayNYYbatterLFCody Bellingerboosted106455predicted_H0.9400boostbetter
homeTBbatterRFVictor Mesa Jr.worse103728predicted_H-0.9000deboostworse
awayNYYbatter2BJazz Chisholm Jr.worse92718predicted_SO0.8440boostworse
homeTBbatter3BJunior Camineroworse113847predicted_SO-0.7960deboostbetter
homeTBbatterLFChandler Simpsonworse80817predicted_AB-0.6600deboostworse
homeTBbatterCFJonny DeLucaworse105546predicted_AB0.6440boostbetter
homeTBbatter2BRichie Palaciosworse1129110predicted_H-0.6400deboostworse
homeTBbatterSSTaylor Wallsworse103728predicted_BB0.6190boostbetter
awayNYYbatter1BLuis García Jr.worse104637predicted_R0.5300boostbetter
awayNYYpitcherSetup ManBrent Headrickworse10101predicted_IP-0.4667deboostworse
homeTBpitcherMiddle Reliever (High Leverage)Cole Sulserworse10101predicted_IP-0.4667deboostworse
homeTBpitcherStarterFreddy Peraltaworse10101predicted_IP-0.2333deboostworse

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

Away Team: NYY

Away Pitcher Deep Analysis

FieldValue
PitcherCam Schlittler
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7136
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo95.8457
Avg Spin2515.8560
HB Inches0
IVB Inches0
Release Extension0
Pre IP6
Pre ER1
Pre H3
Pre BB4
Pre SO7
Season ERA1.8900
Season WHIP0.9050
Role Avg IP5.8820
Recent Avg IP5.6670
Last Start IP6.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "opponent": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "edges": {
    "quality_edge": 0.0168,
    "offense_edge": 0.0225,
    "opponent_offense_edge": 0.0121,
    "defense_strength": 0.2025,
    "opponent_defense_weakness": -0.1188,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0063,
    "run_prevention": 0.9808,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "693645",
    "profile": {
      "available": true,
      "pitcher_id": "693645",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 691.0,
        "k_percent": 31.4,
        "bb_percent": 6.4,
        "woba": 0.243,
        "xwoba": 0.262,
        "sweet_spot_percent": 32.5,
        "barrel_batted_rate": 7.3,
        "hard_hit_percent": 38.3,
        "avg_best_speed": 77.6999,
        "avg_hyper_speed": 93.7524,
        "whiff_percent": 29.4,
        "swing_percent": 52.0
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.8911,
        "command_and_miss": 0.9479,
        "regression_edge": -0.5429,
        "xwoba_edge": 1.4286,
        "barrel_edge": -0.0222,
        "hard_hit_edge": -0.0571,
        "whiff_edge": 0.6,
        "bb_edge": 0.7,
        "pitch_design_score": 0.28
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "693645",
        "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": 95.84565678559713,
          "release_spin_rate": 2515.855995429108,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_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": 95.84565678559713,
            "release_spin_rate": 2515.855995429108,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 95.8457,
          "release_spin_rate": 2515.856,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "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.7136,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9393,
      "strikeout_factor": 1.0771,
      "walk_factor": 0.944,
      "homer_factor": 0.9612,
      "woba_minus_xwoba": -0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "693645",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9393,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 3.0,
        "factor": 0.9393,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.944,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9612,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 8.0,
        "factor": 1.0771,
        "adjusted": 9
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 60.1,
    "ER": 7,
    "H": 29,
    "BB": 19,
    "SO": 78,
    "HR": 3,
    "ERA": 1.0441988950276242,
    "WHIP": 0.7955801104972375,
    "K9": 11.6353591160221,
    "HR9": 0.4475138121546961,
    "games_pitched": 10,
    "quality_starts": 7,
    "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-29T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "693645",
  "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": 95.84565678559713,
    "release_spin_rate": 2515.855995429108,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 95.84565678559713,
      "release_spin_rate": 2515.855995429108,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 95.8457,
    "release_spin_rate": 2515.856,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "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": 34.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8718,
    "prior_weight": 0.1282
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "693645",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 34,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 28.1,
        "ER": 3.0,
        "R": 6.0,
        "H": 12.0,
        "BB": 8.0,
        "SO": 39.0,
        "HR": 1.0,
        "BF": 106.0,
        "Pitches": 475.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 0.6,
        "R": 1.2,
        "H": 2.4,
        "BB": 1.6,
        "SO": 7.8,
        "HR": 0.2,
        "BF": 21.2,
        "Pitches": 95.0
      },
      "rates": {
        "ERA": 0.9529,
        "WHIP": 0.7059,
        "ER_per_IP": 0.10588,
        "H_per_IP": 0.42353,
        "BB_per_IP": 0.28235,
        "SO_per_IP": 1.37647,
        "HR_per_IP": 0.03529
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 60.1,
        "ER": 7.0,
        "R": 10.0,
        "H": 29.0,
        "BB": 19.0,
        "SO": 78.0,
        "HR": 3.0,
        "BF": 228.0,
        "Pitches": 965.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 0.7,
        "R": 1.0,
        "H": 2.9,
        "BB": 1.9,
        "SO": 7.8,
        "HR": 0.3,
        "BF": 22.8,
        "Pitches": 96.5
      },
      "rates": {
        "ERA": 1.0442,
        "WHIP": 0.7956,
        "ER_per_IP": 0.11602,
        "H_per_IP": 0.48066,
        "BB_per_IP": 0.31492,
        "SO_per_IP": 1.29282,
        "HR_per_IP": 0.04972
      }
    },
    "season": {
      "games": 34,
      "totals": {
        "IP": 200.0,
        "ER": 42.0,
        "R": 52.0,
        "H": 131.0,
        "BB": 50.0,
        "SO": 249.0,
        "HR": 16.0,
        "BF": 783.0,
        "Pitches": 3158.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.2353,
        "R": 1.5294,
        "H": 3.8529,
        "BB": 1.4706,
        "SO": 7.3235,
        "HR": 0.4706,
        "BF": 23.0294,
        "Pitches": 92.8824
      },
      "rates": {
        "ERA": 1.89,
        "WHIP": 0.905,
        "ER_per_IP": 0.21,
        "H_per_IP": 0.655,
        "BB_per_IP": 0.25,
        "SO_per_IP": 1.245,
        "HR_per_IP": 0.08
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.0,
    "predicted_ER": 1.053,
    "predicted_H": 3.247,
    "predicted_BB": 1.756,
    "predicted_SO": 7.462,
    "predicted_HR": 0.363,
    "predicted_ERA": 1.6141,
    "predicted_WHIP": 0.8524
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4042,
  "form_weight": 0.5958,
  "form_reliability": 0.8718,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 34.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8718,
    "prior_weight": 0.1282
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 6.0,
      "final": 6.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.053,
      "final": 1.4357,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 3.247,
      "final": 3.1472,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 4.0,
      "form": 1.756,
      "final": 2.6629,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 7.462,
      "final": 6.0628,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.363,
      "final": 0.2163,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.6141,
      "final": 1.6141,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8524,
      "final": 0.8524,
      "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.1935
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0164
Avg Velo89.5718
Avg Spin2215.9743
HB Inches0
IVB Inches0
Release Extension0
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA1.5283
Season WHIP1.0642
Role Avg IP1.3760
Recent Avg IP1.3330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "opponent": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "edges": {
    "quality_edge": 0.0168,
    "offense_edge": 0.0225,
    "opponent_offense_edge": 0.0121,
    "defense_strength": 0.2025,
    "opponent_defense_weakness": -0.1188,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0063,
    "run_prevention": 0.9808,
    "strikeout": 0.9995
  },
  "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": 319.0,
        "k_percent": 20.5,
        "bb_percent": 9.8,
        "woba": 0.259,
        "xwoba": 0.296,
        "sweet_spot_percent": 27.5,
        "barrel_batted_rate": 5.6,
        "hard_hit_percent": 35.2,
        "avg_best_speed": 75.0557,
        "avg_hyper_speed": 93.4658,
        "whiff_percent": 22.8,
        "swing_percent": 45.7
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.654,
        "command_and_miss": -0.2529,
        "regression_edge": -1.0571,
        "xwoba_edge": 0.4571,
        "barrel_edge": 0.3556,
        "hard_hit_edge": 0.3857,
        "whiff_edge": -0.3429,
        "bb_edge": -0.15,
        "pitch_design_score": -0.0164
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "621112",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 11,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 11,
          "pitch_usage": 0.0,
          "release_speed": 89.57182037962974,
          "release_spin_rate": 2215.974287159611,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 11,
            "pitch_usage": 0.0,
            "release_speed": 89.57182037962974,
            "release_spin_rate": 2215.974287159611,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.5718,
          "release_spin_rate": 2215.9743,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0164,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.1169,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.1935,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9836,
      "strikeout_factor": 0.9771,
      "walk_factor": 1.012,
      "homer_factor": 0.9424,
      "woba_minus_xwoba": -0.037,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "621112",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9836,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9836,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.012,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9424,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9771,
        "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": 8,
    "BB": 6,
    "SO": 5,
    "HR": 1,
    "ERA": 0.8709677419354839,
    "WHIP": 1.3548387096774193,
    "K9": 4.354838709677419,
    "HR9": 0.8709677419354839,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "621112",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 11,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 11,
    "pitch_usage": 0.0,
    "release_speed": 89.57182037962974,
    "release_spin_rate": 2215.974287159611,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 11,
      "pitch_usage": 0.0,
      "release_speed": 89.57182037962974,
      "release_spin_rate": 2215.974287159611,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5718,
    "release_spin_rate": 2215.9743,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0164,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.1169,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.236,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7848,
    "prior_weight": 0.2152
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "621112",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 64,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.2,
        "ER": 0.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 2.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 27.0,
        "Pitches": 102.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.4,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 5.4,
        "Pitches": 20.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.05,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.3,
        "SO_per_IP": 0.45,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 1.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 6.0,
        "SO": 5.0,
        "HR": 1.0,
        "BF": 44.0,
        "Pitches": 165.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.6,
        "SO": 0.5,
        "HR": 0.1,
        "BF": 4.4,
        "Pitches": 16.5
      },
      "rates": {
        "ERA": 0.871,
        "WHIP": 1.3548,
        "ER_per_IP": 0.09677,
        "H_per_IP": 0.77419,
        "BB_per_IP": 0.58065,
        "SO_per_IP": 0.48387,
        "HR_per_IP": 0.09677
      }
    },
    "season": {
      "games": 64,
      "totals": {
        "IP": 88.1,
        "ER": 15.0,
        "R": 19.0,
        "H": 60.0,
        "BB": 34.0,
        "SO": 69.0,
        "HR": 7.0,
        "BF": 347.0,
        "Pitches": 1281.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2344,
        "R": 0.2969,
        "H": 0.9375,
        "BB": 0.5312,
        "SO": 1.0781,
        "HR": 0.1094,
        "BF": 5.4219,
        "Pitches": 20.0156
      },
      "rates": {
        "ERA": 1.5283,
        "WHIP": 1.0642,
        "ER_per_IP": 0.16981,
        "H_per_IP": 0.67925,
        "BB_per_IP": 0.38491,
        "SO_per_IP": 0.78113,
        "HR_per_IP": 0.07925
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.203,
    "predicted_H": 0.988,
    "predicted_BB": 0.506,
    "predicted_SO": 0.764,
    "predicted_HR": 0.088,
    "predicted_ERA": 1.4731,
    "predicted_WHIP": 1.2036
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4409,
  "form_weight": 0.5591,
  "form_reliability": 0.7848,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.236,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7848,
    "prior_weight": 0.2152
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.203,
      "final": 0.1135,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.988,
      "final": 0.5524,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.506,
      "final": 0.2829,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.764,
      "final": 0.8681,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.088,
      "final": 0.0492,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.4731,
      "final": 1.4731,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2036,
      "final": 1.2036,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherDavid Bednar
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.7494
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0250
Avg Velo90.3112
Avg Spin2068.8737
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB1
Pre SO0
Season ERA2.4313
Season WHIP1.0379
Role Avg IP1.0820
Recent Avg IP1.2000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "opponent": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "edges": {
    "quality_edge": 0.0168,
    "offense_edge": 0.0225,
    "opponent_offense_edge": 0.0121,
    "defense_strength": 0.2025,
    "opponent_defense_weakness": -0.1188,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0063,
    "run_prevention": 0.9808,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "670280",
    "profile": {
      "available": true,
      "pitcher_id": "670280",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 266.0,
        "k_percent": 27.1,
        "bb_percent": 7.1,
        "woba": 0.249,
        "xwoba": 0.263,
        "sweet_spot_percent": 26.4,
        "barrel_batted_rate": 4.9,
        "hard_hit_percent": 35.7,
        "avg_best_speed": 76.0652,
        "avg_hyper_speed": 93.296,
        "whiff_percent": 30.8,
        "swing_percent": 53.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0781,
        "command_and_miss": 0.7064,
        "regression_edge": -0.4,
        "xwoba_edge": 1.4,
        "barrel_edge": 0.5111,
        "hard_hit_edge": 0.3143,
        "whiff_edge": 0.8,
        "bb_edge": 0.525,
        "pitch_design_score": 0.025
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "670280",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 22,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 22,
          "pitch_usage": 0.0,
          "release_speed": 90.31118303660337,
          "release_spin_rate": 2068.873677036324,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 22,
            "pitch_usage": 0.0,
            "release_speed": 90.31118303660337,
            "release_spin_rate": 2068.873677036324,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 90.3112,
          "release_spin_rate": 2068.8737,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.025,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.1788,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.7494,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9363,
      "strikeout_factor": 1.0606,
      "walk_factor": 0.958,
      "homer_factor": 0.9045,
      "woba_minus_xwoba": -0.014,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "670280",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9363,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9363,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.958,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9045,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0606,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 11.0,
    "ER": 1,
    "H": 9,
    "BB": 3,
    "SO": 12,
    "HR": 1,
    "ERA": 0.8181818181818182,
    "WHIP": 1.0909090909090908,
    "K9": 9.818181818181818,
    "HR9": 0.8181818181818182,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-30T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "670280",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 22,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 22,
    "pitch_usage": 0.0,
    "release_speed": 90.31118303660337,
    "release_spin_rate": 2068.873677036324,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 22,
      "pitch_usage": 0.0,
      "release_speed": 90.31118303660337,
      "release_spin_rate": 2068.873677036324,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 90.3112,
    "release_spin_rate": 2068.8737,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.025,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1788,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.52,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7439,
    "prior_weight": 0.2561
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670280",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 65,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 0.0,
        "R": 2.0,
        "H": 4.0,
        "BB": 3.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 103.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.4,
        "H": 0.8,
        "BB": 0.6,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 20.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.1667,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.66667,
        "BB_per_IP": 0.5,
        "SO_per_IP": 0.83333,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 1.0,
        "R": 3.0,
        "H": 9.0,
        "BB": 3.0,
        "SO": 12.0,
        "HR": 1.0,
        "BF": 43.0,
        "Pitches": 173.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1,
        "R": 0.3,
        "H": 0.9,
        "BB": 0.3,
        "SO": 1.2,
        "HR": 0.1,
        "BF": 4.3,
        "Pitches": 17.3
      },
      "rates": {
        "ERA": 0.8182,
        "WHIP": 1.0909,
        "ER_per_IP": 0.09091,
        "H_per_IP": 0.81818,
        "BB_per_IP": 0.27273,
        "SO_per_IP": 1.09091,
        "HR_per_IP": 0.09091
      }
    },
    "season": {
      "games": 65,
      "totals": {
        "IP": 70.1,
        "ER": 19.0,
        "R": 25.0,
        "H": 52.0,
        "BB": 21.0,
        "SO": 77.0,
        "HR": 4.0,
        "BF": 284.0,
        "Pitches": 1176.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2923,
        "R": 0.3846,
        "H": 0.8,
        "BB": 0.3231,
        "SO": 1.1846,
        "HR": 0.0615,
        "BF": 4.3692,
        "Pitches": 18.0923
      },
      "rates": {
        "ERA": 2.4313,
        "WHIP": 1.0379,
        "ER_per_IP": 0.27014,
        "H_per_IP": 0.73934,
        "BB_per_IP": 0.29858,
        "SO_per_IP": 1.09479,
        "HR_per_IP": 0.05687
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.217,
    "predicted_H": 0.887,
    "predicted_BB": 0.423,
    "predicted_SO": 1.073,
    "predicted_HR": 0.078,
    "predicted_ERA": 1.7576,
    "predicted_WHIP": 1.1785
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4582,
  "form_weight": 0.5418,
  "form_reliability": 0.7439,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 14.52,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7439,
    "prior_weight": 0.2561
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.217,
      "final": 0.1176,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.887,
      "final": 0.9388,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.423,
      "final": 0.6874,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.073,
      "final": 1.4978,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.078,
      "final": 0.0423,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.7576,
      "final": 1.7576,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1785,
      "final": 1.1785,
      "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.6409
ESPN Rank-
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 SO0
Season ERA2.1646
Season WHIP1.2152
Role Avg IP0.9520
Recent Avg IP0.5330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "opponent": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "edges": {
    "quality_edge": 0.0168,
    "offense_edge": 0.0225,
    "opponent_offense_edge": 0.0121,
    "defense_strength": 0.2025,
    "opponent_defense_weakness": -0.1188,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0063,
    "run_prevention": 0.9808,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "687396",
    "profile": {
      "available": true,
      "pitcher_id": "687396",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 305.0,
        "k_percent": 30.1,
        "bb_percent": 8.3,
        "woba": 0.29,
        "xwoba": 0.271,
        "sweet_spot_percent": 38.8,
        "barrel_batted_rate": 4.5,
        "hard_hit_percent": 37.3,
        "avg_best_speed": 77.0129,
        "avg_hyper_speed": 93.7693,
        "whiff_percent": 31.8,
        "swing_percent": 52.6
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.6346,
        "command_and_miss": 0.8893,
        "regression_edge": 0.5429,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.6,
        "hard_hit_edge": 0.0857,
        "whiff_edge": 0.9429,
        "bb_edge": 0.225,
        "pitch_design_score": 0.0
      },
      "pitch_movement_profile": {
        "available": false,
        "pitcher_id": "687396",
        "reason": "pitcher_movement_profile_has_no_pitches"
      },
      "quality_score": 0.6409,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9455,
      "strikeout_factor": 1.0834,
      "walk_factor": 0.982,
      "homer_factor": 0.9134,
      "woba_minus_xwoba": 0.019,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "687396",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9455,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9455,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.982,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9134,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0834,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 6.2,
    "ER": 4,
    "H": 6,
    "BB": 7,
    "SO": 7,
    "HR": 1,
    "ERA": 5.4,
    "WHIP": 1.9500000000000002,
    "K9": 9.450000000000001,
    "HR9": 1.35,
    "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-10-03T00: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": 16.309,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7654,
    "prior_weight": 0.2346
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687396",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 83,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 2.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 3.0,
        "HR": 1.0,
        "BF": 15.0,
        "Pitches": 59.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.6,
        "BB": 0.8,
        "SO": 0.6,
        "HR": 0.2,
        "BF": 3.0,
        "Pitches": 11.8
      },
      "rates": {
        "ERA": 10.125,
        "WHIP": 2.625,
        "ER_per_IP": 1.125,
        "H_per_IP": 1.125,
        "BB_per_IP": 1.5,
        "SO_per_IP": 1.125,
        "HR_per_IP": 0.375
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 6.2,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 7.0,
        "SO": 7.0,
        "HR": 1.0,
        "BF": 33.0,
        "Pitches": 141.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.6,
        "BB": 0.7,
        "SO": 0.7,
        "HR": 0.1,
        "BF": 3.3,
        "Pitches": 14.1
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.95,
        "ER_per_IP": 0.6,
        "H_per_IP": 0.9,
        "BB_per_IP": 1.05,
        "SO_per_IP": 1.05,
        "HR_per_IP": 0.15
      }
    },
    "season": {
      "games": 83,
      "totals": {
        "IP": 79.0,
        "ER": 19.0,
        "R": 20.0,
        "H": 68.0,
        "BB": 28.0,
        "SO": 98.0,
        "HR": 5.0,
        "BF": 329.0,
        "Pitches": 1297.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2289,
        "R": 0.241,
        "H": 0.8193,
        "BB": 0.3373,
        "SO": 1.1807,
        "HR": 0.0602,
        "BF": 3.9639,
        "Pitches": 15.6265
      },
      "rates": {
        "ERA": 2.1646,
        "WHIP": 1.2152,
        "ER_per_IP": 0.24051,
        "H_per_IP": 0.86076,
        "BB_per_IP": 0.35443,
        "SO_per_IP": 1.24051,
        "HR_per_IP": 0.06329
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.506,
    "predicted_H": 0.711,
    "predicted_BB": 0.676,
    "predicted_SO": 0.774,
    "predicted_HR": 0.153,
    "predicted_ERA": 6.3489,
    "predicted_WHIP": 1.9327
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4491,
  "form_weight": 0.5509,
  "form_reliability": 0.7654,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.309,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7654,
    "prior_weight": 0.2346
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.506,
      "final": 0.2787,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.711,
      "final": 0.3917,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.676,
      "final": 0.3724,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.774,
      "final": 0.4264,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.153,
      "final": 0.0843,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 6.3489,
      "final": 6.3489,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.9327,
      "final": 1.9327,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Spencer Jones (682987) · BATTER · RF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 270
All-history rows before 20261005: 270
System season_avg: 0.2420
Data season_avg (2026 season-to-date): 0.2570
Diff (system - data): -0.0150
System opponent_avg: 0.1430
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.1530.0000.000Hitting_2B0.1810.000-0.1810.000
predicted_3B0.0120.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB3.1654.0004.000Hitting_AB3.2853.0000.7151.000
predicted_AVG0.2420.2500.250Hitting_AVG0.2570.000-0.0070.250
predicted_BB0.2940.0000.000Hitting_BB0.3520.000-0.3520.000
predicted_CS-0.0000.000BaseRunning_CS0.0440.000-0.0440.000
predicted_H0.7651.0001.000Hitting_H0.8440.0000.1561.000
predicted_HR0.1290.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.3060.2500.250Hitting_OBP0.3300.000-0.0800.250
predicted_R0.4590.0001.000Hitting_R0.4740.000-0.4740.000
predicted_RBI0.4710.0001.000Hitting_RBI0.5440.000-0.5440.000
predicted_SLG0.4200.2500.250Hitting_SLG0.4460.000-0.1960.250
predicted_SO1.2940.0001.000Hitting_SO1.3372.000-1.337-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_AB: 3.1650 -> 4.0000 (boost 0.8350, better)
Biggest Deboostpredicted_SO: 1.2940 -> 0.0000 (deboost -1.2940, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend63324predicted_AB: 3.1650 -> 3.2873 (boost 0.1223, better)predicted_SLG: 0.4200 -> 0.3934 (deboost -0.0266, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_AB: 3.2873 -> 4.0000 (boost 0.7127, better)predicted_BB: 0.2813 -> 0.0000 (deboost -0.2813, worse)AB rounded to 4 (raw=3.29), rates preserved: AVG=0.233 HR/AB=0.036
6consistency_constraints11010predicted_R: 0.5117 -> 1.0000 (boost 0.4883, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3289 (boost 0.3289, better)predicted_SO: 2.0000 -> 1.3840 (deboost -0.6160, 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.5111 -> 1.0000 (boost 0.4889, better)predicted_SO: 1.3840 -> 1.0000 (deboost -0.3840, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context44031predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)-Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference30312-predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, better)Attached simulation box score without overwriting model prediction
11current_json_final30303-predicted_SLG: 0.4230 -> 0.3892 (deboost -0.0338, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "682987",
  "player_name": "Spencer Jones",
  "position": "RF",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.153,
        "predicted_3B": 0.012,
        "predicted_AB": 3.165,
        "predicted_AVG": 0.242,
        "predicted_BB": 0.294,
        "predicted_H": 0.765,
        "predicted_HR": 0.129,
        "predicted_OBP": 0.306,
        "predicted_R": 0.459,
        "predicted_RBI": 0.471,
        "predicted_SLG": 0.42,
        "predicted_SO": 1.294
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1399,
        "predicted_3B": 0.0103,
        "predicted_AB": 3.2873,
        "predicted_AVG": 0.2353,
        "predicted_BB": 0.2809,
        "predicted_H": 0.7718,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1184,
        "predicted_OBP": 0.2958,
        "predicted_R": 0.5165,
        "predicted_RBI": 0.4422,
        "predicted_SLG": 0.3934,
        "predicted_SO": 1.3465
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.153,
          "after": 0.1399,
          "delta": -0.0131,
          "percent_delta": -0.0856,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.012,
          "after": 0.0103,
          "delta": -0.0017,
          "percent_delta": -0.1417,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.165,
          "after": 3.2873,
          "delta": 0.1223,
          "percent_delta": 0.0386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.242,
          "after": 0.2353,
          "delta": -0.0067,
          "percent_delta": -0.0277,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.294,
          "after": 0.2809,
          "delta": -0.0131,
          "percent_delta": -0.0446,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.765,
          "after": 0.7718,
          "delta": 0.0068,
          "percent_delta": 0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.129,
          "after": 0.1184,
          "delta": -0.0106,
          "percent_delta": -0.0822,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.2958,
          "delta": -0.0102,
          "percent_delta": -0.0333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.459,
          "after": 0.5165,
          "delta": 0.0575,
          "percent_delta": 0.1253,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.471,
          "after": 0.4422,
          "delta": -0.0288,
          "percent_delta": -0.0611,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.42,
          "after": 0.3934,
          "delta": -0.0266,
          "percent_delta": -0.0633,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.294,
          "after": 1.3465,
          "delta": 0.0525,
          "percent_delta": 0.0406,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.165,
          "after": 3.2873,
          "delta": 0.1223,
          "percent_delta": 0.0386,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.42,
          "after": 0.3934,
          "delta": -0.0266,
          "percent_delta": -0.0633,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1399,
        "predicted_3B": 0.0103,
        "predicted_AB": 3.2873,
        "predicted_AVG": 0.2332,
        "predicted_BB": 0.2813,
        "predicted_H": 0.7667,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1174,
        "predicted_OBP": 0.2937,
        "predicted_R": 0.5117,
        "predicted_RBI": 0.4381,
        "predicted_SLG": 0.3892,
        "predicted_SO": 1.3446
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1399,
          "after": 0.1399,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0103,
          "after": 0.0103,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2873,
          "after": 3.2873,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2353,
          "after": 0.2332,
          "delta": -0.0021,
          "percent_delta": -0.0089,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2809,
          "after": 0.2813,
          "delta": 0.0004,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7718,
          "after": 0.7667,
          "delta": -0.0051,
          "percent_delta": -0.0066,
          "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.1184,
          "after": 0.1174,
          "delta": -0.001,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2958,
          "after": 0.2937,
          "delta": -0.0021,
          "percent_delta": -0.0071,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5165,
          "after": 0.5117,
          "delta": -0.0048,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4422,
          "after": 0.4381,
          "delta": -0.0041,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3934,
          "after": 0.3892,
          "delta": -0.0042,
          "percent_delta": -0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.3465,
          "after": 1.3446,
          "delta": -0.0019,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.29), rates preserved: AVG=0.233 HR/AB=0.036",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1399,
          "after": 0.0,
          "delta": -0.1399,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0103,
          "after": 0.0,
          "delta": -0.0103,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.2873,
          "after": 4.0,
          "delta": 0.7127,
          "percent_delta": 0.2168,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2813,
          "after": 0.0,
          "delta": -0.2813,
          "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.01,
          "after": 0.0,
          "delta": -0.01,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1174,
          "after": 0.0,
          "delta": -0.1174,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4381,
          "after": 1.0,
          "delta": 0.5619,
          "percent_delta": 1.2826,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3446,
          "after": 2.0,
          "delta": 0.6554,
          "percent_delta": 0.4874,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.2873,
          "after": 4.0,
          "delta": 0.7127,
          "percent_delta": 0.2168,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2813,
          "after": 0.0,
          "delta": -0.2813,
          "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.5117,
          "after": 1.0,
          "delta": 0.4883,
          "percent_delta": 0.9543,
          "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.5117,
          "after": 1.0,
          "delta": 0.4883,
          "percent_delta": 0.9543,
          "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.1841,
        "predicted_3B": 0.0127,
        "predicted_BB": 0.3289,
        "predicted_H": 0.9226,
        "predicted_HR": 0.1524,
        "predicted_RBI": 0.5111,
        "predicted_SO": 1.384
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1841,
          "delta": 0.1841,
          "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.3289,
          "delta": 0.3289,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9226,
          "delta": -0.0774,
          "percent_delta": -0.0774,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1524,
          "delta": 0.1524,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5111,
          "delta": -0.4889,
          "percent_delta": -0.4889,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.384,
          "delta": -0.616,
          "percent_delta": -0.308,
          "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.3289,
          "delta": 0.3289,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.384,
          "delta": -0.616,
          "percent_delta": -0.308,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.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.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.3289,
          "after": 0.0,
          "delta": -0.3289,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9226,
          "after": 1.0,
          "delta": 0.0774,
          "percent_delta": 0.0839,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1524,
          "after": 0.0,
          "delta": -0.1524,
          "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.5111,
          "after": 1.0,
          "delta": 0.4889,
          "percent_delta": 0.9566,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.384,
          "after": 1.0,
          "delta": -0.384,
          "percent_delta": -0.2775,
          "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.5111,
          "after": 1.0,
          "delta": 0.4889,
          "percent_delta": 0.9566,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.384,
          "after": 1.0,
          "delta": -0.384,
          "percent_delta": -0.2775,
          "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.245,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.423,
        "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.2332,
          "after": 0.245,
          "delta": 0.0118,
          "percent_delta": 0.0506,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2937,
          "after": 0.311,
          "delta": 0.0173,
          "percent_delta": 0.0589,
          "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.3892,
          "after": 0.423,
          "delta": 0.0338,
          "percent_delta": 0.0868,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "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.2332,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2937,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3892,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.245,
          "after": 0.2332,
          "delta": -0.0118,
          "percent_delta": -0.048,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2937,
          "delta": -0.0173,
          "percent_delta": -0.0557,
          "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.423,
          "after": 0.3892,
          "delta": -0.0338,
          "percent_delta": -0.0799,
          "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.423,
          "after": 0.3892,
          "delta": -0.0338,
          "percent_delta": -0.0799,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.153,
        "after": 0.0,
        "delta": -0.153,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.012,
        "after": 0.0,
        "delta": -0.012,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.165,
        "after": 4.0,
        "delta": 0.835,
        "percent_delta": 0.2638,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.242,
        "after": 0.2332,
        "delta": -0.0088,
        "percent_delta": -0.0364,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.294,
        "after": 0.0,
        "delta": -0.294,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.765,
        "after": 1.0,
        "delta": 0.235,
        "percent_delta": 0.3072,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.129,
        "after": 0.0,
        "delta": -0.129,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.306,
        "after": 0.2937,
        "delta": -0.0123,
        "percent_delta": -0.0402,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.459,
        "after": 0.0,
        "delta": -0.459,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.471,
        "after": 0.0,
        "delta": -0.471,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.42,
        "after": 0.3892,
        "delta": -0.0308,
        "percent_delta": -0.0733,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.294,
        "after": 0.0,
        "delta": -1.294,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.165,
        "after": 4.0,
        "delta": 0.835,
        "percent_delta": 0.2638,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.294,
        "after": 0.0,
        "delta": -1.294,
        "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.153-
predicted_3B0.012-
predicted_AB3.165-
predicted_AVG0.242-
predicted_BB0.294-
predicted_H0.765-
predicted_HR0.129-
predicted_OBP0.306-
predicted_R0.459-
predicted_RBI0.471-
predicted_SLG0.420-
predicted_SO1.294-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.140-0.013
predicted_3B0.010-0.002
predicted_AB3.2870.122
predicted_AVG0.235-0.007
predicted_BB0.281-0.013
predicted_H0.7720.007
predicted_HBP0.010-
predicted_HR0.118-0.011
predicted_OBP0.296-0.010
predicted_R0.5160.057
predicted_RBI0.442-0.029
predicted_SLG0.393-0.027
predicted_SO1.3470.052
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1400.000
predicted_3B0.0100.000
predicted_AB3.2870.000
predicted_AVG0.233-0.002
predicted_BB0.2810.000
predicted_H0.767-0.005
predicted_HBP0.0100.000
predicted_HR0.117-0.001
predicted_OBP0.294-0.002
predicted_R0.512-0.005
predicted_RBI0.438-0.004
predicted_SLG0.389-0.004
predicted_SO1.345-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.29), rates preserved: AVG=0.233 HR/AB=0.036

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1840.184
3B0.0130.013
BB0.3290.329
H0.923-0.077
HR0.1520.152
RBI0.511-0.489
SO1.384-0.616
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.013
AB4.0000.000
BB0.000-0.329
H1.0000.077
HR0.000-0.152
R1.0000.000
RBI1.0000.489
SO1.000-0.384
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.140
predicted_3B0.000-0.010
predicted_AB4.0000.713
predicted_AVG0.2450.012
predicted_BB0.000-0.281
predicted_H1.0000.233
predicted_HR0.000-0.117
predicted_OBP0.3110.017
predicted_R1.0000.488
predicted_RBI1.0000.562
predicted_SLG0.4230.034
predicted_SO2.0000.655
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: 85
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0004.0000.0000.0000.0001.0005.0001.0009.0000.21050.25000.21050.21050.00000.05260.05260.4737
last_100.2010-38.0007.0001.0000.0001.0003.0007.0002.00017.0000.18420.22500.28950.18420.02630.07900.05260.4474
season0.6085-269.00065.00013.0001.00011.00040.00039.00025.000110.0000.24160.30740.42010.24160.04090.14870.09290.4089
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1220
predicted_3B0.0080
predicted_AB3.4540
predicted_AVG0.2261
predicted_BB0.2630
predicted_H0.7810
predicted_HBP0.0100
predicted_HR0.1040
predicted_OBP0.2818
predicted_R0.5950
predicted_RBI0.4030
predicted_SLG0.3571
predicted_SO1.4180
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15300.12200.1399model_form_blend
predicted_3B0.01200.00800.0103model_form_blend
predicted_AB3.16503.45403.2873model_form_blend
predicted_AVG0.24200.22610.2353model_form_blend
predicted_BB0.29400.26300.2809model_form_blend
predicted_H0.76500.78100.7718model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.12900.10400.1184model_form_blend
predicted_OBP0.30600.28180.2958model_form_blend
predicted_R0.45900.59500.5165model_form_blend
predicted_RBI0.47100.40300.4422model_form_blend
predicted_SLG0.42000.35710.3934model_form_blend
predicted_SO1.29401.41801.3465model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date270
Season rows before report date270
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
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_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
gameID20261003_NYY@TB
game_typefull
mlbID682987
playerID682987
playerNameSpencer Jones
posCF
startedTrue
startingPositionRF
teamNYY
teamID19
game_date2026-10-03
sl_k_percent36.3
sl_bb_percent8.7
sl_woba0.323
sl_xwoba0.328
sl_xba0.238
sl_xslg0.455
sl_sweet_spot_percent43.9
sl_barrel_batted_rate15.9
sl_hard_hit_percent55.1
sl_exit_velocity_avg94.1
sl_launch_angle_avg20.6
sl_whiff_percent38.7
sl_swing_percent53.2
Ben Rice (700250) · BATTER · DH · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 635
All-history rows before 20261005: 635
System season_avg: 0.2690
Data season_avg (2026 season-to-date): 0.2704
Diff (system - data): -0.0014
System opponent_avg: 0.3340

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1570.0000.000Hitting_2B0.1590.000-0.1590.000
predicted_3B0.0260.0000.000Hitting_3B0.0240.000-0.0240.000
predicted_AB4.3404.0004.000Hitting_AB3.8313.0000.1691.000
predicted_AVG0.2690.5000.250Hitting_AVG0.2700.0000.2300.500
predicted_BB0.5691.0001.000Hitting_BB0.6031.0000.3970.000
predicted_CS-0.0000.000BaseRunning_CS0.0020.000-0.0020.000
predicted_H1.1702.0001.000Hitting_H1.0360.0000.9642.000
predicted_HR0.2401.0001.000Hitting_HR0.2660.0000.7341.000
predicted_OBP0.3850.6000.400Hitting_OBP0.3750.2500.2250.350
predicted_R0.6991.0001.000Hitting_R0.7180.0000.2821.000
predicted_RBI0.7501.0001.000Hitting_RBI0.6790.0000.3211.000
predicted_SLG0.5371.2501.000Hitting_SLG0.5330.0000.7171.250
predicted_SO1.0460.0001.000Hitting_SO1.0582.000-1.058-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_H: 1.1700 -> 2.0000 (boost 0.8300, better)
Biggest Deboostpredicted_SO: 1.0460 -> 0.0000 (deboost -1.0460, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54132predicted_SO: 1.0460 -> 1.1081 (boost 0.0621, worse)predicted_AB: 4.3400 -> 4.0968 (deboost -0.2432, worse)Final model input calibrated 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.5748 -> 0.5366 (deboost -0.0382, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72534predicted_BB: 0.5777 -> 1.0000 (boost 0.4223, better)predicted_HR: 0.2709 -> 0.0000 (deboost -0.2709, worse)AB rounded to 4 (raw=4.34), rates preserved: AVG=0.266 HR/AB=0.062
6bvp_blend10101-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)
7consistency_constraints11010predicted_R: 0.7055 -> 1.0000 (boost 0.2945, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53241predicted_BB: 0.0000 -> 0.4797 (boost 0.4797, better)predicted_RBI: 1.0000 -> 0.5785 (deboost -0.4215, 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.2645 -> 1.0000 (boost 0.7355, better)predicted_2B: 0.1674 -> 0.0000 (deboost -0.1674, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context50505-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_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
12current_json_final33030predicted_OBP: 0.3470 -> 0.3704 (boost 0.0234, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "700250",
  "player_name": "Ben Rice",
  "position": "DH",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.157,
        "predicted_3B": 0.026,
        "predicted_AB": 4.34,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.569,
        "predicted_H": 1.17,
        "predicted_HR": 0.24,
        "predicted_OBP": 0.385,
        "predicted_R": 0.699,
        "predicted_RBI": 0.75,
        "predicted_SLG": 0.537,
        "predicted_SO": 1.046
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1889,
        "predicted_3B": 0.0216,
        "predicted_AB": 4.0968,
        "predicted_AVG": 0.2843,
        "predicted_BB": 0.5769,
        "predicted_H": 1.1613,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2732,
        "predicted_OBP": 0.3916,
        "predicted_R": 0.7121,
        "predicted_RBI": 0.7592,
        "predicted_SLG": 0.5748,
        "predicted_SO": 1.1081
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.157,
          "after": 0.1889,
          "delta": 0.0319,
          "percent_delta": 0.2032,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.026,
          "after": 0.0216,
          "delta": -0.0044,
          "percent_delta": -0.1692,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.34,
          "after": 4.0968,
          "delta": -0.2432,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2843,
          "delta": 0.0153,
          "percent_delta": 0.0569,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.569,
          "after": 0.5769,
          "delta": 0.0079,
          "percent_delta": 0.0139,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.17,
          "after": 1.1613,
          "delta": -0.0087,
          "percent_delta": -0.0074,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.24,
          "after": 0.2732,
          "delta": 0.0332,
          "percent_delta": 0.1383,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.385,
          "after": 0.3916,
          "delta": 0.0066,
          "percent_delta": 0.0171,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.699,
          "after": 0.7121,
          "delta": 0.0131,
          "percent_delta": 0.0187,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.75,
          "after": 0.7592,
          "delta": 0.0092,
          "percent_delta": 0.0123,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.537,
          "after": 0.5748,
          "delta": 0.0378,
          "percent_delta": 0.0704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.046,
          "after": 1.1081,
          "delta": 0.0621,
          "percent_delta": 0.0594,
          "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.046,
          "after": 1.1081,
          "delta": 0.0621,
          "percent_delta": 0.0594,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.34,
          "after": 4.0968,
          "delta": -0.2432,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 153
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1889,
        "predicted_3B": 0.0216,
        "predicted_AB": 4.0968,
        "predicted_AVG": 0.2816,
        "predicted_BB": 0.5777,
        "predicted_H": 1.1536,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.2709,
        "predicted_OBP": 0.3704,
        "predicted_R": 0.7055,
        "predicted_RBI": 0.7521,
        "predicted_SLG": 0.5366,
        "predicted_SO": 1.1065
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1889,
          "after": 0.1889,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0216,
          "after": 0.0216,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0968,
          "after": 4.0968,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2843,
          "after": 0.2816,
          "delta": -0.0027,
          "percent_delta": -0.0095,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5769,
          "after": 0.5777,
          "delta": 0.0008,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1613,
          "after": 1.1536,
          "delta": -0.0077,
          "percent_delta": -0.0066,
          "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.2732,
          "after": 0.2709,
          "delta": -0.0023,
          "percent_delta": -0.0084,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3916,
          "after": 0.3704,
          "delta": -0.0212,
          "percent_delta": -0.0541,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.7121,
          "after": 0.7055,
          "delta": -0.0066,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7592,
          "after": 0.7521,
          "delta": -0.0071,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5748,
          "after": 0.5366,
          "delta": -0.0382,
          "percent_delta": -0.0665,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1081,
          "after": 1.1065,
          "delta": -0.0016,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.5748,
          "after": 0.5366,
          "delta": -0.0382,
          "percent_delta": -0.0665,
          "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.266 HR/AB=0.062",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1889,
          "after": 0.0,
          "delta": -0.1889,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0216,
          "after": 0.0,
          "delta": -0.0216,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0968,
          "after": 4.0,
          "delta": -0.0968,
          "percent_delta": -0.0236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5777,
          "after": 1.0,
          "delta": 0.4223,
          "percent_delta": 0.731,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1536,
          "after": 1.0,
          "delta": -0.1536,
          "percent_delta": -0.1331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.024,
          "after": 0.0,
          "delta": -0.024,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2709,
          "after": 0.0,
          "delta": -0.2709,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.7521,
          "after": 1.0,
          "delta": 0.2479,
          "percent_delta": 0.3296,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1065,
          "after": 1.0,
          "delta": -0.1065,
          "percent_delta": -0.0962,
          "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.5777,
          "after": 1.0,
          "delta": 0.4223,
          "percent_delta": 0.731,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2709,
          "after": 0.0,
          "delta": -0.2709,
          "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": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.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.7055,
          "after": 1.0,
          "delta": 0.2945,
          "percent_delta": 0.4174,
          "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.7055,
          "after": 1.0,
          "delta": 0.2945,
          "percent_delta": 0.4174,
          "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.1674,
        "predicted_3B": 0.016,
        "predicted_BB": 0.4797,
        "predicted_H": 0.979,
        "predicted_HR": 0.2645,
        "predicted_RBI": 0.5785,
        "predicted_SO": 0.9463
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1674,
          "delta": 0.1674,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.016,
          "delta": 0.016,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4797,
          "delta": 0.4797,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.979,
          "delta": -0.021,
          "percent_delta": -0.021,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2645,
          "delta": 0.2645,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5785,
          "delta": -0.4215,
          "percent_delta": -0.4215,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9463,
          "delta": -0.0537,
          "percent_delta": -0.0537,
          "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.4797,
          "delta": 0.4797,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5785,
          "delta": -0.4215,
          "percent_delta": -0.4215,
          "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.1674,
          "after": 0.0,
          "delta": -0.1674,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.016,
          "after": 0.0,
          "delta": -0.016,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4797,
          "after": 1.0,
          "delta": 0.5203,
          "percent_delta": 1.0846,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.979,
          "after": 1.0,
          "delta": 0.021,
          "percent_delta": 0.0215,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2645,
          "after": 1.0,
          "delta": 0.7355,
          "percent_delta": 2.7807,
          "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.5785,
          "after": 1.0,
          "delta": 0.4215,
          "percent_delta": 0.7286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9463,
          "after": 1.0,
          "delta": 0.0537,
          "percent_delta": 0.0567,
          "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.2645,
          "after": 1.0,
          "delta": 0.7355,
          "percent_delta": 2.7807,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1674,
          "after": 0.0,
          "delta": -0.1674,
          "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.347,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.521,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2816,
          "after": 0.259,
          "delta": -0.0226,
          "percent_delta": -0.0803,
          "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.3704,
          "after": 0.347,
          "delta": -0.0234,
          "percent_delta": -0.0632,
          "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.5366,
          "after": 0.521,
          "delta": -0.0156,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "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": 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.2816,
        "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.3704,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.5366,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2816,
          "delta": 0.0226,
          "percent_delta": 0.0872,
          "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.347,
          "after": 0.3704,
          "delta": 0.0234,
          "percent_delta": 0.0674,
          "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.521,
          "after": 0.5366,
          "delta": 0.0156,
          "percent_delta": 0.03,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.347,
          "after": 0.3704,
          "delta": 0.0234,
          "percent_delta": 0.0674,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.157,
        "after": 0.0,
        "delta": -0.157,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.026,
        "after": 0.0,
        "delta": -0.026,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.34,
        "after": 4.0,
        "delta": -0.34,
        "percent_delta": -0.0783,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2816,
        "delta": 0.0126,
        "percent_delta": 0.0468,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.569,
        "after": 1.0,
        "delta": 0.431,
        "percent_delta": 0.7575,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.17,
        "after": 2.0,
        "delta": 0.83,
        "percent_delta": 0.7094,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.24,
        "after": 1.0,
        "delta": 0.76,
        "percent_delta": 3.1667,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.385,
        "after": 0.3704,
        "delta": -0.0146,
        "percent_delta": -0.0379,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.699,
        "after": 1.0,
        "delta": 0.301,
        "percent_delta": 0.4306,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.75,
        "after": 1.0,
        "delta": 0.25,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.537,
        "after": 0.5366,
        "delta": -0.0004,
        "percent_delta": -0.0007,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.046,
        "after": 0.0,
        "delta": -1.046,
        "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_H",
        "before": 1.17,
        "after": 2.0,
        "delta": 0.83,
        "percent_delta": 0.7094,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.046,
        "after": 0.0,
        "delta": -1.046,
        "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.157-
predicted_3B0.026-
predicted_AB4.340-
predicted_AVG0.269-
predicted_BB0.569-
predicted_H1.170-
predicted_HR0.240-
predicted_OBP0.385-
predicted_R0.699-
predicted_RBI0.750-
predicted_SLG0.537-
predicted_SO1.046-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1890.032
predicted_3B0.022-0.004
predicted_AB4.097-0.243
predicted_AVG0.2840.015
predicted_BB0.5770.008
predicted_H1.161-0.009
predicted_HBP0.024-
predicted_HR0.2730.033
predicted_OBP0.3920.007
predicted_R0.7120.013
predicted_RBI0.7590.009
predicted_SLG0.5750.038
predicted_SO1.1080.062
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1890.000
predicted_3B0.0220.000
predicted_AB4.0970.000
predicted_AVG0.282-0.003
predicted_BB0.5780.001
predicted_H1.154-0.008
predicted_HBP0.0240.000
predicted_HR0.271-0.002
predicted_OBP0.370-0.021
predicted_R0.706-0.007
predicted_RBI0.752-0.007
predicted_SLG0.537-0.038
predicted_SO1.107-0.002
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1670.167
3B0.0160.016
BB0.4800.480
H0.979-0.021
HR0.2650.265
RBI0.579-0.421
SO0.946-0.054
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.016
AB4.0000.000
BB1.0000.520
H1.0000.021
HR1.0000.736
R1.0000.000
RBI1.0000.421
SO1.0000.054
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.189
predicted_3B0.000-0.022
predicted_AB4.000-0.097
predicted_AVG0.259-0.023
predicted_BB0.000-0.578
predicted_H1.000-0.154
predicted_HR0.000-0.271
predicted_OBP0.347-0.023
predicted_R1.0000.294
predicted_RBI1.0000.248
predicted_SLG0.521-0.016
predicted_SO1.000-0.107
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.0000.000
H2.0001.000
HBP0.0000.000
HR1.0000.000
PA5.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO0.000-1.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 153
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-20.0008.0002.0000.0002.0006.0004.0003.0008.0000.40000.47830.80000.40000.10000.30000.15000.4000
last_100.2010-37.00012.0003.0000.0004.0008.0008.0007.00013.0000.32430.43180.72970.32430.10810.21620.18920.3513
season0.60153-572.000154.00024.0004.00042.00099.000107.00087.000160.0000.26920.37030.54550.26920.07340.17310.15210.2797
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2300
predicted_3B0.0160
predicted_AB3.7840
predicted_AVG0.3039
predicted_BB0.5870
predicted_H1.1500
predicted_HBP0.0240
predicted_HR0.3160
predicted_OBP0.4000
predicted_R0.7290
predicted_RBI0.7710
predicted_SLG0.6235
predicted_SO1.1880
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15700.23000.1889model_form_blend
predicted_3B0.02600.01600.0216model_form_blend
predicted_AB4.34003.78404.0968model_form_blend
predicted_AVG0.26900.30390.2843model_form_blend
predicted_BB0.56900.58700.5769model_form_blend
predicted_H1.17001.15001.1613model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.24000.31600.2732model_form_blend
predicted_OBP0.38500.40000.3916model_form_blend
predicted_R0.69900.72900.7121model_form_blend
predicted_RBI0.75000.77100.7592model_form_blend
predicted_SLG0.53700.62350.5748model_form_blend
predicted_SO1.04601.18801.1081model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H2
2B0
3B0
HR1
R1
RBI1
BB1
SO0
SF0
HBP0
season_avg0.0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_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
gameID20261003_NYY@TB
game_typefull
mlbID700250
playerID700250
playerNameBen Rice
posDH
startedTrue
startingPositionDH
teamNYY
teamID19
game_date2026-10-03
sl_k_percent24.3
sl_bb_percent12.7
sl_woba0.384
sl_xwoba0.378
sl_xba0.267
sl_xslg0.511
sl_sweet_spot_percent38.4
sl_barrel_batted_rate14.3
sl_hard_hit_percent48.6
sl_exit_velocity_avg91.9
sl_launch_angle_avg14.5
sl_whiff_percent25.4
sl_swing_percent43.2
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 20261005: 150
All-history rows before 20261005: 150
System season_avg: 0.2790
Data season_avg (2026 season-to-date): 0.2981
Diff (system - data): -0.0191
System opponent_avg: 0.2500
System season_avg diverges from 2026 season-to-date by -0.0191. 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.1740.0001.000Hitting_2B0.1730.000-0.1730.000
predicted_3B0.0340.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1504.0004.000Hitting_AB3.9133.0000.0871.000
predicted_AVG0.2580.2500.250Hitting_AVG0.2980.000-0.0480.250
predicted_BB0.1680.0000.000Hitting_BB0.2330.000-0.2330.000
predicted_CS-0.0000.000BaseRunning_CS0.0270.000-0.0270.000
predicted_H1.0701.0001.000Hitting_H1.1670.000-0.1671.000
predicted_HR0.2300.0000.000Hitting_HR0.2130.000-0.2130.000
predicted_OBP0.2990.2500.250Hitting_OBP0.3350.000-0.0850.250
predicted_R0.4701.0000.000Hitting_R0.5470.0000.4531.000
predicted_RBI0.6001.0001.000Hitting_RBI0.4730.0000.5271.000
predicted_SLG0.4490.2500.500Hitting_SLG0.5060.000-0.2560.250
predicted_SO0.6581.0001.000Hitting_SO0.8000.0000.2001.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_R: 0.4700 -> 1.0000 (boost 0.5300, better)
Biggest Deboostpredicted_HR: 0.2300 -> 0.0000 (deboost -0.2300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_SLG: 0.4490 -> 0.4552 (boost 0.0062, better)predicted_AB: 4.1500 -> 3.8534 (deboost -0.2966, worse)Final model input calibrated 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.4552 -> 0.4720 (boost 0.0168, better)predicted_OBP: 0.3025 -> 0.2937 (deboost -0.0088, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_RBI: 0.5484 -> 1.0000 (boost 0.4516, better)predicted_HR: 0.2079 -> 0.0000 (deboost -0.2079, worse)AB rounded to 4 (raw=4.15), rates preserved: AVG=0.240 HR/AB=0.050
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
7consistency_constraints10101-predicted_R: 0.4726 -> 0.0000 (deboost -0.4726, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53241predicted_2B: 0.0000 -> 0.2257 (boost 0.2257, better)predicted_RBI: 1.0000 -> 0.5976 (deboost -0.4024, 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.2257 -> 1.0000 (boost 0.7743, better)predicted_BB: 0.2107 -> 0.0000 (deboost -0.2107, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.4720 -> 0.5000 (boost 0.0280, 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_reference11010predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.5000 -> 0.4720 (deboost -0.0280, worse)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.174,
        "predicted_3B": 0.034,
        "predicted_AB": 4.15,
        "predicted_AVG": 0.258,
        "predicted_BB": 0.168,
        "predicted_H": 1.07,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.299,
        "predicted_R": 0.47,
        "predicted_RBI": 0.6,
        "predicted_SLG": 0.449,
        "predicted_SO": 0.658
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1444,
        "predicted_3B": 0.0279,
        "predicted_AB": 3.8534,
        "predicted_AVG": 0.2602,
        "predicted_BB": 0.1932,
        "predicted_H": 1.0017,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2096,
        "predicted_OBP": 0.3025,
        "predicted_R": 0.477,
        "predicted_RBI": 0.5535,
        "predicted_SLG": 0.4552,
        "predicted_SO": 0.685
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.1444,
          "delta": -0.0296,
          "percent_delta": -0.1701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.034,
          "after": 0.0279,
          "delta": -0.0061,
          "percent_delta": -0.1794,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.15,
          "after": 3.8534,
          "delta": -0.2966,
          "percent_delta": -0.0715,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.258,
          "after": 0.2602,
          "delta": 0.0022,
          "percent_delta": 0.0085,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.168,
          "after": 0.1932,
          "delta": 0.0252,
          "percent_delta": 0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.07,
          "after": 1.0017,
          "delta": -0.0683,
          "percent_delta": -0.0638,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.23,
          "after": 0.2096,
          "delta": -0.0204,
          "percent_delta": -0.0887,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.299,
          "after": 0.3025,
          "delta": 0.0035,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.47,
          "after": 0.477,
          "delta": 0.007,
          "percent_delta": 0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6,
          "after": 0.5535,
          "delta": -0.0465,
          "percent_delta": -0.0775,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.449,
          "after": 0.4552,
          "delta": 0.0062,
          "percent_delta": 0.0138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.658,
          "after": 0.685,
          "delta": 0.027,
          "percent_delta": 0.041,
          "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.449,
          "after": 0.4552,
          "delta": 0.0062,
          "percent_delta": 0.0138,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.15,
          "after": 3.8534,
          "delta": -0.2966,
          "percent_delta": -0.0715,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 149
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1444,
        "predicted_3B": 0.0279,
        "predicted_AB": 3.8534,
        "predicted_AVG": 0.2582,
        "predicted_BB": 0.1935,
        "predicted_H": 0.9951,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2079,
        "predicted_OBP": 0.2937,
        "predicted_R": 0.4726,
        "predicted_RBI": 0.5484,
        "predicted_SLG": 0.472,
        "predicted_SO": 0.684
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1444,
          "after": 0.1444,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0279,
          "after": 0.0279,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8534,
          "after": 3.8534,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2602,
          "after": 0.2582,
          "delta": -0.002,
          "percent_delta": -0.0077,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1932,
          "after": 0.1935,
          "delta": 0.0003,
          "percent_delta": 0.0016,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0017,
          "after": 0.9951,
          "delta": -0.0066,
          "percent_delta": -0.0066,
          "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.2096,
          "after": 0.2079,
          "delta": -0.0017,
          "percent_delta": -0.0081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3025,
          "after": 0.2937,
          "delta": -0.0088,
          "percent_delta": -0.0291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.477,
          "after": 0.4726,
          "delta": -0.0044,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5535,
          "after": 0.5484,
          "delta": -0.0051,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4552,
          "after": 0.472,
          "delta": 0.0168,
          "percent_delta": 0.0369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.685,
          "after": 0.684,
          "delta": -0.001,
          "percent_delta": -0.0015,
          "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.4552,
          "after": 0.472,
          "delta": 0.0168,
          "percent_delta": 0.0369,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3025,
          "after": 0.2937,
          "delta": -0.0088,
          "percent_delta": -0.0291,
          "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.15), rates preserved: AVG=0.240 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.1444,
          "after": 0.0,
          "delta": -0.1444,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0279,
          "after": 0.0,
          "delta": -0.0279,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8534,
          "after": 4.0,
          "delta": 0.1466,
          "percent_delta": 0.038,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1935,
          "after": 0.0,
          "delta": -0.1935,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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_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.2079,
          "after": 0.0,
          "delta": -0.2079,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5484,
          "after": 1.0,
          "delta": 0.4516,
          "percent_delta": 0.8235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.684,
          "after": 1.0,
          "delta": 0.316,
          "percent_delta": 0.462,
          "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.5484,
          "after": 1.0,
          "delta": 0.4516,
          "percent_delta": 0.8235,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2079,
          "after": 0.0,
          "delta": -0.2079,
          "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.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": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8857,
        "bvp": 0.1143
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4726,
          "after": 0.0,
          "delta": -0.4726,
          "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.4726,
          "after": 0.0,
          "delta": -0.4726,
          "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.2257,
        "predicted_3B": 0.0194,
        "predicted_BB": 0.2107,
        "predicted_H": 1.049,
        "predicted_HR": 0.2069,
        "predicted_RBI": 0.5976,
        "predicted_SO": 0.7598
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2257,
          "delta": 0.2257,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0194,
          "delta": 0.0194,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2107,
          "delta": 0.2107,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.049,
          "delta": 0.049,
          "percent_delta": 0.049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2069,
          "delta": 0.2069,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5976,
          "delta": -0.4024,
          "percent_delta": -0.4024,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7598,
          "delta": -0.2402,
          "percent_delta": -0.2402,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2257,
          "delta": 0.2257,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5976,
          "delta": -0.4024,
          "percent_delta": -0.4024,
          "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.2257,
          "after": 1.0,
          "delta": 0.7743,
          "percent_delta": 3.4307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0194,
          "after": 0.0,
          "delta": -0.0194,
          "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.2107,
          "after": 0.0,
          "delta": -0.2107,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.049,
          "after": 1.0,
          "delta": -0.049,
          "percent_delta": -0.0467,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.2069,
          "after": 0.0,
          "delta": -0.2069,
          "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.5976,
          "after": 1.0,
          "delta": 0.4024,
          "percent_delta": 0.6734,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7598,
          "after": 1.0,
          "delta": 0.2402,
          "percent_delta": 0.3161,
          "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.2257,
          "after": 1.0,
          "delta": 0.7743,
          "percent_delta": 3.4307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2107,
          "after": 0.0,
          "delta": -0.2107,
          "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.271,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.314,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.5,
        "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.2582,
          "after": 0.271,
          "delta": 0.0128,
          "percent_delta": 0.0496,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2937,
          "after": 0.314,
          "delta": 0.0203,
          "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": 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.472,
          "after": 0.5,
          "delta": 0.028,
          "percent_delta": 0.0593,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.472,
          "after": 0.5,
          "delta": 0.028,
          "percent_delta": 0.0593,
          "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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2582,
        "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.2937,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.472,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2582,
          "delta": -0.0128,
          "percent_delta": -0.0471,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2937,
          "delta": -0.0203,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5,
          "after": 0.472,
          "delta": -0.028,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.5,
          "after": 0.472,
          "delta": -0.028,
          "percent_delta": -0.056,
          "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.174,
        "after": 0.0,
        "delta": -0.174,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.034,
        "after": 0.0,
        "delta": -0.034,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.15,
        "after": 4.0,
        "delta": -0.15,
        "percent_delta": -0.0361,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.258,
        "after": 0.2582,
        "delta": 0.0002,
        "percent_delta": 0.0008,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.168,
        "after": 0.0,
        "delta": -0.168,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.07,
        "after": 1.0,
        "delta": -0.07,
        "percent_delta": -0.0654,
        "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.299,
        "after": 0.2937,
        "delta": -0.0053,
        "percent_delta": -0.0177,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.47,
        "after": 1.0,
        "delta": 0.53,
        "percent_delta": 1.1277,
        "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.449,
        "after": 0.472,
        "delta": 0.023,
        "percent_delta": 0.0512,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.658,
        "after": 1.0,
        "delta": 0.342,
        "percent_delta": 0.5198,
        "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_R",
        "before": 0.47,
        "after": 1.0,
        "delta": 0.53,
        "percent_delta": 1.1277,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_HR",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.174-
predicted_3B0.034-
predicted_AB4.150-
predicted_AVG0.258-
predicted_BB0.168-
predicted_H1.070-
predicted_HR0.230-
predicted_OBP0.299-
predicted_R0.470-
predicted_RBI0.600-
predicted_SLG0.449-
predicted_SO0.658-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.144-0.030
predicted_3B0.028-0.006
predicted_AB3.853-0.297
predicted_AVG0.2600.002
predicted_BB0.1930.025
predicted_H1.002-0.068
predicted_HBP0.002-
predicted_HR0.210-0.020
predicted_OBP0.3020.004
predicted_R0.4770.007
predicted_RBI0.553-0.046
predicted_SLG0.4550.006
predicted_SO0.6850.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.1440.000
predicted_3B0.0280.000
predicted_AB3.8530.000
predicted_AVG0.258-0.002
predicted_BB0.1940.000
predicted_H0.995-0.007
predicted_HBP0.0020.000
predicted_HR0.208-0.002
predicted_OBP0.294-0.009
predicted_R0.473-0.004
predicted_RBI0.548-0.005
predicted_SLG0.4720.017
predicted_SO0.684-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.15), rates preserved: AVG=0.240 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=12.0, weight=0.114, 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
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.2260.226
3B0.0190.019
BB0.2110.211
H1.0490.049
HR0.2070.207
RBI0.598-0.402
SO0.760-0.240
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.774
3B0.000-0.019
AB4.0000.000
BB0.000-0.211
H1.000-0.049
HR0.000-0.207
R0.0000.000
RBI1.0000.402
SO1.0000.240
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.144
predicted_3B0.000-0.028
predicted_AB4.0000.147
predicted_AVG0.2710.013
predicted_BB0.000-0.194
predicted_H1.0000.005
predicted_HR0.000-0.208
predicted_OBP0.3140.020
predicted_R0.000-0.473
predicted_RBI1.0000.452
predicted_SLG0.5000.028
predicted_SO1.0000.316
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
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: 149
Reference playing time: 4.150
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0005.0000.0000.0001.0002.0003.0002.0003.0000.31250.38890.50000.31250.06250.12500.12500.1875
last_100.2010-35.0006.0000.0000.0001.0002.0004.0002.00010.0000.17140.21620.25710.17140.02860.05710.05710.2857
season0.60149-524.000146.00026.0005.00031.00093.00070.00025.00098.0000.27860.31030.52480.27860.05920.17750.04770.1870
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1060
predicted_3B0.0200
predicted_AB3.4680
predicted_AVG0.2631
predicted_BB0.2260
predicted_H0.9130
predicted_HBP0.0020
predicted_HR0.1830
predicted_OBP0.3071
predicted_R0.4860
predicted_RBI0.4930
predicted_SLG0.4633
predicted_SO0.7200
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17400.10600.1444model_form_blend
predicted_3B0.03400.02000.0279model_form_blend
predicted_AB4.15003.46803.8534model_form_blend
predicted_AVG0.25800.26310.2602model_form_blend
predicted_BB0.16800.22600.1932model_form_blend
predicted_H1.07000.91301.0017model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.23000.18300.2096model_form_blend
predicted_OBP0.29900.30710.3025model_form_blend
predicted_R0.47000.48600.4770model_form_blend
predicted_RBI0.60000.49300.5535model_form_blend
predicted_SLG0.44900.46330.4552model_form_blend
predicted_SO0.65800.72000.6850model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_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_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
gameID20261003_NYY@TB
game_typefull
mlbID671277
playerID671277
playerNameLuis García Jr.
pos1B
startedTrue
startingPosition1B
teamNYY
teamID19
game_date2026-10-03
sl_k_percent17.9
sl_bb_percent4.6
sl_woba0.355
sl_xwoba0.341
sl_xba0.276
sl_xslg0.486
sl_sweet_spot_percent33.0
sl_barrel_batted_rate12.2
sl_hard_hit_percent46.1
sl_exit_velocity_avg91.4
sl_launch_angle_avg11.5
sl_whiff_percent20.8
sl_swing_percent52.6
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 20261005: 141
All-history rows before 20261005: 141
System season_avg: 0.2500
Data season_avg (2026 season-to-date): 0.2281
Diff (system - data): 0.0219
System opponent_avg: 0.2630
System season_avg diverges from 2026 season-to-date by 0.0219. 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.0920.000-0.0920.000
predicted_3B0.0230.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.0003.0004.000Hitting_AB3.6383.000-0.6380.000
predicted_AVG0.2500.0000.250Hitting_AVG0.2280.000-0.2280.000
predicted_BB0.2270.0000.000Hitting_BB0.2480.000-0.2480.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H1.0000.0001.000Hitting_H0.8300.000-0.8300.000
predicted_HR0.1800.0000.000Hitting_HR0.1060.000-0.1060.000
predicted_OBP0.2850.0000.250Hitting_OBP0.2790.000-0.2790.000
predicted_R0.5911.0001.000Hitting_R0.5740.0000.4261.000
predicted_RBI0.5701.0000.000Hitting_RBI0.3970.0000.6031.000
predicted_SLG0.4200.0000.250Hitting_SLG0.3570.000-0.3570.000
predicted_SO1.0230.0001.000Hitting_SO1.0351.000-1.035-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_RBI: 0.5700 -> 1.0000 (boost 0.4300, better)
Biggest Deboostpredicted_SO: 1.0230 -> 0.0000 (deboost -1.0230, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.4200 -> 0.4346 (boost 0.0146, better)predicted_AB: 4.0000 -> 3.8918 (deboost -0.1082, worse)Final model input calibrated 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_scaling52323predicted_RBI: 0.5805 -> 1.0000 (boost 0.4195, better)predicted_BB: 0.1992 -> 0.0000 (deboost -0.1992, worse)AB rounded to 4 (raw=4.00), rates preserved: AVG=0.248 HR/AB=0.045
6consistency_constraints11010predicted_R: 0.6149 -> 1.0000 (boost 0.3851, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.2520 (boost 0.2520, better)predicted_RBI: 1.0000 -> 0.5049 (deboost -0.4951, 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.9353 -> 1.0000 (boost 0.0647, better)predicted_RBI: 0.5049 -> 0.0000 (deboost -0.5049, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context42222predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_SLG: 0.4305 -> 0.4190 (deboost -0.0115, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference41312predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final32121predicted_SLG: 0.4190 -> 0.4305 (boost 0.0115, better)predicted_OBP: 0.3010 -> 0.2910 (deboost -0.0100, 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.091,
        "predicted_3B": 0.023,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.227,
        "predicted_H": 1.0,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.285,
        "predicted_R": 0.591,
        "predicted_RBI": 0.57,
        "predicted_SLG": 0.42,
        "predicted_SO": 1.023
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.104,
        "predicted_3B": 0.0193,
        "predicted_AB": 3.8918,
        "predicted_AVG": 0.2567,
        "predicted_BB": 0.1989,
        "predicted_H": 0.998,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.182,
        "predicted_OBP": 0.2902,
        "predicted_R": 0.6207,
        "predicted_RBI": 0.5859,
        "predicted_SLG": 0.4346,
        "predicted_SO": 1.0234
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.091,
          "after": 0.104,
          "delta": 0.013,
          "percent_delta": 0.1429,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0193,
          "delta": -0.0037,
          "percent_delta": -0.1609,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.8918,
          "delta": -0.1082,
          "percent_delta": -0.0271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2567,
          "delta": 0.0067,
          "percent_delta": 0.0268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.227,
          "after": 0.1989,
          "delta": -0.0281,
          "percent_delta": -0.1238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.998,
          "delta": -0.002,
          "percent_delta": -0.002,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.182,
          "delta": 0.002,
          "percent_delta": 0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.285,
          "after": 0.2902,
          "delta": 0.0052,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.591,
          "after": 0.6207,
          "delta": 0.0297,
          "percent_delta": 0.0503,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.57,
          "after": 0.5859,
          "delta": 0.0159,
          "percent_delta": 0.0279,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.42,
          "after": 0.4346,
          "delta": 0.0146,
          "percent_delta": 0.0348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.023,
          "after": 1.0234,
          "delta": 0.0004,
          "percent_delta": 0.0004,
          "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.42,
          "after": 0.4346,
          "delta": 0.0146,
          "percent_delta": 0.0348,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.8918,
          "delta": -0.1082,
          "percent_delta": -0.0271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.104,
        "predicted_3B": 0.0193,
        "predicted_AB": 3.8918,
        "predicted_AVG": 0.2547,
        "predicted_BB": 0.1992,
        "predicted_H": 0.9914,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.1805,
        "predicted_OBP": 0.291,
        "predicted_R": 0.6149,
        "predicted_RBI": 0.5805,
        "predicted_SLG": 0.4305,
        "predicted_SO": 1.022
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.104,
          "after": 0.104,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0193,
          "after": 0.0193,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.8918,
          "after": 3.8918,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2567,
          "after": 0.2547,
          "delta": -0.002,
          "percent_delta": -0.0078,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.1989,
          "after": 0.1992,
          "delta": 0.0003,
          "percent_delta": 0.0015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.998,
          "after": 0.9914,
          "delta": -0.0066,
          "percent_delta": -0.0066,
          "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.182,
          "after": 0.1805,
          "delta": -0.0015,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2902,
          "after": 0.291,
          "delta": 0.0008,
          "percent_delta": 0.0028,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6207,
          "after": 0.6149,
          "delta": -0.0058,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5859,
          "after": 0.5805,
          "delta": -0.0054,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4346,
          "after": 0.4305,
          "delta": -0.0041,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0234,
          "after": 1.022,
          "delta": -0.0014,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.00), rates preserved: AVG=0.248 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.104,
          "after": 0.0,
          "delta": -0.104,
          "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.8918,
          "after": 4.0,
          "delta": 0.1082,
          "percent_delta": 0.0278,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1992,
          "after": 0.0,
          "delta": -0.1992,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9914,
          "after": 1.0,
          "delta": 0.0086,
          "percent_delta": 0.0087,
          "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.1805,
          "after": 0.0,
          "delta": -0.1805,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5805,
          "after": 1.0,
          "delta": 0.4195,
          "percent_delta": 0.7227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.022,
          "after": 1.0,
          "delta": -0.022,
          "percent_delta": -0.0215,
          "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_RBI",
          "before": 0.5805,
          "after": 1.0,
          "delta": 0.4195,
          "percent_delta": 0.7227,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.1992,
          "after": 0.0,
          "delta": -0.1992,
          "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.6149,
          "after": 1.0,
          "delta": 0.3851,
          "percent_delta": 0.6263,
          "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.6149,
          "after": 1.0,
          "delta": 0.3851,
          "percent_delta": 0.6263,
          "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.1606,
        "predicted_3B": 0.0138,
        "predicted_BB": 0.252,
        "predicted_H": 0.9353,
        "predicted_HR": 0.1517,
        "predicted_RBI": 0.5049,
        "predicted_SO": 1.0275
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1606,
          "delta": 0.1606,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0138,
          "delta": 0.0138,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.252,
          "delta": 0.252,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9353,
          "delta": -0.0647,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1517,
          "delta": 0.1517,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5049,
          "delta": -0.4951,
          "percent_delta": -0.4951,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0275,
          "delta": 0.0275,
          "percent_delta": 0.0275,
          "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.252,
          "delta": 0.252,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5049,
          "delta": -0.4951,
          "percent_delta": -0.4951,
          "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.1606,
          "after": 0.0,
          "delta": -0.1606,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0138,
          "after": 0.0,
          "delta": -0.0138,
          "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.252,
          "after": 0.0,
          "delta": -0.252,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9353,
          "after": 1.0,
          "delta": 0.0647,
          "percent_delta": 0.0692,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1517,
          "after": 0.0,
          "delta": -0.1517,
          "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.5049,
          "after": 0.0,
          "delta": -0.5049,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0275,
          "after": 1.0,
          "delta": -0.0275,
          "percent_delta": -0.0268,
          "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.9353,
          "after": 1.0,
          "delta": 0.0647,
          "percent_delta": 0.0692,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5049,
          "after": 0.0,
          "delta": -0.5049,
          "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.248,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.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.2547,
          "after": 0.248,
          "delta": -0.0067,
          "percent_delta": -0.0263,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.291,
          "after": 0.301,
          "delta": 0.01,
          "percent_delta": 0.0344,
          "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_SLG",
          "before": 0.4305,
          "after": 0.419,
          "delta": -0.0115,
          "percent_delta": -0.0267,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "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_SLG",
          "before": 0.4305,
          "after": 0.419,
          "delta": -0.0115,
          "percent_delta": -0.0267,
          "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": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "higher",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 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.2547,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.291,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 1.0,
        "predicted_SLG": 0.4305,
        "predicted_SO": 0.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.2547,
          "delta": 0.0067,
          "percent_delta": 0.0272,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.291,
          "delta": -0.01,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.4305,
          "delta": 0.0115,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.4305,
          "delta": 0.0115,
          "percent_delta": 0.0275,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.291,
          "delta": -0.01,
          "percent_delta": -0.0331,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.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": 4.0,
        "after": 3.0,
        "delta": -1.0,
        "percent_delta": -0.25,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.2547,
        "delta": 0.0047,
        "percent_delta": 0.0188,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.227,
        "after": 0.0,
        "delta": -0.227,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "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.285,
        "after": 0.291,
        "delta": 0.006,
        "percent_delta": 0.0211,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.591,
        "after": 1.0,
        "delta": 0.409,
        "percent_delta": 0.692,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 1.0,
        "delta": 0.43,
        "percent_delta": 0.7544,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.42,
        "after": 0.4305,
        "delta": 0.0105,
        "percent_delta": 0.025,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.023,
        "after": 0.0,
        "delta": -1.023,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 1.0,
        "delta": 0.43,
        "percent_delta": 0.7544,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 1.023,
        "after": 0.0,
        "delta": -1.023,
        "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.091-
predicted_3B0.023-
predicted_AB4.000-
predicted_AVG0.250-
predicted_BB0.227-
predicted_H1.000-
predicted_HR0.180-
predicted_OBP0.285-
predicted_R0.591-
predicted_RBI0.570-
predicted_SLG0.420-
predicted_SO1.023-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1040.013
predicted_3B0.019-0.004
predicted_AB3.892-0.108
predicted_AVG0.2570.007
predicted_BB0.199-0.028
predicted_H0.998-0.002
predicted_HBP0.017-
predicted_HR0.1820.002
predicted_OBP0.2900.005
predicted_R0.6210.030
predicted_RBI0.5860.016
predicted_SLG0.4350.015
predicted_SO1.0230.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.1040.000
predicted_3B0.0190.000
predicted_AB3.8920.000
predicted_AVG0.255-0.002
predicted_BB0.1990.000
predicted_H0.991-0.007
predicted_HBP0.0170.000
predicted_HR0.180-0.002
predicted_OBP0.2910.001
predicted_R0.615-0.006
predicted_RBI0.581-0.005
predicted_SLG0.430-0.004
predicted_SO1.022-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.00), rates preserved: AVG=0.248 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
R1.000-
RBI1.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. hitter_rate_engine

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

MetricValueDelta vs Prev Step
2B0.1610.161
3B0.0140.014
BB0.2520.252
H0.935-0.065
HR0.1520.152
RBI0.505-0.495
SO1.0280.028
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.161
3B0.000-0.014
AB4.0000.000
BB0.000-0.252
H1.0000.065
HR0.000-0.152
R1.0000.000
RBI0.000-0.505
SO1.000-0.028
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.019
predicted_AB4.0000.108
predicted_AVG0.248-0.007
predicted_BB0.000-0.199
predicted_H1.0000.009
predicted_HR0.000-0.180
predicted_OBP0.3010.010
predicted_R1.0000.385
predicted_RBI1.0000.419
predicted_SLG0.419-0.012
predicted_SO1.000-0.022
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 44
Reference playing time: 4.000
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0006.0001.0000.0001.0004.0005.0000.0005.0000.31580.31580.52630.31580.05260.21050.00000.2632
last_100.2010-39.00011.0001.0000.0003.0008.0007.0000.00012.0000.28210.28210.53850.28210.07690.20510.00000.3077
season0.6044-160.00040.0004.0001.0007.00023.00026.00010.00045.0000.25000.29480.41880.25000.04370.14370.06250.2812
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1230
predicted_3B0.0140
predicted_AB3.7340
predicted_AVG0.2664
predicted_BB0.1580
predicted_H0.9950
predicted_HBP0.0170
predicted_HR0.1850
predicted_OBP0.2978
predicted_R0.6640
predicted_RBI0.6090
predicted_SLG0.4558
predicted_SO1.0240
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09100.12300.1040model_form_blend
predicted_3B0.02300.01400.0193model_form_blend
predicted_AB4.00003.73403.8918model_form_blend
predicted_AVG0.25000.26640.2567model_form_blend
predicted_BB0.22700.15800.1989model_form_blend
predicted_H1.00000.99500.9980model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.18000.18500.1820model_form_blend
predicted_OBP0.28500.29780.2902model_form_blend
predicted_R0.59100.66400.6207model_form_blend
predicted_RBI0.57000.60900.5859model_form_blend
predicted_SLG0.42000.45580.4346model_form_blend
predicted_SO1.02301.02401.0234model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20261003_NYY@TB
game_typefull
mlbID806146
playerID806146
playerNameGeorge Lombard Jr.
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-10-03
sl_k_percent26.5
sl_bb_percent6.0
sl_woba0.303
sl_xwoba0.298
sl_xba0.24
sl_xslg0.388
sl_sweet_spot_percent33.3
sl_barrel_batted_rate8.2
sl_hard_hit_percent35.1
sl_exit_velocity_avg87.1
sl_launch_angle_avg8.5
sl_whiff_percent25.6
sl_swing_percent46.8
Cody Bellinger (641355) · BATTER · LF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 538
All-history rows before 20261005: 538
System season_avg: 0.2650
Data season_avg (2026 season-to-date): 0.2761
Diff (system - data): -0.0111
System opponent_avg: 0.4290

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1890.0001.000Hitting_2B0.2060.000-0.2060.000
predicted_3B0.0230.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB4.9305.0004.000Hitting_AB3.7904.0001.2101.000
predicted_AVG0.2160.4000.250Hitting_AVG0.2760.0000.1240.400
predicted_BB0.4390.0001.000Hitting_BB0.4810.000-0.4810.000
predicted_CS-0.0000.000BaseRunning_CS0.0460.000-0.0460.000
predicted_H1.0602.0001.000Hitting_H1.0460.0000.9542.000
predicted_HR0.1800.0000.000Hitting_HR0.1300.000-0.1300.000
predicted_OBP0.2660.4000.400Hitting_OBP0.3530.0000.0470.400
predicted_R0.5611.0001.000Hitting_R0.5990.0000.4011.000
predicted_RBI0.7501.0001.000Hitting_RBI0.5950.0000.4051.000
predicted_SLG0.3940.4000.500Hitting_SLG0.4470.000-0.0470.400
predicted_SO0.6521.0000.000Hitting_SO0.6232.0000.377-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_H: 1.0600 -> 2.0000 (boost 0.9400, better)
Biggest Deboostpredicted_BB: 0.4390 -> 0.0000 (deboost -0.4390, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61506predicted_SO: 0.6520 -> 0.7034 (boost 0.0514, worse)predicted_AB: 4.9300 -> 4.4913 (deboost -0.4387, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_OBP: 0.2660 -> 0.2754 (boost 0.0094, better)predicted_SLG: 0.3871 -> 0.3720 (deboost -0.0151, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_RBI: 0.6874 -> 1.0000 (boost 0.3126, better)predicted_AB: 4.4913 -> 4.0000 (deboost -0.4913, worse)AB rounded to 4 (raw=4.93), rates preserved: AVG=0.196 HR/AB=0.034
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)
7consistency_constraints11010predicted_R: 0.5066 -> 1.0000 (boost 0.4934, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53241predicted_BB: 0.0000 -> 0.4064 (boost 0.4064, better)predicted_RBI: 1.0000 -> 0.5690 (deboost -0.4310, 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_allocation53241predicted_2B: 0.2015 -> 1.0000 (boost 0.7985, better)predicted_SO: 0.7038 -> 0.0000 (deboost -0.7038, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_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
11simulation_box_score_reference22020predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)-Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.4410 -> 0.3720 (deboost -0.0690, 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.189,
        "predicted_3B": 0.023,
        "predicted_AB": 4.93,
        "predicted_AVG": 0.216,
        "predicted_BB": 0.439,
        "predicted_H": 1.06,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.266,
        "predicted_R": 0.561,
        "predicted_RBI": 0.75,
        "predicted_SLG": 0.394,
        "predicted_SO": 0.652
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1594,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.4913,
        "predicted_AVG": 0.2169,
        "predicted_BB": 0.375,
        "predicted_H": 0.9712,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1709,
        "predicted_OBP": 0.266,
        "predicted_R": 0.5114,
        "predicted_RBI": 0.6939,
        "predicted_SLG": 0.3871,
        "predicted_SO": 0.7034
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.189,
          "after": 0.1594,
          "delta": -0.0296,
          "percent_delta": -0.1566,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.023,
          "after": 0.0191,
          "delta": -0.0039,
          "percent_delta": -0.1696,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.93,
          "after": 4.4913,
          "delta": -0.4387,
          "percent_delta": -0.089,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.216,
          "after": 0.2169,
          "delta": 0.0009,
          "percent_delta": 0.0042,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.439,
          "after": 0.375,
          "delta": -0.064,
          "percent_delta": -0.1458,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.06,
          "after": 0.9712,
          "delta": -0.0888,
          "percent_delta": -0.0838,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1709,
          "delta": -0.0091,
          "percent_delta": -0.0506,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.266,
          "after": 0.266,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.561,
          "after": 0.5114,
          "delta": -0.0496,
          "percent_delta": -0.0884,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.75,
          "after": 0.6939,
          "delta": -0.0561,
          "percent_delta": -0.0748,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.394,
          "after": 0.3871,
          "delta": -0.0069,
          "percent_delta": -0.0175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.652,
          "after": 0.7034,
          "delta": 0.0514,
          "percent_delta": 0.0788,
          "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.652,
          "after": 0.7034,
          "delta": 0.0514,
          "percent_delta": 0.0788,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.93,
          "after": 4.4913,
          "delta": -0.4387,
          "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": 132
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1594,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.4913,
        "predicted_AVG": 0.2148,
        "predicted_BB": 0.3755,
        "predicted_H": 0.9648,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1695,
        "predicted_OBP": 0.2754,
        "predicted_R": 0.5066,
        "predicted_RBI": 0.6874,
        "predicted_SLG": 0.372,
        "predicted_SO": 0.7024
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1594,
          "after": 0.1594,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0191,
          "after": 0.0191,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4913,
          "after": 4.4913,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2169,
          "after": 0.2148,
          "delta": -0.0021,
          "percent_delta": -0.0097,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.375,
          "after": 0.3755,
          "delta": 0.0005,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9712,
          "after": 0.9648,
          "delta": -0.0064,
          "percent_delta": -0.0066,
          "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.1709,
          "after": 0.1695,
          "delta": -0.0014,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.266,
          "after": 0.2754,
          "delta": 0.0094,
          "percent_delta": 0.0353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5114,
          "after": 0.5066,
          "delta": -0.0048,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6939,
          "after": 0.6874,
          "delta": -0.0065,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3871,
          "after": 0.372,
          "delta": -0.0151,
          "percent_delta": -0.039,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7034,
          "after": 0.7024,
          "delta": -0.001,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.266,
          "after": 0.2754,
          "delta": 0.0094,
          "percent_delta": 0.0353,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3871,
          "after": 0.372,
          "delta": -0.0151,
          "percent_delta": -0.039,
          "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.196 HR/AB=0.034",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1594,
          "after": 0.0,
          "delta": -0.1594,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0191,
          "after": 0.0,
          "delta": -0.0191,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.4913,
          "after": 4.0,
          "delta": -0.4913,
          "percent_delta": -0.1094,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3755,
          "after": 0.0,
          "delta": -0.3755,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9648,
          "after": 1.0,
          "delta": 0.0352,
          "percent_delta": 0.0365,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1695,
          "after": 0.0,
          "delta": -0.1695,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6874,
          "after": 1.0,
          "delta": 0.3126,
          "percent_delta": 0.4548,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7024,
          "after": 1.0,
          "delta": 0.2976,
          "percent_delta": 0.4237,
          "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.6874,
          "after": 1.0,
          "delta": 0.3126,
          "percent_delta": 0.4548,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.4913,
          "after": 4.0,
          "delta": -0.4913,
          "percent_delta": -0.1094,
          "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.429)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5066,
          "after": 1.0,
          "delta": 0.4934,
          "percent_delta": 0.9739,
          "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.5066,
          "after": 1.0,
          "delta": 0.4934,
          "percent_delta": 0.9739,
          "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.2015,
        "predicted_3B": 0.0147,
        "predicted_BB": 0.4064,
        "predicted_H": 1.0441,
        "predicted_HR": 0.1577,
        "predicted_RBI": 0.569,
        "predicted_SO": 0.7038
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2015,
          "delta": 0.2015,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0147,
          "delta": 0.0147,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4064,
          "delta": 0.4064,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0441,
          "delta": 0.0441,
          "percent_delta": 0.0441,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1577,
          "delta": 0.1577,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.569,
          "delta": -0.431,
          "percent_delta": -0.431,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7038,
          "delta": -0.2962,
          "percent_delta": -0.2962,
          "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.4064,
          "delta": 0.4064,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.569,
          "delta": -0.431,
          "percent_delta": -0.431,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2015,
          "after": 1.0,
          "delta": 0.7985,
          "percent_delta": 3.9628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0147,
          "after": 0.0,
          "delta": -0.0147,
          "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.4064,
          "after": 1.0,
          "delta": 0.5936,
          "percent_delta": 1.4606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0441,
          "after": 1.0,
          "delta": -0.0441,
          "percent_delta": -0.0422,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1577,
          "after": 0.0,
          "delta": -0.1577,
          "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.569,
          "after": 1.0,
          "delta": 0.431,
          "percent_delta": 0.7575,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7038,
          "after": 0.0,
          "delta": -0.7038,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.2015,
          "after": 1.0,
          "delta": 0.7985,
          "percent_delta": 3.9628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.7038,
          "after": 0.0,
          "delta": -0.7038,
          "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.264,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.337,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.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.2148,
          "after": 0.264,
          "delta": 0.0492,
          "percent_delta": 0.2291,
          "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.2754,
          "after": 0.337,
          "delta": 0.0616,
          "percent_delta": 0.2237,
          "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.372,
          "after": 0.441,
          "delta": 0.069,
          "percent_delta": 0.1855,
          "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": 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": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2148,
        "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.2754,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.372,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "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.264,
          "after": 0.2148,
          "delta": -0.0492,
          "percent_delta": -0.1863,
          "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.337,
          "after": 0.2754,
          "delta": -0.0616,
          "percent_delta": -0.1828,
          "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.441,
          "after": 0.372,
          "delta": -0.069,
          "percent_delta": -0.1564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.372,
          "delta": -0.069,
          "percent_delta": -0.1564,
          "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.023,
        "after": 0.0,
        "delta": -0.023,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.93,
        "after": 5.0,
        "delta": 0.07,
        "percent_delta": 0.0142,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.216,
        "after": 0.2148,
        "delta": -0.0012,
        "percent_delta": -0.0056,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 2.0,
        "delta": 0.94,
        "percent_delta": 0.8868,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.266,
        "after": 0.2754,
        "delta": 0.0094,
        "percent_delta": 0.0353,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.561,
        "after": 1.0,
        "delta": 0.439,
        "percent_delta": 0.7825,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.75,
        "after": 1.0,
        "delta": 0.25,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.394,
        "after": 0.372,
        "delta": -0.022,
        "percent_delta": -0.0558,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.652,
        "after": 1.0,
        "delta": 0.348,
        "percent_delta": 0.5337,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 2.0,
        "delta": 0.94,
        "percent_delta": 0.8868,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "boosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.189-
predicted_3B0.023-
predicted_AB4.930-
predicted_AVG0.216-
predicted_BB0.439-
predicted_H1.060-
predicted_HR0.180-
predicted_OBP0.266-
predicted_R0.561-
predicted_RBI0.750-
predicted_SLG0.394-
predicted_SO0.652-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.159-0.030
predicted_3B0.019-0.004
predicted_AB4.491-0.439
predicted_AVG0.2170.001
predicted_BB0.375-0.064
predicted_H0.971-0.089
predicted_HBP0.002-
predicted_HR0.171-0.009
predicted_OBP0.2660.000
predicted_R0.511-0.050
predicted_RBI0.694-0.056
predicted_SLG0.387-0.007
predicted_SO0.7030.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.1590.000
predicted_3B0.0190.000
predicted_AB4.4910.000
predicted_AVG0.215-0.002
predicted_BB0.3760.001
predicted_H0.965-0.006
predicted_HBP0.0020.000
predicted_HR0.170-0.001
predicted_OBP0.2750.009
predicted_R0.507-0.005
predicted_RBI0.687-0.006
predicted_SLG0.372-0.015
predicted_SO0.702-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.93), rates preserved: AVG=0.196 HR/AB=0.034

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

Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)

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.2020.202
3B0.0150.015
BB0.4060.406
H1.0440.044
HR0.1580.158
RBI0.569-0.431
SO0.704-0.296
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.798
3B0.000-0.015
AB4.0000.000
BB1.0000.594
H1.000-0.044
HR0.000-0.158
R1.0000.000
RBI1.0000.431
SO0.000-0.704
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.159
predicted_3B0.000-0.019
predicted_AB4.000-0.491
predicted_AVG0.2640.049
predicted_BB0.000-0.376
predicted_H1.0000.035
predicted_HR0.000-0.170
predicted_OBP0.3370.062
predicted_R1.0000.493
predicted_RBI1.0000.313
predicted_SLG0.4410.069
predicted_SO1.0000.298
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
HR0.0000.000
PA5.000-
R1.0000.000
RBI1.0000.000
SB0.0000.000
SF0.0000.000
SO1.0001.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 132
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-21.0003.0000.0000.0001.0004.0001.0000.0005.0000.14290.14290.28570.14290.04760.19050.00000.2381
last_100.2010-41.0006.0000.0000.0002.0006.0003.0001.0009.0000.14630.16670.29270.14630.04880.14630.02440.2195
season0.60132-499.000132.00025.0003.00018.00077.00074.00058.00086.0000.26450.33690.43490.26450.03610.15430.11620.1723
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1210
predicted_3B0.0140
predicted_AB3.9220
predicted_AVG0.2181
predicted_BB0.2920
predicted_H0.8560
predicted_HBP0.0020
predicted_HR0.1590
predicted_OBP0.2661
predicted_R0.4470
predicted_RBI0.6210
predicted_SLG0.3782
predicted_SO0.7700
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18900.12100.1594model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.93003.92204.4913model_form_blend
predicted_AVG0.21600.21810.2169model_form_blend
predicted_BB0.43900.29200.3750model_form_blend
predicted_H1.06000.85600.9712model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.18000.15900.1709model_form_blend
predicted_OBP0.26600.26610.2660model_form_blend
predicted_R0.56100.44700.5114model_form_blend
predicted_RBI0.75000.62100.6939model_form_blend
predicted_SLG0.39400.37820.3871model_form_blend
predicted_SO0.65200.77000.7034model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_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
gameID20261003_NYY@TB
game_typefull
mlbID641355
playerID641355
playerNameCody Bellinger
posLF
startedTrue
startingPositionLF
teamNYY
teamID19
game_date2026-10-03
sl_k_percent15.8
sl_bb_percent10.5
sl_woba0.336
sl_xwoba0.335
sl_xba0.271
sl_xslg0.411
sl_sweet_spot_percent38.2
sl_barrel_batted_rate6.6
sl_hard_hit_percent37.8
sl_exit_velocity_avg89.2
sl_launch_angle_avg17.6
sl_whiff_percent20.0
sl_swing_percent47.1
Jazz Chisholm Jr. (665862) · BATTER · 2B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 526
All-history rows before 20261005: 526
System season_avg: 0.2350
Data season_avg (2026 season-to-date): 0.2382
Diff (system - data): -0.0032
System opponent_avg: 0.1820

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1110.0000.000Hitting_2B0.1220.000-0.1220.000
predicted_3B0.0220.0000.000Hitting_3B0.0250.000-0.0250.000
predicted_AB3.4674.0003.000Hitting_AB3.6162.0000.3842.000
predicted_AVG0.2190.0000.333Hitting_AVG0.2380.000-0.2380.000
predicted_BB0.4070.0000.000Hitting_BB0.4471.000-0.447-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0720.000-0.0720.000
predicted_H0.7000.0001.000Hitting_H0.8610.000-0.8610.000
predicted_HR0.1000.0000.000Hitting_HR0.1580.000-0.1580.000
predicted_OBP0.3320.0000.333Hitting_OBP0.3210.333-0.321-0.333
predicted_R0.5110.0001.000Hitting_R0.5610.000-0.5610.000
predicted_RBI0.2900.0000.000Hitting_RBI0.4560.000-0.4560.000
predicted_SB-0.0000.000BaseRunning_SB0.3191.000-0.319-1.000
predicted_SLG0.3530.0000.333Hitting_SLG0.4160.000-0.4160.000
predicted_SO1.1562.0001.000Hitting_SO1.1791.0000.8211.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: 1.1560 -> 2.0000 (boost 0.8440, worse)
Biggest Deboostpredicted_H: 0.7000 -> 0.0000 (deboost -0.7000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_H: 0.7000 -> 0.7682 (boost 0.0682, 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.3408 -> 0.3147 (deboost -0.0261, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_H: 0.7631 -> 1.0000 (boost 0.2369, better)predicted_BB: 0.4580 -> 0.0000 (deboost -0.4580, worse)AB rounded to 3 (raw=3.47), rates preserved: AVG=0.220 HR/AB=0.029
6bvp_blend11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
7consistency_constraints11010predicted_R: 0.5226 -> 1.0000 (boost 0.4774, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_RBI: 0.0000 -> 0.3779 (boost 0.3779, better)predicted_BB: 1.0000 -> 0.3491 (deboost -0.6509, 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_allocation51414predicted_H: 0.7845 -> 1.0000 (boost 0.2155, better)predicted_RBI: 0.3779 -> 0.0000 (deboost -0.3779, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context33030predicted_BB: 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_reference52314predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final20202-predicted_SLG: 0.4170 -> 0.3488 (deboost -0.0682, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "665862",
  "player_name": "Jazz Chisholm Jr.",
  "position": "2B",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.111,
        "predicted_3B": 0.022,
        "predicted_AB": 3.467,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.407,
        "predicted_H": 0.7,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.332,
        "predicted_R": 0.511,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.353,
        "predicted_SO": 1.156
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0932,
        "predicted_3B": 0.0181,
        "predicted_AB": 3.4227,
        "predicted_AVG": 0.2345,
        "predicted_BB": 0.4574,
        "predicted_H": 0.7682,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.1013,
        "predicted_OBP": 0.3408,
        "predicted_R": 0.5275,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.3626,
        "predicted_SO": 1.1156
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.111,
          "after": 0.0932,
          "delta": -0.0178,
          "percent_delta": -0.1604,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.022,
          "after": 0.0181,
          "delta": -0.0039,
          "percent_delta": -0.1773,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.467,
          "after": 3.4227,
          "delta": -0.0443,
          "percent_delta": -0.0128,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2345,
          "delta": 0.0155,
          "percent_delta": 0.0708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.407,
          "after": 0.4574,
          "delta": 0.0504,
          "percent_delta": 0.1238,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 0.7682,
          "delta": 0.0682,
          "percent_delta": 0.0974,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1,
          "after": 0.1013,
          "delta": 0.0013,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.332,
          "after": 0.3408,
          "delta": 0.0088,
          "percent_delta": 0.0265,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.511,
          "after": 0.5275,
          "delta": 0.0165,
          "percent_delta": 0.0323,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.29,
          "after": 0.28,
          "delta": -0.01,
          "percent_delta": -0.0345,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.353,
          "after": 0.3626,
          "delta": 0.0096,
          "percent_delta": 0.0272,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.156,
          "after": 1.1156,
          "delta": -0.0404,
          "percent_delta": -0.0349,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7,
          "after": 0.7682,
          "delta": 0.0682,
          "percent_delta": 0.0974,
          "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": 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.0932,
        "predicted_3B": 0.0181,
        "predicted_AB": 3.4227,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.458,
        "predicted_H": 0.7631,
        "predicted_HBP": 0.006,
        "predicted_HR": 0.1005,
        "predicted_OBP": 0.3147,
        "predicted_R": 0.5226,
        "predicted_RBI": 0.2774,
        "predicted_SLG": 0.3488,
        "predicted_SO": 1.114
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0932,
          "after": 0.0932,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0181,
          "after": 0.0181,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4227,
          "after": 3.4227,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2345,
          "after": 0.223,
          "delta": -0.0115,
          "percent_delta": -0.049,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4574,
          "after": 0.458,
          "delta": 0.0006,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.7682,
          "after": 0.7631,
          "delta": -0.0051,
          "percent_delta": -0.0066,
          "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.1013,
          "after": 0.1005,
          "delta": -0.0008,
          "percent_delta": -0.0079,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3408,
          "after": 0.3147,
          "delta": -0.0261,
          "percent_delta": -0.0766,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5275,
          "after": 0.5226,
          "delta": -0.0049,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.2774,
          "delta": -0.0026,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3626,
          "after": 0.3488,
          "delta": -0.0138,
          "percent_delta": -0.0381,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1156,
          "after": 1.114,
          "delta": -0.0016,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3408,
          "after": 0.3147,
          "delta": -0.0261,
          "percent_delta": -0.0766,
          "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.47), rates preserved: AVG=0.220 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.0932,
          "after": 0.0,
          "delta": -0.0932,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0181,
          "after": 0.0,
          "delta": -0.0181,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4227,
          "after": 3.0,
          "delta": -0.4227,
          "percent_delta": -0.1235,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.458,
          "after": 0.0,
          "delta": -0.458,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7631,
          "after": 1.0,
          "delta": 0.2369,
          "percent_delta": 0.3104,
          "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.1005,
          "after": 0.0,
          "delta": -0.1005,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2774,
          "after": 0.0,
          "delta": -0.2774,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.114,
          "after": 1.0,
          "delta": -0.114,
          "percent_delta": -0.1023,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 1,
        "deboosted_metrics": 6,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7631,
          "after": 1.0,
          "delta": 0.2369,
          "percent_delta": 0.3104,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.458,
          "after": 0.0,
          "delta": -0.458,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)",
      "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_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8927,
        "bvp": 0.1073
      },
      "window_games": {}
    },
    {
      "index": 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": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 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.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.1541,
        "predicted_3B": 0.0129,
        "predicted_BB": 0.3491,
        "predicted_H": 0.7845,
        "predicted_HR": 0.1468,
        "predicted_RBI": 0.3779,
        "predicted_SO": 1.0388
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1541,
          "delta": 0.1541,
          "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": 1.0,
          "after": 0.3491,
          "delta": -0.6509,
          "percent_delta": -0.6509,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7845,
          "delta": -0.2155,
          "percent_delta": -0.2155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1468,
          "delta": 0.1468,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3779,
          "delta": 0.3779,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0388,
          "delta": 0.0388,
          "percent_delta": 0.0388,
          "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.3779,
          "delta": 0.3779,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.3491,
          "delta": -0.6509,
          "percent_delta": -0.6509,
          "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.1541,
          "after": 0.0,
          "delta": -0.1541,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0129,
          "after": 0.0,
          "delta": -0.0129,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3491,
          "after": 0.0,
          "delta": -0.3491,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7845,
          "after": 1.0,
          "delta": 0.2155,
          "percent_delta": 0.2747,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1468,
          "after": 0.0,
          "delta": -0.1468,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 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.3779,
          "after": 0.0,
          "delta": -0.3779,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0388,
          "after": 1.0,
          "delta": -0.0388,
          "percent_delta": -0.0374,
          "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.7845,
          "after": 1.0,
          "delta": 0.2155,
          "percent_delta": 0.2747,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3779,
          "after": 0.0,
          "delta": -0.3779,
          "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.233,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.31,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.417,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.223,
          "after": 0.233,
          "delta": 0.01,
          "percent_delta": 0.0448,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3147,
          "after": 0.31,
          "delta": -0.0047,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3488,
          "after": 0.417,
          "delta": 0.0682,
          "percent_delta": 0.1955,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 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": 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": 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_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.223,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3147,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3488,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.223,
          "delta": -0.01,
          "percent_delta": -0.0431,
          "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.31,
          "after": 0.3147,
          "delta": 0.0047,
          "percent_delta": 0.0151,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.417,
          "after": 0.3488,
          "delta": -0.0682,
          "percent_delta": -0.1635,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.417,
          "after": 0.3488,
          "delta": -0.0682,
          "percent_delta": -0.1635,
          "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.111,
        "after": 0.0,
        "delta": -0.111,
        "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.467,
        "after": 4.0,
        "delta": 0.533,
        "percent_delta": 0.1537,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.219,
        "after": 0.223,
        "delta": 0.004,
        "percent_delta": 0.0183,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.407,
        "after": 0.0,
        "delta": -0.407,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.332,
        "after": 0.3147,
        "delta": -0.0173,
        "percent_delta": -0.0521,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.511,
        "after": 0.0,
        "delta": -0.511,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 0.0,
        "delta": -0.29,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.353,
        "after": 0.3488,
        "delta": -0.0042,
        "percent_delta": -0.0119,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 1.156,
        "after": 2.0,
        "delta": 0.844,
        "percent_delta": 0.7301,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 2,
      "deboosted_metrics": 7,
      "better_metrics": 1,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.156,
        "after": 2.0,
        "delta": 0.844,
        "percent_delta": 0.7301,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.7,
        "after": 0.0,
        "delta": -0.7,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.111-
predicted_3B0.022-
predicted_AB3.467-
predicted_AVG0.219-
predicted_BB0.407-
predicted_H0.700-
predicted_HR0.100-
predicted_OBP0.332-
predicted_R0.511-
predicted_RBI0.290-
predicted_SLG0.353-
predicted_SO1.156-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.093-0.018
predicted_3B0.018-0.004
predicted_AB3.423-0.044
predicted_AVG0.2340.015
predicted_BB0.4570.050
predicted_H0.7680.068
predicted_HBP0.006-
predicted_HR0.1010.001
predicted_OBP0.3410.009
predicted_R0.5270.016
predicted_RBI0.280-0.010
predicted_SLG0.3630.010
predicted_SO1.116-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.0930.000
predicted_3B0.0180.000
predicted_AB3.4230.000
predicted_AVG0.223-0.011
predicted_BB0.4580.001
predicted_H0.763-0.005
predicted_HBP0.0060.000
predicted_HR0.101-0.001
predicted_OBP0.315-0.026
predicted_R0.523-0.005
predicted_RBI0.277-0.003
predicted_SLG0.349-0.014
predicted_SO1.114-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.47), rates preserved: AVG=0.220 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=11.0, weight=0.107, BvP AVG=0.182)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.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
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-
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.1540.154
3B0.0130.013
BB0.349-0.651
H0.784-0.216
HR0.1470.147
RBI0.3780.378
SO1.0390.039
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.154
3B0.000-0.013
AB3.0000.000
BB0.000-0.349
H1.0000.216
HR0.000-0.147
R1.0000.000
RBI0.000-0.378
SO1.000-0.039
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.093
predicted_3B0.000-0.018
predicted_AB3.000-0.423
predicted_AVG0.2330.010
predicted_BB1.0000.542
predicted_H1.0000.237
predicted_HR0.000-0.101
predicted_OBP0.310-0.005
predicted_R1.0000.477
predicted_RBI0.000-0.277
predicted_SLG0.4170.068
predicted_SO1.000-0.114
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.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: 135
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0004.0000.0000.0000.0000.0003.0004.0005.0000.26670.42110.26670.26670.00000.00000.26670.3333
last_100.2010-33.00010.0000.0000.0001.0001.0006.0006.0009.0000.30300.41030.39390.30300.03030.03030.18180.2727
season0.60135-468.000110.00015.0003.00019.00055.00069.00055.000156.0000.23500.31440.40170.23500.04060.11750.11750.3333
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0700
predicted_3B0.0130
predicted_AB3.3650
predicted_AVG0.2546
predicted_BB0.5230
predicted_H0.8570
predicted_HBP0.0060
predicted_HR0.1030
predicted_OBP0.3523
predicted_R0.5490
predicted_RBI0.2670
predicted_SLG0.3750
predicted_SO1.0630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11100.07000.0932model_form_blend
predicted_3B0.02200.01300.0181model_form_blend
predicted_AB3.46703.36503.4227model_form_blend
predicted_AVG0.21900.25460.2345model_form_blend
predicted_BB0.40700.52300.4574model_form_blend
predicted_H0.70000.85700.7682model_form_blend
predicted_HBP-0.00600.0060form_only
predicted_HR0.10000.10300.1013model_form_blend
predicted_OBP0.33200.35230.3408model_form_blend
predicted_R0.51100.54900.5275model_form_blend
predicted_RBI0.29000.26700.2800model_form_blend
predicted_SLG0.35300.37500.3626model_form_blend
predicted_SO1.15601.06301.1156model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB2
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261003_NYY@TB
game_typefull
mlbID665862
playerID665862
playerNameJazz Chisholm Jr.
pos2B
startedTrue
startingPosition2B
teamNYY
teamID19
game_date2026-10-03
sl_k_percent29.5
sl_bb_percent10.5
sl_woba0.312
sl_xwoba0.294
sl_xba0.216
sl_xslg0.366
sl_sweet_spot_percent29.9
sl_barrel_batted_rate8.2
sl_hard_hit_percent42.8
sl_exit_velocity_avg90.4
sl_launch_angle_avg16.3
sl_whiff_percent30.9
sl_swing_percent45.8
Trent Grisham (663757) · BATTER · CF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 491
All-history rows before 20261005: 491
System season_avg: 0.2120
Data season_avg (2026 season-to-date): 0.2092
Diff (system - data): 0.0028
System opponent_avg: 0.1420

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1620.0000.000Hitting_2B0.1690.000-0.1690.000
predicted_3B0.0170.0000.000Hitting_3B0.0200.000-0.0200.000
predicted_AB4.1003.0003.000Hitting_AB3.7583.000-0.7580.000
predicted_AVG0.2070.0000.333Hitting_AVG0.2090.000-0.2090.000
predicted_BB0.4961.0001.000Hitting_BB0.5420.0000.4581.000
predicted_CS-0.0000.000BaseRunning_CS0.0200.000-0.0200.000
predicted_H0.8500.0001.000Hitting_H0.7860.000-0.7860.000
predicted_HR0.1200.0000.000Hitting_HR0.1570.000-0.1570.000
predicted_OBP0.3120.2500.500Hitting_OBP0.3060.000-0.0560.250
predicted_R0.5640.0000.000Hitting_R0.5990.000-0.5990.000
predicted_RBI0.5000.0000.000Hitting_RBI0.5300.000-0.5300.000
predicted_SLG0.3510.0000.333Hitting_SLG0.3900.000-0.3900.000
predicted_SO0.7691.0001.000Hitting_SO0.7882.0000.212-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics2
Deboosted Metrics8
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_BB: 0.4960 -> 1.0000 (boost 0.5040, better)
Biggest Deboostpredicted_AB: 4.1000 -> 3.0000 (deboost -1.1000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 4.1000 -> 3.7699 (deboost -0.3301, worse)Final model input calibrated 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.3048 -> 0.2935 (deboost -0.0113, 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.7838 -> 1.0000 (boost 0.2162, better)predicted_AB: 3.7699 -> 3.0000 (deboost -0.7699, worse)AB rounded to 3 (raw=4.10), rates preserved: AVG=0.191 HR/AB=0.025
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
7consistency_constraints10101-predicted_R: 0.4932 -> 0.0000 (deboost -0.4932, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4161 (boost 0.4161, better)predicted_SO: 1.0000 -> 0.7216 (deboost -0.2784, 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_allocation63324predicted_BB: 0.3999 -> 1.0000 (boost 0.6001, better)predicted_RBI: 0.4161 -> 0.0000 (deboost -0.4161, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context43131predicted_SLG: 0.3330 -> 0.3980 (boost 0.0650, 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_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
12current_json_final30303-predicted_SLG: 0.3980 -> 0.3330 (deboost -0.0650, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "663757",
  "player_name": "Trent Grisham",
  "position": "CF",
  "team": "NYY",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.162,
        "predicted_3B": 0.017,
        "predicted_AB": 4.1,
        "predicted_AVG": 0.207,
        "predicted_BB": 0.496,
        "predicted_H": 0.85,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.312,
        "predicted_R": 0.564,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.351,
        "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.133,
        "predicted_3B": 0.014,
        "predicted_AB": 3.7699,
        "predicted_AVG": 0.2093,
        "predicted_BB": 0.4558,
        "predicted_H": 0.789,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1044,
        "predicted_OBP": 0.3048,
        "predicted_R": 0.4978,
        "predicted_RBI": 0.4736,
        "predicted_SLG": 0.3387,
        "predicted_SO": 0.7976
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.162,
          "after": 0.133,
          "delta": -0.029,
          "percent_delta": -0.179,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.014,
          "delta": -0.003,
          "percent_delta": -0.1765,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 3.7699,
          "delta": -0.3301,
          "percent_delta": -0.0805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.207,
          "after": 0.2093,
          "delta": 0.0023,
          "percent_delta": 0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.496,
          "after": 0.4558,
          "delta": -0.0402,
          "percent_delta": -0.081,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.85,
          "after": 0.789,
          "delta": -0.061,
          "percent_delta": -0.0718,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1044,
          "delta": -0.0156,
          "percent_delta": -0.13,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.312,
          "after": 0.3048,
          "delta": -0.0072,
          "percent_delta": -0.0231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.564,
          "after": 0.4978,
          "delta": -0.0662,
          "percent_delta": -0.1174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5,
          "after": 0.4736,
          "delta": -0.0264,
          "percent_delta": -0.0528,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.351,
          "after": 0.3387,
          "delta": -0.0123,
          "percent_delta": -0.035,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.769,
          "after": 0.7976,
          "delta": 0.0286,
          "percent_delta": 0.0372,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.1,
          "after": 3.7699,
          "delta": -0.3301,
          "percent_delta": -0.0805,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 117
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.133,
        "predicted_3B": 0.014,
        "predicted_AB": 3.7699,
        "predicted_AVG": 0.2079,
        "predicted_BB": 0.4564,
        "predicted_H": 0.7838,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1035,
        "predicted_OBP": 0.2935,
        "predicted_R": 0.4932,
        "predicted_RBI": 0.4692,
        "predicted_SLG": 0.333,
        "predicted_SO": 0.7965
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.133,
          "after": 0.133,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.014,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7699,
          "after": 3.7699,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2093,
          "after": 0.2079,
          "delta": -0.0014,
          "percent_delta": -0.0067,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4558,
          "after": 0.4564,
          "delta": 0.0006,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.789,
          "after": 0.7838,
          "delta": -0.0052,
          "percent_delta": -0.0066,
          "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.1044,
          "after": 0.1035,
          "delta": -0.0009,
          "percent_delta": -0.0086,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3048,
          "after": 0.2935,
          "delta": -0.0113,
          "percent_delta": -0.0371,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4978,
          "after": 0.4932,
          "delta": -0.0046,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4736,
          "after": 0.4692,
          "delta": -0.0044,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3387,
          "after": 0.333,
          "delta": -0.0057,
          "percent_delta": -0.0168,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7976,
          "after": 0.7965,
          "delta": -0.0011,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3048,
          "after": 0.2935,
          "delta": -0.0113,
          "percent_delta": -0.0371,
          "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.10), rates preserved: AVG=0.191 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.133,
          "after": 0.0,
          "delta": -0.133,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.014,
          "after": 0.0,
          "delta": -0.014,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7699,
          "after": 3.0,
          "delta": -0.7699,
          "percent_delta": -0.2042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4564,
          "after": 0.0,
          "delta": -0.4564,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7838,
          "after": 1.0,
          "delta": 0.2162,
          "percent_delta": 0.2758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1035,
          "after": 0.0,
          "delta": -0.1035,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4692,
          "after": 0.0,
          "delta": -0.4692,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7965,
          "after": 1.0,
          "delta": 0.2035,
          "percent_delta": 0.2555,
          "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.7838,
          "after": 1.0,
          "delta": 0.2162,
          "percent_delta": 0.2758,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.7699,
          "after": 3.0,
          "delta": -0.7699,
          "percent_delta": -0.2042,
          "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.4932,
          "after": 0.0,
          "delta": -0.4932,
          "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.4932,
          "after": 0.0,
          "delta": -0.4932,
          "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.1788,
        "predicted_3B": 0.0117,
        "predicted_BB": 0.3999,
        "predicted_H": 0.7603,
        "predicted_HR": 0.1304,
        "predicted_RBI": 0.4161,
        "predicted_SO": 0.7216
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1788,
          "delta": 0.1788,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0117,
          "delta": 0.0117,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3999,
          "delta": 0.3999,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7603,
          "delta": -0.2397,
          "percent_delta": -0.2397,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1304,
          "delta": 0.1304,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4161,
          "delta": 0.4161,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7216,
          "delta": -0.2784,
          "percent_delta": -0.2784,
          "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.4161,
          "delta": 0.4161,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7216,
          "delta": -0.2784,
          "percent_delta": -0.2784,
          "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": 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.1788,
          "after": 0.0,
          "delta": -0.1788,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0117,
          "after": 0.0,
          "delta": -0.0117,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3999,
          "after": 1.0,
          "delta": 0.6001,
          "percent_delta": 1.5006,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7603,
          "after": 1.0,
          "delta": 0.2397,
          "percent_delta": 0.3153,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1304,
          "after": 0.0,
          "delta": -0.1304,
          "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.4161,
          "after": 0.0,
          "delta": -0.4161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7216,
          "after": 1.0,
          "delta": 0.2784,
          "percent_delta": 0.3858,
          "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.3999,
          "after": 1.0,
          "delta": 0.6001,
          "percent_delta": 1.5006,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4161,
          "after": 0.0,
          "delta": -0.4161,
          "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.31,
        "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.2079,
          "after": 0.223,
          "delta": 0.0151,
          "percent_delta": 0.0726,
          "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.2935,
          "after": 0.31,
          "delta": 0.0165,
          "percent_delta": 0.0562,
          "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.333,
          "after": 0.398,
          "delta": 0.065,
          "percent_delta": 0.1952,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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.333,
          "after": 0.398,
          "delta": 0.065,
          "percent_delta": 0.1952,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.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": 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.2079,
        "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.2935,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2079,
          "delta": -0.0151,
          "percent_delta": -0.0677,
          "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.31,
          "after": 0.2935,
          "delta": -0.0165,
          "percent_delta": -0.0534,
          "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.333,
          "delta": -0.065,
          "percent_delta": -0.1633,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.398,
          "after": 0.333,
          "delta": -0.065,
          "percent_delta": -0.1633,
          "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.162,
        "after": 0.0,
        "delta": -0.162,
        "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.1,
        "after": 3.0,
        "delta": -1.1,
        "percent_delta": -0.2683,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.207,
        "after": 0.2079,
        "delta": 0.0009,
        "percent_delta": 0.0043,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.496,
        "after": 1.0,
        "delta": 0.504,
        "percent_delta": 1.0161,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.85,
        "after": 0.0,
        "delta": -0.85,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.312,
        "after": 0.2935,
        "delta": -0.0185,
        "percent_delta": -0.0593,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.564,
        "after": 0.0,
        "delta": -0.564,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.351,
        "after": 0.333,
        "delta": -0.018,
        "percent_delta": -0.0513,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.769,
        "after": 1.0,
        "delta": 0.231,
        "percent_delta": 0.3004,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.496,
        "after": 1.0,
        "delta": 0.504,
        "percent_delta": 1.0161,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.1,
        "after": 3.0,
        "delta": -1.1,
        "percent_delta": -0.2683,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.162-
predicted_3B0.017-
predicted_AB4.100-
predicted_AVG0.207-
predicted_BB0.496-
predicted_H0.850-
predicted_HR0.120-
predicted_OBP0.312-
predicted_R0.564-
predicted_RBI0.500-
predicted_SLG0.351-
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.133-0.029
predicted_3B0.014-0.003
predicted_AB3.770-0.330
predicted_AVG0.2090.002
predicted_BB0.456-0.040
predicted_H0.789-0.061
predicted_HBP0.002-
predicted_HR0.104-0.016
predicted_OBP0.305-0.007
predicted_R0.498-0.066
predicted_RBI0.474-0.026
predicted_SLG0.339-0.012
predicted_SO0.7980.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.1330.000
predicted_3B0.0140.000
predicted_AB3.7700.000
predicted_AVG0.208-0.001
predicted_BB0.4560.001
predicted_H0.784-0.005
predicted_HBP0.0020.000
predicted_HR0.103-0.001
predicted_OBP0.293-0.011
predicted_R0.493-0.005
predicted_RBI0.469-0.004
predicted_SLG0.333-0.006
predicted_SO0.796-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=4.10), rates preserved: AVG=0.191 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. 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.1790.179
3B0.0120.012
BB0.4000.400
H0.760-0.240
HR0.1300.130
RBI0.4160.416
SO0.722-0.278
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.179
3B0.000-0.012
AB3.0000.000
BB1.0000.600
H1.0000.240
HR0.000-0.130
R0.0000.000
RBI0.000-0.416
SO1.0000.278
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.133
predicted_3B0.000-0.014
predicted_AB3.000-0.770
predicted_AVG0.2230.015
predicted_BB0.000-0.456
predicted_H1.0000.216
predicted_HR0.000-0.103
predicted_OBP0.3100.017
predicted_R0.000-0.493
predicted_RBI0.000-0.469
predicted_SLG0.3980.065
predicted_SO1.0000.204
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.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: 117
Reference playing time: 4.100
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0004.0000.0000.0000.0002.0001.0001.0004.0000.28570.33330.28570.28570.00000.14290.07140.2857
last_100.2010-31.0004.0000.0000.0000.0003.0002.0004.00010.0000.12900.22220.12900.12900.00000.09680.12900.3226
season0.60117-415.00088.00019.0002.00017.00058.00066.00058.00090.0000.21200.30610.39040.21200.04100.13980.13980.2169
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0950
predicted_3B0.0100
predicted_AB3.3370
predicted_AVG0.2124
predicted_BB0.4030
predicted_H0.7090
predicted_HBP0.0020
predicted_HR0.0840
predicted_OBP0.2954
predicted_R0.4110
predicted_RBI0.4390
predicted_SLG0.3225
predicted_SO0.8350
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16200.09500.1330model_form_blend
predicted_3B0.01700.01000.0140model_form_blend
predicted_AB4.10003.33703.7699model_form_blend
predicted_AVG0.20700.21240.2093model_form_blend
predicted_BB0.49600.40300.4558model_form_blend
predicted_H0.85000.70900.7890model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.12000.08400.1044model_form_blend
predicted_OBP0.31200.29540.3048model_form_blend
predicted_R0.56400.41100.4978model_form_blend
predicted_RBI0.50000.43900.4736model_form_blend
predicted_SLG0.35100.32250.3387model_form_blend
predicted_SO0.76900.83500.7976model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20261003_NYY@TB
game_typefull
mlbID663757
playerID663757
playerNameTrent Grisham
posCF
startedTrue
startingPositionCF
teamNYY
teamID19
game_date2026-10-03
sl_k_percent18.4
sl_bb_percent12.6
sl_woba0.311
sl_xwoba0.337
sl_xba0.245
sl_xslg0.429
sl_sweet_spot_percent35.7
sl_barrel_batted_rate9.6
sl_hard_hit_percent45.3
sl_exit_velocity_avg90.6
sl_launch_angle_avg17.5
sl_whiff_percent18.2
sl_swing_percent39.1
Austin Wells (669224) · BATTER · C · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 377
All-history rows before 20261005: 377
System season_avg: 0.1930
Data season_avg (2026 season-to-date): 0.1930
Diff (system - data): 0.0000
System opponent_avg: 0.1560

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0660.0000.000Hitting_2B0.0661.000-0.066-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8034.0003.000Hitting_AB3.0113.0000.9891.000
predicted_AVG0.2300.2500.000Hitting_AVG0.1930.3330.057-0.083
predicted_BB0.3850.0000.000Hitting_BB0.4380.000-0.4380.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6201.0000.000Hitting_H0.5811.0000.4190.000
predicted_HR0.1200.0000.000Hitting_HR0.1270.000-0.1270.000
predicted_OBP0.3430.2500.000Hitting_OBP0.2990.333-0.049-0.083
predicted_R0.3360.0000.000Hitting_R0.3710.000-0.3710.000
predicted_RBI0.4700.0000.000Hitting_RBI0.3100.000-0.3100.000
predicted_SLG0.4210.2500.000Hitting_SLG0.3420.667-0.092-0.417
predicted_SO0.8441.0001.000Hitting_SO0.9101.0000.0900.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_AB: 2.8030 -> 4.0000 (boost 1.1970, better)
Biggest Deboostpredicted_RBI: 0.4700 -> 0.0000 (deboost -0.4700, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43140predicted_R: 0.3360 -> 0.4206 (boost 0.0846, better)predicted_SO: 0.8440 -> 0.7796 (deboost -0.0644, 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.4382 -> 0.4082 (deboost -0.0300, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_RBI: 0.4822 -> 1.0000 (boost 0.5178, better)predicted_BB: 0.4298 -> 0.0000 (deboost -0.4298, worse)AB rounded to 3 (raw=2.80), rates preserved: AVG=0.236 HR/AB=0.047
6consistency_constraints10101-predicted_R: 0.4167 -> 0.0000 (deboost -0.4167, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3340 (boost 0.3340, better)predicted_RBI: 1.0000 -> 0.3127 (deboost -0.6873, 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.7898 -> 1.0000 (boost 0.2102, worse)predicted_H: 0.6476 -> 0.0000 (deboost -0.6476, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context52323predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.3382 -> 0.3060 (deboost -0.0322, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference21111predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_OBP: 0.3060 -> 0.3382 (boost 0.0322, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "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.066,
        "predicted_3B": 0.0,
        "predicted_AB": 2.803,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.385,
        "predicted_H": 0.62,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.343,
        "predicted_R": 0.336,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.421,
        "predicted_SO": 0.844
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0832,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8009,
        "predicted_AVG": 0.2433,
        "predicted_BB": 0.4292,
        "predicted_H": 0.6672,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1333,
        "predicted_OBP": 0.3471,
        "predicted_R": 0.4206,
        "predicted_RBI": 0.4867,
        "predicted_SLG": 0.4382,
        "predicted_SO": 0.7796
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.066,
          "after": 0.0832,
          "delta": 0.0172,
          "percent_delta": 0.2606,
          "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.803,
          "after": 2.8009,
          "delta": -0.0021,
          "percent_delta": -0.0007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2433,
          "delta": 0.0133,
          "percent_delta": 0.0578,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.385,
          "after": 0.4292,
          "delta": 0.0442,
          "percent_delta": 0.1148,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.62,
          "after": 0.6672,
          "delta": 0.0472,
          "percent_delta": 0.0761,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1333,
          "delta": 0.0133,
          "percent_delta": 0.1108,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.343,
          "after": 0.3471,
          "delta": 0.0041,
          "percent_delta": 0.012,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.336,
          "after": 0.4206,
          "delta": 0.0846,
          "percent_delta": 0.2518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.47,
          "after": 0.4867,
          "delta": 0.0167,
          "percent_delta": 0.0355,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.421,
          "after": 0.4382,
          "delta": 0.0172,
          "percent_delta": 0.0409,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.844,
          "after": 0.7796,
          "delta": -0.0644,
          "percent_delta": -0.0763,
          "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_R",
          "before": 0.336,
          "after": 0.4206,
          "delta": 0.0846,
          "percent_delta": 0.2518,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.844,
          "after": 0.7796,
          "delta": -0.0644,
          "percent_delta": -0.0763,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.0832,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8009,
        "predicted_AVG": 0.2366,
        "predicted_BB": 0.4298,
        "predicted_H": 0.6628,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1322,
        "predicted_OBP": 0.3382,
        "predicted_R": 0.4167,
        "predicted_RBI": 0.4822,
        "predicted_SLG": 0.4082,
        "predicted_SO": 0.7785
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0832,
          "after": 0.0832,
          "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.8009,
          "after": 2.8009,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2433,
          "after": 0.2366,
          "delta": -0.0067,
          "percent_delta": -0.0275,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4292,
          "after": 0.4298,
          "delta": 0.0006,
          "percent_delta": 0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6672,
          "after": 0.6628,
          "delta": -0.0044,
          "percent_delta": -0.0066,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.015,
          "after": 0.015,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1333,
          "after": 0.1322,
          "delta": -0.0011,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3471,
          "after": 0.3382,
          "delta": -0.0089,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4206,
          "after": 0.4167,
          "delta": -0.0039,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4867,
          "after": 0.4822,
          "delta": -0.0045,
          "percent_delta": -0.0092,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4382,
          "after": 0.4082,
          "delta": -0.03,
          "percent_delta": -0.0685,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7796,
          "after": 0.7785,
          "delta": -0.0011,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.4382,
          "after": 0.4082,
          "delta": -0.03,
          "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 3 (raw=2.80), rates preserved: AVG=0.236 HR/AB=0.047",
      "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.0832,
          "after": 0.0,
          "delta": -0.0832,
          "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.8009,
          "after": 3.0,
          "delta": 0.1991,
          "percent_delta": 0.0711,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4298,
          "after": 0.0,
          "delta": -0.4298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6628,
          "after": 1.0,
          "delta": 0.3372,
          "percent_delta": 0.5088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.015,
          "after": 0.0,
          "delta": -0.015,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1322,
          "after": 0.0,
          "delta": -0.1322,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4822,
          "after": 1.0,
          "delta": 0.5178,
          "percent_delta": 1.0738,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7785,
          "after": 1.0,
          "delta": 0.2215,
          "percent_delta": 0.2845,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4822,
          "after": 1.0,
          "delta": 0.5178,
          "percent_delta": 1.0738,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4298,
          "after": 0.0,
          "delta": -0.4298,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.4167,
          "after": 0.0,
          "delta": -0.4167,
          "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.4167,
          "after": 0.0,
          "delta": -0.4167,
          "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.1208,
        "predicted_3B": 0.0071,
        "predicted_BB": 0.334,
        "predicted_H": 0.6476,
        "predicted_HR": 0.1165,
        "predicted_RBI": 0.3127,
        "predicted_SO": 0.7898
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1208,
          "delta": 0.1208,
          "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.334,
          "delta": 0.334,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6476,
          "delta": -0.3524,
          "percent_delta": -0.3524,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1165,
          "delta": 0.1165,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3127,
          "delta": -0.6873,
          "percent_delta": -0.6873,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7898,
          "delta": -0.2102,
          "percent_delta": -0.2102,
          "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.334,
          "delta": 0.334,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.3127,
          "delta": -0.6873,
          "percent_delta": -0.6873,
          "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.1208,
          "after": 0.0,
          "delta": -0.1208,
          "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.334,
          "after": 0.0,
          "delta": -0.334,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6476,
          "after": 0.0,
          "delta": -0.6476,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1165,
          "after": 0.0,
          "delta": -0.1165,
          "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.3127,
          "after": 0.0,
          "delta": -0.3127,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7898,
          "after": 1.0,
          "delta": 0.2102,
          "percent_delta": 0.2661,
          "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.7898,
          "after": 1.0,
          "delta": 0.2102,
          "percent_delta": 0.2661,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6476,
          "after": 0.0,
          "delta": -0.6476,
          "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.221,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.306,
        "predicted_R": 0.0,
        "predicted_RBI": 1.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.2366,
          "after": 0.221,
          "delta": -0.0156,
          "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": 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.3382,
          "after": 0.306,
          "delta": -0.0322,
          "percent_delta": -0.0952,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4082,
          "after": 0.386,
          "delta": -0.0222,
          "percent_delta": -0.0544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3382,
          "after": 0.306,
          "delta": -0.0322,
          "percent_delta": -0.0952,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.2366,
        "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.3382,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4082,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2366,
          "delta": 0.0156,
          "percent_delta": 0.0708,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3382,
          "delta": 0.0322,
          "percent_delta": 0.1052,
          "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.386,
          "after": 0.4082,
          "delta": 0.0222,
          "percent_delta": 0.0576,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.306,
          "after": 0.3382,
          "delta": 0.0322,
          "percent_delta": 0.1052,
          "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.066,
        "after": 0.0,
        "delta": -0.066,
        "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.803,
        "after": 4.0,
        "delta": 1.197,
        "percent_delta": 0.427,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.23,
        "after": 0.2366,
        "delta": 0.0066,
        "percent_delta": 0.0287,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.385,
        "after": 0.0,
        "delta": -0.385,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.62,
        "after": 1.0,
        "delta": 0.38,
        "percent_delta": 0.6129,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.343,
        "after": 0.3382,
        "delta": -0.0048,
        "percent_delta": -0.014,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.336,
        "after": 0.0,
        "delta": -0.336,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.421,
        "after": 0.4082,
        "delta": -0.0128,
        "percent_delta": -0.0304,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.844,
        "after": 1.0,
        "delta": 0.156,
        "percent_delta": 0.1848,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.803,
        "after": 4.0,
        "delta": 1.197,
        "percent_delta": 0.427,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 0.0,
        "delta": -0.47,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.066-
predicted_3B0.000-
predicted_AB2.803-
predicted_AVG0.230-
predicted_BB0.385-
predicted_H0.620-
predicted_HR0.120-
predicted_OBP0.343-
predicted_R0.336-
predicted_RBI0.470-
predicted_SLG0.421-
predicted_SO0.844-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0830.017
predicted_3B0.0000.000
predicted_AB2.801-0.002
predicted_AVG0.2430.013
predicted_BB0.4290.044
predicted_H0.6670.047
predicted_HBP0.015-
predicted_HR0.1330.013
predicted_OBP0.3470.004
predicted_R0.4210.085
predicted_RBI0.4870.017
predicted_SLG0.4380.017
predicted_SO0.780-0.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.0830.000
predicted_3B0.0000.000
predicted_AB2.8010.000
predicted_AVG0.237-0.007
predicted_BB0.4300.001
predicted_H0.663-0.004
predicted_HBP0.0150.000
predicted_HR0.132-0.001
predicted_OBP0.338-0.009
predicted_R0.417-0.004
predicted_RBI0.482-0.005
predicted_SLG0.408-0.030
predicted_SO0.778-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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.1210.121
3B0.0070.007
BB0.3340.334
H0.648-0.352
HR0.1170.117
RBI0.313-0.687
SO0.790-0.210
8. 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.007
AB3.0000.000
BB0.000-0.334
H0.000-0.648
HR0.000-0.117
R0.0000.000
RBI0.000-0.313
SO1.0000.210
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.083
predicted_3B0.000-0.000
predicted_AB3.0000.199
predicted_AVG0.221-0.016
predicted_BB0.000-0.430
predicted_H1.0000.337
predicted_HR0.000-0.132
predicted_OBP0.306-0.032
predicted_R0.000-0.417
predicted_RBI1.0000.518
predicted_SLG0.386-0.022
predicted_SO1.0000.222
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 122
Reference playing time: 3.801
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.0005.0001.0000.0001.0005.0005.0003.0002.0000.38460.44440.69230.38460.07690.38460.23080.1538
last_100.2010-26.0009.0001.0000.0002.0006.0006.0007.0005.0000.34620.45710.61540.34620.07690.23080.26920.1923
season0.60122-342.00066.0008.0000.00014.00036.00041.00047.000103.0000.19300.29290.33920.19300.04090.10530.13740.3012
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1060
predicted_3B0.0010
predicted_AB2.7980
predicted_AVG0.2610
predicted_BB0.4880
predicted_H0.7300
predicted_HBP0.0150
predicted_HR0.1510
predicted_OBP0.3525
predicted_R0.5330
predicted_RBI0.5090
predicted_SLG0.4610
predicted_SO0.6940
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.06600.10600.0832model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.80302.79802.8009model_form_blend
predicted_AVG0.23000.26100.2433model_form_blend
predicted_BB0.38500.48800.4292model_form_blend
predicted_H0.62000.73000.6672model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.12000.15100.1333model_form_blend
predicted_OBP0.34300.35250.3471model_form_blend
predicted_R0.33600.53300.4206model_form_blend
predicted_RBI0.47000.50900.4867model_form_blend
predicted_SLG0.42100.46100.4382model_form_blend
predicted_SO0.84400.69400.7796model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB2
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261003_NYY@TB
game_typefull
mlbID669224
playerID669224
playerNameAustin Wells
posC
startedTrue
startingPositionC
teamNYY
teamID19
game_date2026-10-03
sl_k_percent26.5
sl_bb_percent12.4
sl_woba0.281
sl_xwoba0.302
sl_xba0.211
sl_xslg0.363
sl_sweet_spot_percent33.8
sl_barrel_batted_rate7.7
sl_hard_hit_percent42.7
sl_exit_velocity_avg89.3
sl_launch_angle_avg20.5
sl_whiff_percent27.9
sl_swing_percent46.3
Ryan McMahon (641857) · BATTER · 3B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 364
All-history rows before 20261005: 364
System season_avg: 0.2140
Data season_avg (2026 season-to-date): 0.2132
Diff (system - data): 0.0008
System opponent_avg: 0.0710

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1140.0000.000Hitting_2B0.1350.000-0.1350.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8682.0003.000Hitting_AB3.1322.000-1.1320.000
predicted_AVG0.2190.0000.333Hitting_AVG0.2130.000-0.2130.000
predicted_BB0.2462.0000.000Hitting_BB0.2860.0001.7142.000
predicted_CS-0.0000.000BaseRunning_CS0.0190.000-0.0190.000
predicted_H0.5000.0001.000Hitting_H0.6680.000-0.6680.000
predicted_HR0.0800.0000.000Hitting_HR0.0960.000-0.0960.000
predicted_OBP0.2820.5000.333Hitting_OBP0.2810.0000.2190.500
predicted_R0.2720.0000.000Hitting_R0.3080.000-0.3080.000
predicted_RBI0.4800.0000.000Hitting_RBI0.3650.000-0.3650.000
predicted_SLG0.3880.0000.333Hitting_SLG0.3480.000-0.3480.000
predicted_SO0.9300.0001.000Hitting_SO0.9950.000-0.9950.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_BB: 0.2460 -> 2.0000 (boost 1.7540, better)
Biggest Deboostpredicted_SO: 0.9300 -> 0.0000 (deboost -0.9300, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_H: 0.5000 -> 0.5893 (boost 0.0893, 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.3984 -> 0.3451 (deboost -0.0533, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_RBI: 0.5513 -> 1.0000 (boost 0.4487, better)predicted_BB: 0.2399 -> 0.0000 (deboost -0.2399, worse)AB rounded to 3 (raw=2.89), rates preserved: AVG=0.203 HR/AB=0.033
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.071)
7consistency_constraints10101-predicted_R: 0.3050 -> 0.0000 (deboost -0.3050, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.2517 (boost 0.2517, better)predicted_RBI: 1.0000 -> 0.3500 (deboost -0.6500, 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.6736 -> 1.0000 (boost 0.3264, better)predicted_RBI: 0.3500 -> 0.0000 (deboost -0.3500, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context44040predicted_RBI: 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_reference51423predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3690 -> 0.3451 (deboost -0.0239, 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.114,
        "predicted_3B": 0.0,
        "predicted_AB": 2.868,
        "predicted_AVG": 0.219,
        "predicted_BB": 0.246,
        "predicted_H": 0.5,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.282,
        "predicted_R": 0.272,
        "predicted_RBI": 0.48,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.93
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1217,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8881,
        "predicted_AVG": 0.2293,
        "predicted_BB": 0.2396,
        "predicted_H": 0.5893,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0971,
        "predicted_OBP": 0.2898,
        "predicted_R": 0.3079,
        "predicted_RBI": 0.5565,
        "predicted_SLG": 0.3984,
        "predicted_SO": 0.9253
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.114,
          "after": 0.1217,
          "delta": 0.0077,
          "percent_delta": 0.0675,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0004,
          "delta": 0.0004,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.868,
          "after": 2.8881,
          "delta": 0.0201,
          "percent_delta": 0.007,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.2293,
          "delta": 0.0103,
          "percent_delta": 0.047,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.246,
          "after": 0.2396,
          "delta": -0.0064,
          "percent_delta": -0.026,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5,
          "after": 0.5893,
          "delta": 0.0893,
          "percent_delta": 0.1786,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.08,
          "after": 0.0971,
          "delta": 0.0171,
          "percent_delta": 0.2138,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.282,
          "after": 0.2898,
          "delta": 0.0078,
          "percent_delta": 0.0277,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.272,
          "after": 0.3079,
          "delta": 0.0359,
          "percent_delta": 0.132,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.48,
          "after": 0.5565,
          "delta": 0.0765,
          "percent_delta": 0.1594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3984,
          "delta": 0.0104,
          "percent_delta": 0.0268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.93,
          "after": 0.9253,
          "delta": -0.0047,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.5,
          "after": 0.5893,
          "delta": 0.0893,
          "percent_delta": 0.1786,
          "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": 114
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1217,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8881,
        "predicted_AVG": 0.2027,
        "predicted_BB": 0.2399,
        "predicted_H": 0.5854,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.0963,
        "predicted_OBP": 0.2639,
        "predicted_R": 0.305,
        "predicted_RBI": 0.5513,
        "predicted_SLG": 0.3451,
        "predicted_SO": 0.924
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1217,
          "after": 0.1217,
          "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.8881,
          "after": 2.8881,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2293,
          "after": 0.2027,
          "delta": -0.0266,
          "percent_delta": -0.116,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2396,
          "after": 0.2399,
          "delta": 0.0003,
          "percent_delta": 0.0013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.5893,
          "after": 0.5854,
          "delta": -0.0039,
          "percent_delta": -0.0066,
          "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.0971,
          "after": 0.0963,
          "delta": -0.0008,
          "percent_delta": -0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2898,
          "after": 0.2639,
          "delta": -0.0259,
          "percent_delta": -0.0894,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3079,
          "after": 0.305,
          "delta": -0.0029,
          "percent_delta": -0.0094,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5565,
          "after": 0.5513,
          "delta": -0.0052,
          "percent_delta": -0.0093,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3984,
          "after": 0.3451,
          "delta": -0.0533,
          "percent_delta": -0.1338,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9253,
          "after": 0.924,
          "delta": -0.0013,
          "percent_delta": -0.0014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.3984,
          "after": 0.3451,
          "delta": -0.0533,
          "percent_delta": -0.1338,
          "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.89), 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1217,
          "after": 0.0,
          "delta": -0.1217,
          "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.8881,
          "after": 3.0,
          "delta": 0.1119,
          "percent_delta": 0.0387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2399,
          "after": 0.0,
          "delta": -0.2399,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5854,
          "after": 1.0,
          "delta": 0.4146,
          "percent_delta": 0.7082,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.007,
          "after": 0.0,
          "delta": -0.007,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0963,
          "after": 0.0,
          "delta": -0.0963,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5513,
          "after": 1.0,
          "delta": 0.4487,
          "percent_delta": 0.8139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.924,
          "after": 1.0,
          "delta": 0.076,
          "percent_delta": 0.0823,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5513,
          "after": 1.0,
          "delta": 0.4487,
          "percent_delta": 0.8139,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2399,
          "after": 0.0,
          "delta": -0.2399,
          "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.071)",
      "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.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 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.305,
          "after": 0.0,
          "delta": -0.305,
          "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.305,
          "after": 0.0,
          "delta": -0.305,
          "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.1306,
        "predicted_3B": 0.0069,
        "predicted_BB": 0.2517,
        "predicted_H": 0.6736,
        "predicted_HR": 0.1019,
        "predicted_RBI": 0.35,
        "predicted_SO": 0.9078
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1306,
          "delta": 0.1306,
          "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.2517,
          "delta": 0.2517,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6736,
          "delta": -0.3264,
          "percent_delta": -0.3264,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1019,
          "delta": 0.1019,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.35,
          "delta": -0.65,
          "percent_delta": -0.65,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9078,
          "delta": -0.0922,
          "percent_delta": -0.0922,
          "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.2517,
          "delta": 0.2517,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.35,
          "delta": -0.65,
          "percent_delta": -0.65,
          "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.1306,
          "after": 0.0,
          "delta": -0.1306,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2517,
          "after": 0.0,
          "delta": -0.2517,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6736,
          "after": 1.0,
          "delta": 0.3264,
          "percent_delta": 0.4846,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1019,
          "after": 0.0,
          "delta": -0.1019,
          "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.35,
          "after": 0.0,
          "delta": -0.35,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9078,
          "after": 1.0,
          "delta": 0.0922,
          "percent_delta": 0.1016,
          "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.6736,
          "after": 1.0,
          "delta": 0.3264,
          "percent_delta": 0.4846,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.35,
          "after": 0.0,
          "delta": -0.35,
          "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.221,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.287,
        "predicted_R": 0.0,
        "predicted_RBI": 1.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.2027,
          "after": 0.221,
          "delta": 0.0183,
          "percent_delta": 0.0903,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2639,
          "after": 0.287,
          "delta": 0.0231,
          "percent_delta": 0.0875,
          "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": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3451,
          "after": 0.369,
          "delta": 0.0239,
          "percent_delta": 0.0693,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_BB": 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": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 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": 3.0,
          "after": 2.0,
          "delta": -1.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.0,
        "predicted_AVG": 0.2027,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2639,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3451,
        "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.221,
          "after": 0.2027,
          "delta": -0.0183,
          "percent_delta": -0.0828,
          "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.287,
          "after": 0.2639,
          "delta": -0.0231,
          "percent_delta": -0.0806,
          "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.3451,
          "delta": -0.0239,
          "percent_delta": -0.0647,
          "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.369,
          "after": 0.3451,
          "delta": -0.0239,
          "percent_delta": -0.0647,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.114,
        "after": 0.0,
        "delta": -0.114,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 2.868,
        "after": 2.0,
        "delta": -0.868,
        "percent_delta": -0.3026,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.219,
        "after": 0.2027,
        "delta": -0.0163,
        "percent_delta": -0.0744,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.246,
        "after": 2.0,
        "delta": 1.754,
        "percent_delta": 7.1301,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.5,
        "after": 0.0,
        "delta": -0.5,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.282,
        "after": 0.2639,
        "delta": -0.0181,
        "percent_delta": -0.0642,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.272,
        "after": 0.0,
        "delta": -0.272,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.388,
        "after": 0.3451,
        "delta": -0.0429,
        "percent_delta": -0.1106,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.93,
        "after": 0.0,
        "delta": -0.93,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.246,
        "after": 2.0,
        "delta": 1.754,
        "percent_delta": 7.1301,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.93,
        "after": 0.0,
        "delta": -0.93,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.114-
predicted_3B0.000-
predicted_AB2.868-
predicted_AVG0.219-
predicted_BB0.246-
predicted_H0.500-
predicted_HR0.080-
predicted_OBP0.282-
predicted_R0.272-
predicted_RBI0.480-
predicted_SLG0.388-
predicted_SO0.930-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1220.008
predicted_3B0.0000.000
predicted_AB2.8880.020
predicted_AVG0.2290.010
predicted_BB0.240-0.006
predicted_H0.5890.089
predicted_HBP0.007-
predicted_HR0.0970.017
predicted_OBP0.2900.008
predicted_R0.3080.036
predicted_RBI0.5560.077
predicted_SLG0.3980.010
predicted_SO0.925-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.1220.000
predicted_3B0.0000.000
predicted_AB2.8880.000
predicted_AVG0.203-0.027
predicted_BB0.2400.000
predicted_H0.585-0.004
predicted_HBP0.0070.000
predicted_HR0.096-0.001
predicted_OBP0.264-0.026
predicted_R0.305-0.003
predicted_RBI0.551-0.005
predicted_SLG0.345-0.053
predicted_SO0.924-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=2.89), 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-
RBI1.000-
SB0.000-
SO1.000-
6. bvp_blend

Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.071)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1310.131
3B0.0070.007
BB0.2520.252
H0.674-0.326
HR0.1020.102
RBI0.350-0.650
SO0.908-0.092
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.131
3B0.000-0.007
AB3.0000.000
BB0.000-0.252
H1.0000.326
HR0.000-0.102
R0.0000.000
RBI0.000-0.350
SO1.0000.092
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.122
predicted_3B0.000-0.000
predicted_AB3.0000.112
predicted_AVG0.2210.018
predicted_BB0.000-0.240
predicted_H1.0000.415
predicted_HR0.000-0.096
predicted_OBP0.2870.023
predicted_R0.000-0.305
predicted_RBI1.0000.449
predicted_SLG0.3690.024
predicted_SO1.0000.076
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB2.000-1.000
BB2.0002.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: 114
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-14.0005.0001.0000.0001.0007.0003.0001.0004.0000.35710.40000.64290.35710.07140.50000.07140.2857
last_100.2010-28.0006.0001.0000.0001.0008.0003.0002.00010.0000.21430.26670.35710.21430.03570.28570.07140.3571
season0.60114-327.00070.00013.0000.00011.00042.00031.00028.000106.0000.21410.27730.35470.21410.03360.12840.08560.3242
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1320
predicted_3B0.0010
predicted_AB2.9150
predicted_AVG0.2432
predicted_BB0.2310
predicted_H0.7090
predicted_HBP0.0070
predicted_HR0.1200
predicted_OBP0.3002
predicted_R0.3560
predicted_RBI0.6590
predicted_SLG0.4124
predicted_SO0.9190
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11400.13200.1217model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.86802.91502.8881model_form_blend
predicted_AVG0.21900.24320.2293model_form_blend
predicted_BB0.24600.23100.2396model_form_blend
predicted_H0.50000.70900.5893model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.08000.12000.0971model_form_blend
predicted_OBP0.28200.30020.2898model_form_blend
predicted_R0.27200.35600.3079model_form_blend
predicted_RBI0.48000.65900.5565model_form_blend
predicted_SLG0.38800.41240.3984model_form_blend
predicted_SO0.93000.91900.9253model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_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_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
allPositionsPlayed3B
gameID20261003_NYY@TB
game_typefull
mlbID641857
playerID641857
playerNameRyan McMahon
pos3B
startedTrue
startingPosition3B
teamNYY
teamID19
game_date2026-10-03
sl_k_percent29.4
sl_bb_percent7.8
sl_woba0.282
sl_xwoba0.297
sl_xba0.23
sl_xslg0.381
sl_sweet_spot_percent32.1
sl_barrel_batted_rate9.0
sl_hard_hit_percent44.8
sl_exit_velocity_avg90.5
sl_launch_angle_avg14.3
sl_whiff_percent30.2
sl_swing_percent45.5
Cam Schlittler (693645) · PITCHER · Starter · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 34
All-history rows before 20261005: 34

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB4.0004.0004.000Pitching_BB1.4711.0002.5293.000
predicted_ER1.0001.0001.000Pitching_ER1.2350.000-0.2351.000
predicted_H3.0003.0003.000Pitching_H3.8532.000-0.8531.000
predicted_IP6.0006.0006.000Pitching_InningsPitched5.7596.1000.241-0.100
predicted_SO7.0007.0007.000Pitching_SO7.32410.000-0.324-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics2
Boosted Metrics1
Deboosted Metrics1
Better Metrics2
Worse Metrics0
Biggest Boostpredicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better)
Biggest Deboostpredicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2pitcher_quality_guardrail21120predicted_SO: 4.0000 -> 7.0000 (boost 3.0000, better)predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
3current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "693645",
  "player_name": "Cam Schlittler",
  "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": 4.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 4.0,
        "predicted_ER": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 6.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 7.0,
          "delta": 3.0,
          "percent_delta": 0.75,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 7.0,
          "delta": 3.0,
          "percent_delta": 0.75,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 3,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 4.0,
        "predicted_ER": 1.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_R": 1.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 6.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": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 3.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 6.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 7.0,
        "delta": 3.0,
        "percent_delta": 0.75,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 1,
      "deboosted_metrics": 1,
      "better_metrics": 2,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 7.0,
        "delta": 3.0,
        "percent_delta": 0.75,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB4.000-
predicted_ER2.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO4.000-
2. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB4.0000.000
predicted_ER1.000-1.000
predicted_H3.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO7.0003.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 34
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45528.1003.00012.0008.00039.0001.0000.95290.70590.10590.42350.28231.37650.0353
last_100.351060.1007.00029.00019.00078.0003.0001.04420.79560.11600.48070.31491.29280.0497
season0.2034200.00042.000131.00050.000249.00016.0001.89000.90500.21000.65500.25001.24500.0800
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7560
predicted_ER1.0530
predicted_ERA1.6141
predicted_H3.2470
predicted_HR0.3630
predicted_IP6.0000
predicted_SO7.4620
predicted_WHIP0.8524
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB4.00001.75602.6629model_form_blend
predicted_ER2.00001.05301.4357model_form_blend
predicted_ERA-1.61411.6141form_only
predicted_H3.00003.24703.1472model_form_blend
predicted_HR0.00000.36300.2163model_form_blend
predicted_IP6.00006.00006.0000model_form_blend
predicted_SO4.00007.46206.0628model_form_blend
predicted_WHIP-0.85240.8524form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP6.0
H3
R1
ER1
BB4
SO7
HR0
BF26
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 Faced22
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts4
Pitching_H2
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched6.1
Pitching_Pitches117
Pitching_R0
Pitching_SO10
Pitching_Strikes77
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260929_BOS@NYY
game_typefull
mlbID693645
playerID693645
playerNameCam Schlittler
posP
startedTrue
startingPositionP
teamNYY
teamID19
game_date2026-09-29
sl_k_percent31.4
sl_bb_percent6.4
sl_woba0.243
sl_xwoba0.262
sl_sweet_spot_percent32.5
sl_barrel_batted_rate7.3
sl_hard_hit_percent38.3
sl_whiff_percent29.4
sl_swing_percent52.0
sl_avg_best_speed77.699858553
sl_avg_hyper_speed93.752402829
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 20261005: 64
All-history rows before 20261005: 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.5311.000-0.531-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2340.000-0.2340.000
predicted_H0.0000.0000.000Pitching_H0.9380.000-0.9380.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2231.200-0.123-0.100
predicted_SO0.0000.0000.000Pitching_SO1.0780.000-1.0780.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_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: 64
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.2000.0005.0002.0003.0000.0000.00001.05000.00000.75000.30000.45000.0000
last_100.351010.1001.0008.0006.0005.0001.0000.87101.35480.09680.77420.58060.48390.0968
season0.206488.10015.00060.00034.00069.0007.0001.52831.06420.16980.67930.38490.78110.0793
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5060
predicted_ER0.2030
predicted_ERA1.4731
predicted_H0.9880
predicted_HR0.0880
predicted_IP1.1000
predicted_SO0.7640
predicted_WHIP1.2036
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.50600.2829model_form_blend
predicted_ER0.00000.20300.1135model_form_blend
predicted_ERA-1.47311.4731form_only
predicted_H0.00000.98800.5524model_form_blend
predicted_HR0.00000.08800.0492model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00000.76400.8681model_form_blend
predicted_WHIP-1.20361.2036form_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.1
H0
R0
ER0
BB0
SO0
HR0
BF4
Pitches24

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.2
Pitching_Pitches25
Pitching_R0
Pitching_SO0
Pitching_Strikes16
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261003_NYY@TB
game_typefull
mlbID621112
playerID621112
playerNamePaul Blackburn
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-10-03
sl_k_percent20.5
sl_bb_percent9.8
sl_woba0.259
sl_xwoba0.296
sl_sweet_spot_percent27.5
sl_barrel_batted_rate5.6
sl_hard_hit_percent35.2
sl_whiff_percent22.8
sl_swing_percent45.7
sl_avg_best_speed75.055748879
sl_avg_hyper_speed93.465775108
David Bednar (670280) · PITCHER · Closer · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 65
All-history rows before 20261005: 65

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.3231.0000.6770.000
predicted_ER1.0001.0001.000Pitching_ER0.2920.0000.7081.000
predicted_H1.0001.0001.000Pitching_H0.8000.0000.2001.000
predicted_IP1.0001.0001.000Pitching_InningsPitched1.0141.000-0.0140.000
predicted_SO0.0000.0000.000Pitching_SO1.1851.000-1.185-1.000

Boost/Deboost Impact Trace

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-
2. pitcher_quality_run_redistribution

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER1.0001.000
predicted_H1.0000.000
predicted_HR0.0000.000
predicted_IP1.0000.000
predicted_SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 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.4556.0000.0004.0003.0005.0000.0000.00001.16670.00000.66670.50000.83330.0000
last_100.351011.0001.0009.0003.00012.0001.0000.81821.09090.09090.81820.27271.09090.0909
season0.206570.10019.00052.00021.00077.0004.0002.43131.03790.27010.73930.29861.09480.0569
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4230
predicted_ER0.2170
predicted_ERA1.7576
predicted_H0.8870
predicted_HR0.0780
predicted_IP1.0000
predicted_SO1.0730
predicted_WHIP1.1785
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.42300.6874model_form_blend
predicted_ER0.00000.21700.1176model_form_blend
predicted_ERA-1.75761.7576form_only
predicted_H1.00000.88700.9388model_form_blend
predicted_HR0.00000.07800.0423model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.07301.4978model_form_blend
predicted_WHIP-1.17851.1785form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R1
ER1
BB1
SO0
HR0
BF5
Pitches20

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches22
Pitching_R0
Pitching_SO1
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260930_BOS@NYY
game_typefull
mlbID670280
playerID670280
playerNameDavid Bednar
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-09-30
sl_k_percent27.1
sl_bb_percent7.1
sl_woba0.249
sl_xwoba0.263
sl_sweet_spot_percent26.4
sl_barrel_batted_rate4.9
sl_hard_hit_percent35.7
sl_whiff_percent30.8
sl_swing_percent53.1
sl_avg_best_speed76.065211111
sl_avg_hyper_speed93.295998994
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 20261005: 83
All-history rows before 20261005: 83

Metric-by-Metric Comparison

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

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 83
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4552.2003.0003.0004.0003.0001.00010.12502.62501.12501.12501.50001.12500.3750
last_100.35106.2004.0006.0007.0007.0001.0005.40001.95000.60000.90001.05001.05000.1500
season0.208379.00019.00068.00028.00098.0005.0002.16461.21520.24050.86080.35441.24050.0633
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6760
predicted_ER0.5060
predicted_ERA6.3489
predicted_H0.7110
predicted_HR0.1530
predicted_IP0.2000
predicted_SO0.7740
predicted_WHIP1.9327
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.67600.3724model_form_blend
predicted_ER0.00000.50600.2787model_form_blend
predicted_ERA-6.34896.3489form_only
predicted_H0.00000.71100.3917model_form_blend
predicted_HR0.00000.15300.0843model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00000.77400.4264model_form_blend
predicted_WHIP-1.93271.9327form_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 date83
Season rows before report date83
Report year2026
Profile rows used83
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced2
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches12
Pitching_R0
Pitching_SO0
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261003_NYY@TB
game_typefull
mlbID687396
playerID687396
playerNameBrent Headrick
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-10-03
sl_k_percent30.1
sl_bb_percent8.3
sl_woba0.29
sl_xwoba0.271
sl_sweet_spot_percent38.8
sl_barrel_batted_rate4.5
sl_hard_hit_percent37.3
sl_whiff_percent31.8
sl_swing_percent52.6
sl_avg_best_speed77.012885876
sl_avg_hyper_speed93.769256218

Home Team: TB

Home Pitcher Deep Analysis

FieldValue
PitcherFreddy Peralta
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1426
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0309
Avg Velo89.3129
Avg Spin2298.3634
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.1000
Pre ER4
Pre H7
Pre BB2
Pre SO4
Season ERA4.4201
Season WHIP1.3254
Role Avg IP5.2810
Recent Avg IP5.6000
Last Start IP5.1000
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "opponent": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0121,
    "opponent_offense_edge": 0.0225,
    "defense_strength": 0.1188,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9926,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "642547",
    "profile": {
      "available": true,
      "pitcher_id": "642547",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 683.0,
        "k_percent": 21.4,
        "bb_percent": 8.6,
        "woba": 0.323,
        "xwoba": 0.302,
        "sweet_spot_percent": 35.2,
        "barrel_batted_rate": 5.8,
        "hard_hit_percent": 37.2,
        "avg_best_speed": 76.4239,
        "avg_hyper_speed": 93.4809,
        "whiff_percent": 26.1,
        "swing_percent": 48.0
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.138,
        "command_and_miss": 0.03,
        "regression_edge": 0.6,
        "xwoba_edge": 0.2857,
        "barrel_edge": 0.3111,
        "hard_hit_edge": 0.1,
        "whiff_edge": 0.1286,
        "bb_edge": 0.15,
        "pitch_design_score": -0.0309
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "642547",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 83,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 83,
          "pitch_usage": 0.0,
          "release_speed": 89.31293809090894,
          "release_spin_rate": 2298.363391166723,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 83,
            "pitch_usage": 0.0,
            "release_speed": 89.31293809090894,
            "release_spin_rate": 2298.363391166723,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.3129,
          "release_spin_rate": 2298.3634,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0309,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2205,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1426,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9879,
      "strikeout_factor": 1.0011,
      "walk_factor": 0.988,
      "homer_factor": 0.9625,
      "woba_minus_xwoba": 0.021,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "642547",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9879,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9879,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 0.988,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9625,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 5.0,
        "factor": 1.0011,
        "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": 55.1,
    "ER": 20,
    "H": 41,
    "BB": 15,
    "SO": 43,
    "HR": 6,
    "ERA": 3.253012048192771,
    "WHIP": 1.0120481927710843,
    "K9": 6.993975903614458,
    "HR9": 0.9759036144578312,
    "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-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "642547",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 83,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 83,
    "pitch_usage": 0.0,
    "release_speed": 89.31293809090894,
    "release_spin_rate": 2298.363391166723,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 83,
      "pitch_usage": 0.0,
      "release_speed": 89.31293809090894,
      "release_spin_rate": 2298.363391166723,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3129,
    "release_spin_rate": 2298.3634,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0309,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2205,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "642547",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 32,
  "reference_playing_time": 5.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 28.0,
        "ER": 3.0,
        "R": 3.0,
        "H": 16.0,
        "BB": 9.0,
        "SO": 23.0,
        "HR": 1.0,
        "BF": 109.0,
        "Pitches": 442.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 3.2,
        "BB": 1.8,
        "SO": 4.6,
        "HR": 0.2,
        "BF": 21.8,
        "Pitches": 88.4
      },
      "rates": {
        "ERA": 0.9643,
        "WHIP": 0.8929,
        "ER_per_IP": 0.10714,
        "H_per_IP": 0.57143,
        "BB_per_IP": 0.32143,
        "SO_per_IP": 0.82143,
        "HR_per_IP": 0.03571
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 55.1,
        "ER": 20.0,
        "R": 20.0,
        "H": 41.0,
        "BB": 15.0,
        "SO": 43.0,
        "HR": 6.0,
        "BF": 218.0,
        "Pitches": 866.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 2.0,
        "R": 2.0,
        "H": 4.1,
        "BB": 1.5,
        "SO": 4.3,
        "HR": 0.6,
        "BF": 21.8,
        "Pitches": 86.6
      },
      "rates": {
        "ERA": 3.253,
        "WHIP": 1.012,
        "ER_per_IP": 0.36145,
        "H_per_IP": 0.74096,
        "BB_per_IP": 0.27108,
        "SO_per_IP": 0.77711,
        "HR_per_IP": 0.10843
      }
    },
    "season": {
      "games": 32,
      "totals": {
        "IP": 169.0,
        "ER": 83.0,
        "R": 91.0,
        "H": 161.0,
        "BB": 63.0,
        "SO": 156.0,
        "HR": 23.0,
        "BF": 730.0,
        "Pitches": 2959.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 2.5938,
        "R": 2.8438,
        "H": 5.0312,
        "BB": 1.9688,
        "SO": 4.875,
        "HR": 0.7188,
        "BF": 22.8125,
        "Pitches": 92.4688
      },
      "rates": {
        "ERA": 4.4201,
        "WHIP": 1.3254,
        "ER_per_IP": 0.49112,
        "H_per_IP": 0.95266,
        "BB_per_IP": 0.37278,
        "SO_per_IP": 0.92308,
        "HR_per_IP": 0.13609
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 1.699,
    "predicted_H": 4.142,
    "predicted_BB": 1.797,
    "predicted_SO": 4.679,
    "predicted_HR": 0.502,
    "predicted_ERA": 2.7486,
    "predicted_WHIP": 1.0675
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4071,
  "form_weight": 0.5929,
  "form_reliability": 0.8649,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 32.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8649,
    "prior_weight": 0.1351
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.1,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 4.0,
      "form": 1.699,
      "final": 2.6357,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 7.0,
      "form": 4.142,
      "final": 5.3054,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.797,
      "final": 1.8796,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 4.0,
      "form": 4.679,
      "final": 4.4026,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.502,
      "final": 0.7047,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7486,
      "final": 2.7486,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0675,
      "final": 1.0675,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBryan Baker
RoleCloser
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4562
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0670
Avg Velo91.0610
Avg Spin2094.4919
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO1
Season ERA1.2789
Season WHIP0.8526
Role Avg IP0.9900
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "opponent": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0121,
    "opponent_offense_edge": 0.0225,
    "defense_strength": 0.1188,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9926,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "641329",
    "profile": {
      "available": true,
      "pitcher_id": "641329",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 227.0,
        "k_percent": 25.8,
        "bb_percent": 9.0,
        "woba": 0.231,
        "xwoba": 0.272,
        "sweet_spot_percent": 33.1,
        "barrel_batted_rate": 7.0,
        "hard_hit_percent": 35.7,
        "avg_best_speed": 74.9962,
        "avg_hyper_speed": 93.5589,
        "whiff_percent": 27.2,
        "swing_percent": 52.6
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.9354,
        "command_and_miss": 0.3479,
        "regression_edge": -1.1714,
        "xwoba_edge": 1.1429,
        "barrel_edge": 0.0444,
        "hard_hit_edge": 0.3143,
        "whiff_edge": 0.2857,
        "bb_edge": 0.05,
        "pitch_design_score": 0.067
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "641329",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 20,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 20,
          "pitch_usage": 0.0,
          "release_speed": 91.0609741789056,
          "release_spin_rate": 2094.491937190086,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 20,
            "pitch_usage": 0.0,
            "release_speed": 91.0609741789056,
            "release_spin_rate": 2094.491937190086,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 91.061,
          "release_spin_rate": 2094.4919,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.067,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.4787,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.4562,
      "sample_weight": 0.908,
      "run_prevention_factor": 0.9612,
      "strikeout_factor": 1.0296,
      "walk_factor": 0.9964,
      "homer_factor": 0.9542,
      "woba_minus_xwoba": -0.041,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "641329",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9648,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9648,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9967,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9584,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0269,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 0,
    "H": 5,
    "BB": 3,
    "SO": 5,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.8571428571428572,
    "K9": 4.821428571428572,
    "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-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "641329",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 20,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 20,
    "pitch_usage": 0.0,
    "release_speed": 91.0609741789056,
    "release_spin_rate": 2094.491937190086,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 20,
      "pitch_usage": 0.0,
      "release_speed": 91.0609741789056,
      "release_spin_rate": 2094.491937190086,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 91.061,
    "release_spin_rate": 2094.4919,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.067,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.4787,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.075,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7234,
    "prior_weight": 0.2766
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "641329",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 64,
  "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": 3.0,
        "HR": 0.0,
        "BF": 18.0,
        "Pitches": 72.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.6,
        "Pitches": 14.4
      },
      "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.6,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 5.0,
        "BB": 3.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 37.0,
        "Pitches": 142.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.5,
        "BB": 0.3,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.7,
        "Pitches": 14.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.7742,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.48387,
        "BB_per_IP": 0.29032,
        "SO_per_IP": 0.58065,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 64,
      "totals": {
        "IP": 63.1,
        "ER": 9.0,
        "R": 10.0,
        "H": 34.0,
        "BB": 20.0,
        "SO": 65.0,
        "HR": 4.0,
        "BF": 244.0,
        "Pitches": 971.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1406,
        "R": 0.1562,
        "H": 0.5312,
        "BB": 0.3125,
        "SO": 1.0156,
        "HR": 0.0625,
        "BF": 3.8125,
        "Pitches": 15.1719
      },
      "rates": {
        "ERA": 1.2789,
        "WHIP": 0.8526,
        "ER_per_IP": 0.14211,
        "H_per_IP": 0.53684,
        "BB_per_IP": 0.31579,
        "SO_per_IP": 1.02632,
        "HR_per_IP": 0.06316
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.163,
    "predicted_H": 0.668,
    "predicted_BB": 0.289,
    "predicted_SO": 0.749,
    "predicted_HR": 0.05,
    "predicted_ERA": 1.4626,
    "predicted_WHIP": 0.9572
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4669,
  "form_weight": 0.5331,
  "form_reliability": 0.7234,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.075,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7234,
    "prior_weight": 0.2766
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.163,
      "final": 0.0869,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.668,
      "final": 0.3561,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.289,
      "final": 0.6209,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.749,
      "final": 0.8662,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.05,
      "final": 0.0267,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.4626,
      "final": 1.4626,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9572,
      "final": 0.9572,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherCam Booser
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4179
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0509
Avg Velo90.7732
Avg Spin2027.3870
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB1
Pre SO1
Season ERA1.9756
Season WHIP0.7561
Role Avg IP0.9760
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "opponent": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0121,
    "opponent_offense_edge": 0.0225,
    "defense_strength": 0.1188,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9926,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "592155",
    "profile": {
      "available": true,
      "pitcher_id": "592155",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 137.0,
        "k_percent": 29.6,
        "bb_percent": 3.9,
        "woba": 0.222,
        "xwoba": 0.252,
        "sweet_spot_percent": 32.7,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 37.6,
        "avg_best_speed": 81.0831,
        "avg_hyper_speed": 94.1974,
        "whiff_percent": 28.6,
        "swing_percent": 55.5
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 1.0817,
        "command_and_miss": 0.9171,
        "regression_edge": -0.8571,
        "xwoba_edge": 1.7143,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 0.0429,
        "whiff_edge": 0.4857,
        "bb_edge": 1.325,
        "pitch_design_score": 0.0509
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "592155",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 9,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 9,
          "pitch_usage": 0.0,
          "release_speed": 90.77323781639957,
          "release_spin_rate": 2027.3869910134617,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 9,
            "pitch_usage": 0.0,
            "release_speed": 90.77323781639957,
            "release_spin_rate": 2027.3869910134617,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 90.7732,
          "release_spin_rate": 2027.387,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": 0.0509,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": 0.3636,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.4179,
      "sample_weight": 0.548,
      "run_prevention_factor": 0.9645,
      "strikeout_factor": 1.0341,
      "walk_factor": 0.9419,
      "homer_factor": 0.9582,
      "woba_minus_xwoba": -0.03,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "592155",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9805,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9805,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9682,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9771,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0187,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 7.2,
    "ER": 0,
    "H": 2,
    "BB": 0,
    "SO": 6,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.2608695652173913,
    "K9": 7.0434782608695645,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "592155",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 9,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 9,
    "pitch_usage": 0.0,
    "release_speed": 90.77323781639957,
    "release_spin_rate": 2027.3869910134617,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 9,
      "pitch_usage": 0.0,
      "release_speed": 90.77323781639957,
      "release_spin_rate": 2027.3869910134617,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 90.7732,
    "release_spin_rate": 2027.387,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0509,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.3636,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.464,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6286,
    "prior_weight": 0.3714
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592155",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 42,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 0.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 13.0,
        "Pitches": 47.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.0,
        "SO": 0.8,
        "HR": 0.0,
        "BF": 2.6,
        "Pitches": 9.4
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.25,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.25,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 86.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 2.4,
        "Pitches": 8.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.2609,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.26087,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.78261,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 42,
      "totals": {
        "IP": 41.0,
        "ER": 9.0,
        "R": 10.0,
        "H": 25.0,
        "BB": 6.0,
        "SO": 45.0,
        "HR": 5.0,
        "BF": 152.0,
        "Pitches": 573.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2143,
        "R": 0.2381,
        "H": 0.5952,
        "BB": 0.1429,
        "SO": 1.0714,
        "HR": 0.119,
        "BF": 3.619,
        "Pitches": 13.6429
      },
      "rates": {
        "ERA": 1.9756,
        "WHIP": 0.7561,
        "ER_per_IP": 0.21951,
        "H_per_IP": 0.60976,
        "BB_per_IP": 0.14634,
        "SO_per_IP": 1.09756,
        "HR_per_IP": 0.12195
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.182,
    "predicted_H": 0.475,
    "predicted_BB": 0.133,
    "predicted_SO": 0.783,
    "predicted_HR": 0.058,
    "predicted_ERA": 1.9637,
    "predicted_WHIP": 0.73
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5069,
  "form_weight": 0.4931,
  "form_reliability": 0.6286,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.464,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6286,
    "prior_weight": 0.3714
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 0.2,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.182,
      "final": 0.0897,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.475,
      "final": 0.2342,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.133,
      "final": 0.5725,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.783,
      "final": 0.893,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.058,
      "final": 0.0286,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9637,
      "final": 1.9637,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.73,
      "final": 0.73,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherKevin Kelly
RoleSetup Man
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.2796
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0402
Avg Velo89.1464
Avg Spin2031.0064
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA2.4434
Season WHIP0.8959
Role Avg IP1.0380
Recent Avg IP0.9330
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "opponent": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0121,
    "opponent_offense_edge": 0.0225,
    "defense_strength": 0.1188,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9926,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "687330",
    "profile": {
      "available": true,
      "pitcher_id": "687330",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 260.0,
        "k_percent": 22.6,
        "bb_percent": 3.9,
        "woba": 0.246,
        "xwoba": 0.284,
        "sweet_spot_percent": 31.2,
        "barrel_batted_rate": 6.0,
        "hard_hit_percent": 44.6,
        "avg_best_speed": 78.7371,
        "avg_hyper_speed": 94.6069,
        "whiff_percent": 24.0,
        "swing_percent": 49.4
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": 0.5887,
        "command_and_miss": 0.2371,
        "regression_edge": -1.0857,
        "xwoba_edge": 0.8,
        "barrel_edge": 0.2667,
        "hard_hit_edge": -0.9571,
        "whiff_edge": -0.1714,
        "bb_edge": 1.325,
        "pitch_design_score": -0.0402
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "687330",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 28,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 28,
          "pitch_usage": 0.0,
          "release_speed": 89.1463705272063,
          "release_spin_rate": 2031.0064061373982,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 28,
            "pitch_usage": 0.0,
            "release_speed": 89.1463705272063,
            "release_spin_rate": 2031.0064061373982,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": null,
            "release_extension": 0.0,
            "arm_angle": 0.0,
            "whiff_percent": 0.0,
            "xwoba": 0.0,
            "hard_hit_percent": 0.0
          }
        ],
        "summary": {
          "release_speed": 89.1464,
          "release_spin_rate": 2031.0064,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.0402,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.2871,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -0.0
        },
        "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
      },
      "quality_score": 0.2796,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9762,
      "strikeout_factor": 0.996,
      "walk_factor": 0.894,
      "homer_factor": 0.993,
      "woba_minus_xwoba": -0.038,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "687330",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9762,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9762,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.894,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.993,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.996,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 8.0,
    "ER": 6,
    "H": 12,
    "BB": 0,
    "SO": 11,
    "HR": 1,
    "ERA": 6.75,
    "WHIP": 1.5,
    "K9": 12.375,
    "HR9": 1.125,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "687330",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 28,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 28,
    "pitch_usage": 0.0,
    "release_speed": 89.1463705272063,
    "release_spin_rate": 2031.0064061373982,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 28,
      "pitch_usage": 0.0,
      "release_speed": 89.1463705272063,
      "release_spin_rate": 2031.0064061373982,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 89.1464,
    "release_spin_rate": 2031.0064,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0402,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.2871,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.208,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7526,
    "prior_weight": 0.2474
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "687330",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 71,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.2,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 19.0,
        "Pitches": 59.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.0,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 11.8
      },
      "rates": {
        "ERA": 1.9286,
        "WHIP": 1.0714,
        "ER_per_IP": 0.21429,
        "H_per_IP": 1.07143,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 8.0,
        "ER": 6.0,
        "R": 7.0,
        "H": 12.0,
        "BB": 0.0,
        "SO": 11.0,
        "HR": 1.0,
        "BF": 36.0,
        "Pitches": 131.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.6,
        "R": 0.7,
        "H": 1.2,
        "BB": 0.0,
        "SO": 1.1,
        "HR": 0.1,
        "BF": 3.6,
        "Pitches": 13.1
      },
      "rates": {
        "ERA": 6.75,
        "WHIP": 1.5,
        "ER_per_IP": 0.75,
        "H_per_IP": 1.5,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.375,
        "HR_per_IP": 0.125
      }
    },
    "season": {
      "games": 71,
      "totals": {
        "IP": 73.2,
        "ER": 20.0,
        "R": 23.0,
        "H": 55.0,
        "BB": 11.0,
        "SO": 63.0,
        "HR": 6.0,
        "BF": 279.0,
        "Pitches": 987.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2817,
        "R": 0.3239,
        "H": 0.7746,
        "BB": 0.1549,
        "SO": 0.8873,
        "HR": 0.0845,
        "BF": 3.9296,
        "Pitches": 13.9014
      },
      "rates": {
        "ERA": 2.4434,
        "WHIP": 0.8959,
        "ER_per_IP": 0.27149,
        "H_per_IP": 0.74661,
        "BB_per_IP": 0.14932,
        "SO_per_IP": 0.8552,
        "HR_per_IP": 0.08145
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.4,
    "predicted_H": 1.016,
    "predicted_BB": 0.106,
    "predicted_SO": 1.056,
    "predicted_HR": 0.075,
    "predicted_ERA": 3.9416,
    "predicted_WHIP": 1.2304
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4545,
  "form_weight": 0.5455,
  "form_reliability": 0.7526,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 15.208,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7526,
    "prior_weight": 0.2474
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.4,
      "final": 0.2182,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 1.016,
      "final": 0.5542,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.106,
      "final": 0.0578,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 1.056,
      "final": 0.576,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.075,
      "final": 0.0409,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.9416,
      "final": 3.9416,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2304,
      "final": 1.2304,
      "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
PitcherCole Sulser
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.1006
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.1013
Avg Velo88.0544
Avg Spin2119.2007
HB Inches0
IVB Inches0
Release Extension0
Pre IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO0
Season ERA3.8343
Season WHIP1.1893
Role Avg IP1.0900
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "method": "team_form_snapshot",
  "role": "pitcher",
  "team": {
    "team": "TB",
    "games": 162,
    "wins": 98,
    "losses": 64,
    "win_pct": 0.6049,
    "runs_scored": 736.0,
    "runs_allowed": 650.0,
    "run_differential": 86.0,
    "run_differential_per_game": 0.5309,
    "avg_runs_scored": 4.5432,
    "avg_runs_allowed": 4.0123,
    "offense_index": 1.0121,
    "defense_index": 1.1188,
    "current_streak": "L1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 3.8,
      "avg_runs_allowed": 3.2,
      "run_differential": 6.0
    },
    "available": true,
    "quality_score": 0.1542
  },
  "opponent": {
    "team": "NYY",
    "games": 161,
    "wins": 93,
    "losses": 68,
    "win_pct": 0.5776,
    "runs_scored": 739.0,
    "runs_allowed": 601.0,
    "run_differential": 138.0,
    "run_differential_per_game": 0.8571,
    "avg_runs_scored": 4.5901,
    "avg_runs_allowed": 3.7329,
    "offense_index": 1.0225,
    "defense_index": 1.2025,
    "current_streak": "W1",
    "recent": {
      "games": 10,
      "wins": 5,
      "losses": 5,
      "win_pct": 0.5,
      "avg_runs_scored": 4.6,
      "avg_runs_allowed": 4.5,
      "run_differential": 1.0
    },
    "available": true,
    "quality_score": 0.171
  },
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0121,
    "opponent_offense_edge": 0.0225,
    "defense_strength": 0.1188,
    "opponent_defense_weakness": -0.2025,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.002,
    "run_prevention": 0.9926,
    "strikeout": 0.9977
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "642121",
    "profile": {
      "available": true,
      "pitcher_id": "642121",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 209.0,
        "k_percent": 23.7,
        "bb_percent": 7.2,
        "woba": 0.306,
        "xwoba": 0.321,
        "sweet_spot_percent": 37.4,
        "barrel_batted_rate": 11.8,
        "hard_hit_percent": 41.1,
        "avg_best_speed": 75.7042,
        "avg_hyper_speed": 94.3453,
        "whiff_percent": 27.1,
        "swing_percent": 51.1
      },
      "league_medians": {
        "pa": 134.0,
        "k_percent": 22.1,
        "bb_percent": 9.2,
        "woba": 0.315,
        "xwoba": 0.312,
        "sweet_spot_percent": 33.3,
        "barrel_batted_rate": 7.2,
        "hard_hit_percent": 37.9,
        "avg_best_speed": 77.6432,
        "avg_hyper_speed": 93.9005,
        "whiff_percent": 25.2,
        "swing_percent": 47.4
      },
      "components": {
        "contact_quality": -0.2621,
        "command_and_miss": 0.2979,
        "regression_edge": -0.4286,
        "xwoba_edge": -0.2571,
        "barrel_edge": -1.0222,
        "hard_hit_edge": -0.4571,
        "whiff_edge": 0.2714,
        "bb_edge": 0.5,
        "pitch_design_score": -0.1013
      },
      "pitch_movement_profile": {
        "available": true,
        "pitcher_id": "642121",
        "player_name": null,
        "source": "all_players_stats.csv embedded Savant pitcher movement features",
        "total_pitches": 12,
        "primary_pitch": {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 12,
          "pitch_usage": 0.0,
          "release_speed": 88.05442215361292,
          "release_spin_rate": 2119.2006534735324,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": null,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "pitch_mix": [
          {
            "pitch_type": null,
            "pitch_name": null,
            "pitches": 12,
            "pitch_usage": 0.0,
            "release_speed": 88.05442215361292,
            "release_spin_rate": 2119.2006534735324,
            "spin_axis": null,
            "horizontal_break_inches": 0.0,
            "induced_vertical_break_inches": 0.0,
            "vertical_break_with_gravity_inches": null,
            "release_pos_x": null,
            "release_pos_z": 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.0544,
          "release_spin_rate": 2119.2007,
          "spin_axis": 0.0,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": 0.0,
          "release_pos_x": 0.0,
          "release_pos_z": 0.0,
          "release_extension": 0.0,
          "arm_angle": 0.0,
          "whiff_percent": 0.0,
          "xwoba": 0.0,
          "hard_hit_percent": 0.0
        },
        "components": {
          "movement_score": -0.1013,
          "horizontal_break_edge": 0.0,
          "induced_vertical_break_edge": 0.0,
          "extension_edge": 0.0,
          "velocity_edge": -0.7239,
          "whiff_edge": 0.0,
          "xwoba_edge": -0.0,
          "hard_hit_edge": -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.1006,
      "sample_weight": 0.836,
      "run_prevention_factor": 1.0085,
      "strikeout_factor": 1.0167,
      "walk_factor": 0.9666,
      "homer_factor": 1.0901,
      "woba_minus_xwoba": -0.015,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "642121",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 1.0071,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 1.0071,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.9721,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0753,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.014,
        "adjusted": 2
      }
    }
  }
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 2,
    "H": 6,
    "BB": 3,
    "SO": 8,
    "HR": 1,
    "ERA": 1.8,
    "WHIP": 0.9,
    "K9": 7.2,
    "HR9": 0.9,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-09-26T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "642121",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 12,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 12,
    "pitch_usage": 0.0,
    "release_speed": 88.05442215361292,
    "release_spin_rate": 2119.2006534735324,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 12,
      "pitch_usage": 0.0,
      "release_speed": 88.05442215361292,
      "release_spin_rate": 2119.2006534735324,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.0544,
    "release_spin_rate": 2119.2007,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.1013,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.7239,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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.63,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6993,
    "prior_weight": 0.3007
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "642121",
  "report_date": "20261005",
  "season_year": 2026,
  "rows_used": 50,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.0,
        "ER": 1.0,
        "R": 1.0,
        "H": 4.0,
        "BB": 2.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 21.0,
        "Pitches": 91.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.8,
        "BB": 0.4,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 4.2,
        "Pitches": 18.2
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 1.2,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.8,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.2,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 8.0,
        "HR": 1.0,
        "BF": 39.0,
        "Pitches": 162.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.3,
        "SO": 0.8,
        "HR": 0.1,
        "BF": 3.9,
        "Pitches": 16.2
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.9,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.3,
        "SO_per_IP": 0.8,
        "HR_per_IP": 0.1
      }
    },
    "season": {
      "games": 50,
      "totals": {
        "IP": 56.1,
        "ER": 24.0,
        "R": 28.0,
        "H": 51.0,
        "BB": 16.0,
        "SO": 56.0,
        "HR": 7.0,
        "BF": 233.0,
        "Pitches": 925.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.48,
        "R": 0.56,
        "H": 1.02,
        "BB": 0.32,
        "SO": 1.12,
        "HR": 0.14,
        "BF": 4.66,
        "Pitches": 18.5
      },
      "rates": {
        "ERA": 3.8343,
        "WHIP": 1.1893,
        "ER_per_IP": 0.42604,
        "H_per_IP": 0.90533,
        "BB_per_IP": 0.28402,
        "SO_per_IP": 0.99408,
        "HR_per_IP": 0.12426
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.293,
    "predicted_H": 0.739,
    "predicted_BB": 0.318,
    "predicted_SO": 0.894,
    "predicted_HR": 0.078,
    "predicted_ERA": 2.9321,
    "predicted_WHIP": 1.1746
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.477,
  "form_weight": 0.523,
  "form_reliability": 0.6993,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.63,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6993,
    "prior_weight": 0.3007
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.293,
      "final": 0.1532,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.739,
      "final": 0.3865,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.318,
      "final": 0.1663,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.894,
      "final": 0.4675,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.078,
      "final": 0.0408,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9321,
      "final": 2.9321,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.1746,
      "final": 1.1746,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Liam Hicks (689414) · BATTER · C · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 124
All-history rows before 20261005: 124
System season_avg: 0.2840
Data season_avg (2026 season-to-date): 0.3182
Diff (system - data): -0.0342
System opponent_avg: 0.2700
System season_avg diverges from 2026 season-to-date by -0.0342. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1190.0000.000Hitting_2B0.2101.000-0.210-1.000
predicted_3B0.0070.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7903.0004.000Hitting_AB3.3713.000-0.3710.000
predicted_AVG0.2660.0000.250Hitting_AVG0.3180.333-0.318-0.333
predicted_BB0.3991.0000.000Hitting_BB0.4441.0000.5560.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H1.0100.0001.000Hitting_H1.0731.000-1.073-1.000
predicted_HR0.0900.0000.000Hitting_HR0.1450.000-0.1450.000
predicted_OBP0.3650.2500.250Hitting_OBP0.4110.500-0.161-0.250
predicted_R0.4620.0000.000Hitting_R0.3710.000-0.3710.000
predicted_RBI0.5100.0001.000Hitting_RBI0.7340.000-0.7340.000
predicted_SLG0.3950.0000.250Hitting_SLG0.5100.667-0.510-0.667
predicted_SO0.3852.0001.000Hitting_SO0.3470.0001.6532.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.3850 -> 2.0000 (boost 1.6150, worse)
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_blend32121predicted_2B: 0.1190 -> 0.1712 (boost 0.0522, better)predicted_AB: 3.7900 -> 3.6551 (deboost -0.1349, worse)Final model input calibrated 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.3641 -> 0.3417 (deboost -0.0224, 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_AB: 3.6551 -> 4.0000 (boost 0.3449, better)predicted_RBI: 0.4741 -> 0.0000 (deboost -0.4741, worse)AB rounded to 4 (raw=3.79), rates preserved: AVG=0.226 HR/AB=0.022
6consistency_constraints10101-predicted_R: 0.4345 -> 0.0000 (deboost -0.4345, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5365 (boost 0.5365, better)predicted_H: 1.0000 -> 0.8289 (deboost -0.1711, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation63324predicted_SO: 0.5148 -> 1.0000 (boost 0.4852, worse)predicted_BB: 0.3212 -> 0.0000 (deboost -0.3212, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context51423predicted_SLG: 0.3850 -> 0.3920 (boost 0.0070, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_box_score_reference42213predicted_SO: 0.0000 -> 2.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_final32121predicted_OBP: 0.2980 -> 0.3417 (boost 0.0437, better)predicted_SLG: 0.3920 -> 0.3850 (deboost -0.0070, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "689414",
  "player_name": "Liam Hicks",
  "position": "C",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.119,
        "predicted_3B": 0.007,
        "predicted_AB": 3.79,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.399,
        "predicted_H": 1.01,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.365,
        "predicted_R": 0.462,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.395,
        "predicted_SO": 0.385
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.0061,
        "predicted_AB": 3.6551,
        "predicted_AVG": 0.27,
        "predicted_BB": 0.4208,
        "predicted_H": 0.9874,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0856,
        "predicted_OBP": 0.3641,
        "predicted_R": 0.445,
        "predicted_RBI": 0.4856,
        "predicted_SLG": 0.4041,
        "predicted_SO": 0.3976
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.1712,
          "delta": 0.0522,
          "percent_delta": 0.4387,
          "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.79,
          "after": 3.6551,
          "delta": -0.1349,
          "percent_delta": -0.0356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.27,
          "delta": 0.004,
          "percent_delta": 0.015,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.399,
          "after": 0.4208,
          "delta": 0.0218,
          "percent_delta": 0.0546,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.01,
          "after": 0.9874,
          "delta": -0.0226,
          "percent_delta": -0.0224,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.09,
          "after": 0.0856,
          "delta": -0.0044,
          "percent_delta": -0.0489,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.365,
          "after": 0.3641,
          "delta": -0.0009,
          "percent_delta": -0.0025,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.462,
          "after": 0.445,
          "delta": -0.017,
          "percent_delta": -0.0368,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.51,
          "after": 0.4856,
          "delta": -0.0244,
          "percent_delta": -0.0478,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.395,
          "after": 0.4041,
          "delta": 0.0091,
          "percent_delta": 0.023,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.385,
          "after": 0.3976,
          "delta": 0.0126,
          "percent_delta": 0.0327,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.119,
          "after": 0.1712,
          "delta": 0.0522,
          "percent_delta": 0.4387,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.79,
          "after": 3.6551,
          "delta": -0.1349,
          "percent_delta": -0.0356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1712,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.6551,
        "predicted_AVG": 0.2659,
        "predicted_BB": 0.4208,
        "predicted_H": 0.9719,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0839,
        "predicted_OBP": 0.3417,
        "predicted_R": 0.4345,
        "predicted_RBI": 0.4741,
        "predicted_SLG": 0.385,
        "predicted_SO": 0.3976
      },
      "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.0061,
          "after": 0.0061,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6551,
          "after": 3.6551,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.27,
          "after": 0.2659,
          "delta": -0.0041,
          "percent_delta": -0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4208,
          "after": 0.4208,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9874,
          "after": 0.9719,
          "delta": -0.0155,
          "percent_delta": -0.0157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.047,
          "after": 0.047,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0856,
          "after": 0.0839,
          "delta": -0.0017,
          "percent_delta": -0.0199,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3641,
          "after": 0.3417,
          "delta": -0.0224,
          "percent_delta": -0.0615,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.445,
          "after": 0.4345,
          "delta": -0.0105,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4856,
          "after": 0.4741,
          "delta": -0.0115,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4041,
          "after": 0.385,
          "delta": -0.0191,
          "percent_delta": -0.0473,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3976,
          "after": 0.3976,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3641,
          "after": 0.3417,
          "delta": -0.0224,
          "percent_delta": -0.0615,
          "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.226 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": 0.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.0061,
          "after": 0.0,
          "delta": -0.0061,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.6551,
          "after": 4.0,
          "delta": 0.3449,
          "percent_delta": 0.0944,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4208,
          "after": 0.0,
          "delta": -0.4208,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9719,
          "after": 1.0,
          "delta": 0.0281,
          "percent_delta": 0.0289,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.047,
          "after": 0.0,
          "delta": -0.047,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0839,
          "after": 0.0,
          "delta": -0.0839,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4741,
          "after": 0.0,
          "delta": -0.4741,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3976,
          "after": 0.0,
          "delta": -0.3976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.6551,
          "after": 4.0,
          "delta": 0.3449,
          "percent_delta": 0.0944,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4741,
          "after": 0.0,
          "delta": -0.4741,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4345,
          "after": 0.0,
          "delta": -0.4345,
          "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.4345,
          "after": 0.0,
          "delta": -0.4345,
          "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.158,
        "predicted_3B": 0.01,
        "predicted_BB": 0.3212,
        "predicted_H": 0.8289,
        "predicted_HR": 0.1363,
        "predicted_RBI": 0.5365,
        "predicted_SO": 0.5148
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.158,
          "delta": 0.158,
          "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.3212,
          "delta": 0.3212,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8289,
          "delta": -0.1711,
          "percent_delta": -0.1711,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1363,
          "delta": 0.1363,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5365,
          "delta": 0.5365,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5148,
          "delta": 0.5148,
          "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_RBI",
          "before": 0.0,
          "after": 0.5365,
          "delta": 0.5365,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8289,
          "delta": -0.1711,
          "percent_delta": -0.1711,
          "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.158,
          "after": 0.0,
          "delta": -0.158,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.01,
          "after": 0.0,
          "delta": -0.01,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3212,
          "after": 0.0,
          "delta": -0.3212,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8289,
          "after": 1.0,
          "delta": 0.1711,
          "percent_delta": 0.2064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1363,
          "after": 0.0,
          "delta": -0.1363,
          "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.5365,
          "after": 1.0,
          "delta": 0.4635,
          "percent_delta": 0.8639,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5148,
          "after": 1.0,
          "delta": 0.4852,
          "percent_delta": 0.9425,
          "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.5148,
          "after": 1.0,
          "delta": 0.4852,
          "percent_delta": 0.9425,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3212,
          "after": 0.0,
          "delta": -0.3212,
          "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.23,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2659,
          "after": 0.23,
          "delta": -0.0359,
          "percent_delta": -0.135,
          "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.3417,
          "after": 0.298,
          "delta": -0.0437,
          "percent_delta": -0.1279,
          "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.385,
          "after": 0.392,
          "delta": 0.007,
          "percent_delta": 0.0182,
          "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": 1,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.385,
          "after": 0.392,
          "delta": 0.007,
          "percent_delta": 0.0182,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 10,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.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": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "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.2659,
        "predicted_BB": 1.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3417,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.385,
        "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.23,
          "after": 0.2659,
          "delta": 0.0359,
          "percent_delta": 0.1561,
          "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.298,
          "after": 0.3417,
          "delta": 0.0437,
          "percent_delta": 0.1466,
          "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.392,
          "after": 0.385,
          "delta": -0.007,
          "percent_delta": -0.018,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.3417,
          "delta": 0.0437,
          "percent_delta": 0.1466,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.392,
          "after": 0.385,
          "delta": -0.007,
          "percent_delta": -0.018,
          "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.007,
        "after": 0.0,
        "delta": -0.007,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.79,
        "after": 3.0,
        "delta": -0.79,
        "percent_delta": -0.2084,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.2659,
        "delta": -0.0001,
        "percent_delta": -0.0004,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.399,
        "after": 1.0,
        "delta": 0.601,
        "percent_delta": 1.5063,
        "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.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.365,
        "after": 0.3417,
        "delta": -0.0233,
        "percent_delta": -0.0638,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.462,
        "after": 0.0,
        "delta": -0.462,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.395,
        "after": 0.385,
        "delta": -0.01,
        "percent_delta": -0.0253,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.385,
        "after": 2.0,
        "delta": 1.615,
        "percent_delta": 4.1948,
        "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.385,
        "after": 2.0,
        "delta": 1.615,
        "percent_delta": 4.1948,
        "direction": "boost",
        "projection_effect": "worse",
        "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.119-
predicted_3B0.007-
predicted_AB3.790-
predicted_AVG0.266-
predicted_BB0.399-
predicted_H1.010-
predicted_HR0.090-
predicted_OBP0.365-
predicted_R0.462-
predicted_RBI0.510-
predicted_SLG0.395-
predicted_SO0.385-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1710.052
predicted_3B0.006-0.001
predicted_AB3.655-0.135
predicted_AVG0.2700.004
predicted_BB0.4210.022
predicted_H0.987-0.023
predicted_HBP0.047-
predicted_HR0.086-0.004
predicted_OBP0.364-0.001
predicted_R0.445-0.017
predicted_RBI0.486-0.024
predicted_SLG0.4040.009
predicted_SO0.3980.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.0060.000
predicted_AB3.6550.000
predicted_AVG0.266-0.004
predicted_BB0.4210.000
predicted_H0.972-0.016
predicted_HBP0.0470.000
predicted_HR0.084-0.002
predicted_OBP0.342-0.022
predicted_R0.434-0.011
predicted_RBI0.474-0.011
predicted_SLG0.385-0.019
predicted_SO0.3980.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.79), rates preserved: AVG=0.226 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-
SO0.000-
6. consistency_constraints

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

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

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

MetricValueDelta vs Prev Step
2B0.1580.158
3B0.0100.010
BB0.3210.321
H0.829-0.171
HR0.1360.136
RBI0.5360.536
SO0.5150.515
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.158
3B0.000-0.010
AB4.0000.000
BB0.000-0.321
H1.0000.171
HR0.000-0.136
R0.0000.000
RBI1.0000.464
SO1.0000.485
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.171
predicted_3B0.000-0.006
predicted_AB4.0000.345
predicted_AVG0.230-0.036
predicted_BB0.000-0.421
predicted_H1.0000.028
predicted_HR0.000-0.084
predicted_OBP0.298-0.044
predicted_R0.000-0.434
predicted_RBI0.000-0.474
predicted_SLG0.3920.007
predicted_SO0.000-0.398
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
CS0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SB0.0000.000
SF0.0000.000
SO2.0001.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.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0003.0000.0000.0001.0002.0003.0002.0000.25000.34780.40000.25000.00000.05000.15000.1000
last_100.2010-32.0009.0003.0000.0000.0003.0003.0005.0004.0000.28120.37840.37500.28120.00000.09380.15620.1250
season0.60143-482.000137.00017.0001.00018.00082.00066.00057.00055.0000.28420.36800.43570.28420.03730.17010.11830.1141
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2390
predicted_3B0.0050
predicted_AB3.4800
predicted_AVG0.2753
predicted_BB0.4490
predicted_H0.9580
predicted_HBP0.0470
predicted_HR0.0800
predicted_OBP0.3629
predicted_R0.4230
predicted_RBI0.4540
predicted_SLG0.4160
predicted_SO0.4140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11900.23900.1712model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB3.79003.48003.6551model_form_blend
predicted_AVG0.26600.27530.2700model_form_blend
predicted_BB0.39900.44900.4208model_form_blend
predicted_H1.01000.95800.9874model_form_blend
predicted_HBP-0.04700.0470form_only
predicted_HR0.09000.08000.0856model_form_blend
predicted_OBP0.36500.36290.3641model_form_blend
predicted_R0.46200.42300.4450model_form_blend
predicted_RBI0.51000.45400.4856model_form_blend
predicted_SLG0.39500.41600.4041model_form_blend
predicted_SO0.38500.41400.3976model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date124
Season rows before report date124
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
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_2B1
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_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
allPositionsPlayedC
gameID20261003_NYY@TB
game_typefull
mlbID689414
playerID689414
playerNameLiam Hicks
posC
startedTrue
startingPositionC
teamTB
teamID27
game_date2026-10-03
sl_k_percent9.9
sl_bb_percent10.1
sl_woba0.352
sl_xwoba0.319
sl_xba0.261
sl_xslg0.358
sl_sweet_spot_percent30.8
sl_barrel_batted_rate3.7
sl_hard_hit_percent27.1
sl_exit_velocity_avg84.6
sl_launch_angle_avg14.5
sl_whiff_percent11.4
sl_swing_percent41.7
Junior Caminero (691406) · BATTER · 3B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 673
All-history rows before 20261005: 673
System season_avg: 0.2750
Data season_avg (2026 season-to-date): 0.2842
Diff (system - data): -0.0092
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.1540.0000.000Hitting_2B0.1620.000-0.1620.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB3.7904.0004.000Hitting_AB3.8902.0000.1102.000
predicted_AVG0.2750.2500.250Hitting_AVG0.2840.000-0.0340.250
predicted_BB0.5000.0001.000Hitting_BB0.5362.000-0.536-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H0.8501.0001.000Hitting_H1.1050.000-0.1051.000
predicted_HR0.1800.0001.000Hitting_HR0.2780.000-0.2780.000
predicted_OBP0.3430.2500.400Hitting_OBP0.3730.500-0.123-0.250
predicted_R0.6171.0001.000Hitting_R0.6700.0000.3301.000
predicted_RBI0.5700.0001.000Hitting_RBI0.6730.000-0.6730.000
predicted_SLG0.4730.2501.000Hitting_SLG0.5430.000-0.2930.250
predicted_SO0.7960.0001.000Hitting_SO0.7891.000-0.789-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_R: 0.6170 -> 1.0000 (boost 0.3830, better)
Biggest Deboostpredicted_SO: 0.7960 -> 0.0000 (deboost -0.7960, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_H: 0.8500 -> 0.9096 (boost 0.0596, better)predicted_AB: 3.7900 -> 3.7081 (deboost -0.0819, worse)Final model input calibrated 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.4769 -> 0.4339 (deboost -0.0430, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_RBI: 0.5753 -> 1.0000 (boost 0.4247, better)predicted_BB: 0.4886 -> 0.0000 (deboost -0.4886, worse)AB rounded to 4 (raw=3.79), rates preserved: AVG=0.208 HR/AB=0.050
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)
7consistency_constraints11010predicted_R: 0.6173 -> 1.0000 (boost 0.3827, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3391 (boost 0.3391, better)predicted_RBI: 1.0000 -> 0.5728 (deboost -0.4272, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
9lineup_integer_allocation65142predicted_HR: 0.2285 -> 1.0000 (boost 0.7715, better)predicted_2B: 0.1467 -> 0.0000 (deboost -0.1467, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context51414predicted_SLG: 0.4339 -> 0.4640 (boost 0.0301, 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_reference20211-predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final32121predicted_OBP: 0.3030 -> 0.3298 (boost 0.0268, better)predicted_SLG: 0.4640 -> 0.4339 (deboost -0.0301, worse)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.154,
        "predicted_3B": 0.006,
        "predicted_AB": 3.79,
        "predicted_AVG": 0.275,
        "predicted_BB": 0.5,
        "predicted_H": 0.85,
        "predicted_HR": 0.18,
        "predicted_OBP": 0.343,
        "predicted_R": 0.617,
        "predicted_RBI": 0.57,
        "predicted_SLG": 0.473,
        "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.1356,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7081,
        "predicted_AVG": 0.2744,
        "predicted_BB": 0.4886,
        "predicted_H": 0.9096,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1931,
        "predicted_OBP": 0.3498,
        "predicted_R": 0.6323,
        "predicted_RBI": 0.5893,
        "predicted_SLG": 0.4769,
        "predicted_SO": 0.7907
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.154,
          "after": 0.1356,
          "delta": -0.0184,
          "percent_delta": -0.1195,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.79,
          "after": 3.7081,
          "delta": -0.0819,
          "percent_delta": -0.0216,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.275,
          "after": 0.2744,
          "delta": -0.0006,
          "percent_delta": -0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.5,
          "after": 0.4886,
          "delta": -0.0114,
          "percent_delta": -0.0228,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.85,
          "after": 0.9096,
          "delta": 0.0596,
          "percent_delta": 0.0701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.18,
          "after": 0.1931,
          "delta": 0.0131,
          "percent_delta": 0.0728,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.343,
          "after": 0.3498,
          "delta": 0.0068,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.617,
          "after": 0.6323,
          "delta": 0.0153,
          "percent_delta": 0.0248,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.57,
          "after": 0.5893,
          "delta": 0.0193,
          "percent_delta": 0.0339,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.473,
          "after": 0.4769,
          "delta": 0.0039,
          "percent_delta": 0.0082,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.796,
          "after": 0.7907,
          "delta": -0.0053,
          "percent_delta": -0.0067,
          "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.85,
          "after": 0.9096,
          "delta": 0.0596,
          "percent_delta": 0.0701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.79,
          "after": 3.7081,
          "delta": -0.0819,
          "percent_delta": -0.0216,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 162
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1356,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.7081,
        "predicted_AVG": 0.2414,
        "predicted_BB": 0.4886,
        "predicted_H": 0.8953,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.1893,
        "predicted_OBP": 0.3298,
        "predicted_R": 0.6173,
        "predicted_RBI": 0.5753,
        "predicted_SLG": 0.4339,
        "predicted_SO": 0.7907
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1356,
          "after": 0.1356,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7081,
          "after": 3.7081,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2744,
          "after": 0.2414,
          "delta": -0.033,
          "percent_delta": -0.1203,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4886,
          "after": 0.4886,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9096,
          "after": 0.8953,
          "delta": -0.0143,
          "percent_delta": -0.0157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.015,
          "after": 0.015,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1931,
          "after": 0.1893,
          "delta": -0.0038,
          "percent_delta": -0.0197,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3498,
          "after": 0.3298,
          "delta": -0.02,
          "percent_delta": -0.0572,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6323,
          "after": 0.6173,
          "delta": -0.015,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5893,
          "after": 0.5753,
          "delta": -0.014,
          "percent_delta": -0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4769,
          "after": 0.4339,
          "delta": -0.043,
          "percent_delta": -0.0902,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7907,
          "after": 0.7907,
          "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.4769,
          "after": 0.4339,
          "delta": -0.043,
          "percent_delta": -0.0902,
          "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.208 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.1356,
          "after": 0.0,
          "delta": -0.1356,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.7081,
          "after": 4.0,
          "delta": 0.2919,
          "percent_delta": 0.0787,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4886,
          "after": 0.0,
          "delta": -0.4886,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8953,
          "after": 1.0,
          "delta": 0.1047,
          "percent_delta": 0.1169,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.015,
          "after": 0.0,
          "delta": -0.015,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1893,
          "after": 0.0,
          "delta": -0.1893,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5753,
          "after": 1.0,
          "delta": 0.4247,
          "percent_delta": 0.7382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7907,
          "after": 1.0,
          "delta": 0.2093,
          "percent_delta": 0.2647,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5753,
          "after": 1.0,
          "delta": 0.4247,
          "percent_delta": 0.7382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4886,
          "after": 0.0,
          "delta": -0.4886,
          "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.286)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8727,
        "bvp": 0.1273
      },
      "window_games": {}
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6173,
          "after": 1.0,
          "delta": 0.3827,
          "percent_delta": 0.62,
          "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.6173,
          "after": 1.0,
          "delta": 0.3827,
          "percent_delta": 0.62,
          "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.1467,
        "predicted_3B": 0.0084,
        "predicted_BB": 0.3391,
        "predicted_H": 0.8522,
        "predicted_HR": 0.2285,
        "predicted_RBI": 0.5728,
        "predicted_SO": 0.9009
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1467,
          "delta": 0.1467,
          "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.3391,
          "delta": 0.3391,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8522,
          "delta": -0.1478,
          "percent_delta": -0.1478,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2285,
          "delta": 0.2285,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5728,
          "delta": -0.4272,
          "percent_delta": -0.4272,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9009,
          "delta": -0.0991,
          "percent_delta": -0.0991,
          "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.3391,
          "delta": 0.3391,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5728,
          "delta": -0.4272,
          "percent_delta": -0.4272,
          "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.1467,
          "after": 0.0,
          "delta": -0.1467,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3391,
          "after": 1.0,
          "delta": 0.6609,
          "percent_delta": 1.949,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8522,
          "after": 1.0,
          "delta": 0.1478,
          "percent_delta": 0.1734,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2285,
          "after": 1.0,
          "delta": 0.7715,
          "percent_delta": 3.3764,
          "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.5728,
          "after": 1.0,
          "delta": 0.4272,
          "percent_delta": 0.7458,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9009,
          "after": 1.0,
          "delta": 0.0991,
          "percent_delta": 0.11,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2285,
          "after": 1.0,
          "delta": 0.7715,
          "percent_delta": 3.3764,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1467,
          "after": 0.0,
          "delta": -0.1467,
          "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.232,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.464,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2414,
          "after": 0.232,
          "delta": -0.0094,
          "percent_delta": -0.0389,
          "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.3298,
          "after": 0.303,
          "delta": -0.0268,
          "percent_delta": -0.0813,
          "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.4339,
          "after": 0.464,
          "delta": 0.0301,
          "percent_delta": 0.0694,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.4339,
          "after": 0.464,
          "delta": 0.0301,
          "percent_delta": 0.0694,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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": 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.2414,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3298,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4339,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.232,
          "after": 0.2414,
          "delta": 0.0094,
          "percent_delta": 0.0407,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.303,
          "after": 0.3298,
          "delta": 0.0268,
          "percent_delta": 0.0883,
          "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.464,
          "after": 0.4339,
          "delta": -0.0301,
          "percent_delta": -0.0648,
          "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.303,
          "after": 0.3298,
          "delta": 0.0268,
          "percent_delta": 0.0883,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.464,
          "after": 0.4339,
          "delta": -0.0301,
          "percent_delta": -0.0648,
          "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.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.79,
        "after": 4.0,
        "delta": 0.21,
        "percent_delta": 0.0554,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.275,
        "after": 0.2414,
        "delta": -0.0336,
        "percent_delta": -0.1222,
        "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.85,
        "after": 1.0,
        "delta": 0.15,
        "percent_delta": 0.1765,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.18,
        "after": 0.0,
        "delta": -0.18,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.343,
        "after": 0.3298,
        "delta": -0.0132,
        "percent_delta": -0.0385,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.617,
        "after": 1.0,
        "delta": 0.383,
        "percent_delta": 0.6207,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.57,
        "after": 0.0,
        "delta": -0.57,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.473,
        "after": 0.4339,
        "delta": -0.0391,
        "percent_delta": -0.0827,
        "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": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.617,
        "after": 1.0,
        "delta": 0.383,
        "percent_delta": 0.6207,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.796,
        "after": 0.0,
        "delta": -0.796,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.154-
predicted_3B0.006-
predicted_AB3.790-
predicted_AVG0.275-
predicted_BB0.500-
predicted_H0.850-
predicted_HR0.180-
predicted_OBP0.343-
predicted_R0.617-
predicted_RBI0.570-
predicted_SLG0.473-
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.136-0.018
predicted_3B0.005-0.001
predicted_AB3.708-0.082
predicted_AVG0.274-0.001
predicted_BB0.489-0.011
predicted_H0.9100.060
predicted_HBP0.015-
predicted_HR0.1930.013
predicted_OBP0.3500.007
predicted_R0.6320.015
predicted_RBI0.5890.019
predicted_SLG0.4770.004
predicted_SO0.791-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.1360.000
predicted_3B0.0050.000
predicted_AB3.7080.000
predicted_AVG0.241-0.033
predicted_BB0.4890.000
predicted_H0.895-0.014
predicted_HBP0.0150.000
predicted_HR0.189-0.004
predicted_OBP0.330-0.020
predicted_R0.617-0.015
predicted_RBI0.575-0.014
predicted_SLG0.434-0.043
predicted_SO0.7910.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.79), rates preserved: AVG=0.208 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=14.0, weight=0.127, BvP AVG=0.286)

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.1470.147
3B0.0080.008
BB0.3390.339
H0.852-0.148
HR0.2290.229
RBI0.573-0.427
SO0.901-0.099
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.147
3B0.000-0.008
AB4.0000.000
BB1.0000.661
H1.0000.148
HR1.0000.771
R1.0000.000
RBI1.0000.427
SO1.0000.099
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.136
predicted_3B0.000-0.005
predicted_AB4.0000.292
predicted_AVG0.232-0.009
predicted_BB0.000-0.489
predicted_H1.0000.105
predicted_HR0.000-0.189
predicted_OBP0.303-0.027
predicted_R1.0000.383
predicted_RBI1.0000.425
predicted_SLG0.4640.030
predicted_SO1.0000.209
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
CS0.0000.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R1.0000.000
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: 162
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0005.0000.0000.0001.0004.0004.0003.0004.0000.31250.42110.50000.31250.06250.25000.18750.2500
last_100.2010-34.0008.0001.0000.0001.0004.0006.0003.0007.0000.23530.29730.35290.23530.02940.11770.08820.2059
season0.60162-614.000169.00025.0001.00042.000101.000100.00081.000129.0000.27520.36180.52440.27520.06840.16450.13190.2101
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1120
predicted_3B0.0040
predicted_AB3.6030
predicted_AVG0.2736
predicted_BB0.4740
predicted_H0.9860
predicted_HBP0.0150
predicted_HR0.2100
predicted_OBP0.3585
predicted_R0.6520
predicted_RBI0.6140
predicted_SLG0.4820
predicted_SO0.7840
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15400.11200.1356model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB3.79003.60303.7081model_form_blend
predicted_AVG0.27500.27360.2744model_form_blend
predicted_BB0.50000.47400.4886model_form_blend
predicted_H0.85000.98600.9096model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.18000.21000.1931model_form_blend
predicted_OBP0.34300.35850.3498model_form_blend
predicted_R0.61700.65200.6323model_form_blend
predicted_RBI0.57000.61400.5893model_form_blend
predicted_SLG0.47300.48200.4769model_form_blend
predicted_SO0.79600.78400.7907model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date673
Season rows before report date673
Report year2026
Profile rows used162
Hitter metricsHitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, 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_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_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
gameID20261003_NYY@TB
game_typefull
mlbID691406
playerID691406
playerNameJunior Caminero
pos3B
startedTrue
startingPosition3B
teamTB
teamID27
game_date2026-10-03
sl_k_percent18.4
sl_bb_percent11.3
sl_woba0.375
sl_xwoba0.364
sl_xba0.273
sl_xslg0.499
sl_sweet_spot_percent27.1
sl_barrel_batted_rate13.1
sl_hard_hit_percent49.7
sl_exit_velocity_avg92.7
sl_launch_angle_avg10.4
sl_whiff_percent24.1
sl_swing_percent44.4
Jonathan Aranda (666018) · BATTER · 1B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 643
All-history rows before 20261005: 643
System season_avg: 0.2750
Data season_avg (2026 season-to-date): 0.2832
Diff (system - data): -0.0082
System opponent_avg: 0.1550

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1740.0000.000Hitting_2B0.1760.000-0.1760.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.1203.0004.000Hitting_AB3.9054.000-0.905-1.000
predicted_AVG0.2540.0000.250Hitting_AVG0.2830.250-0.283-0.250
predicted_BB0.4391.0001.000Hitting_BB0.4600.0000.5401.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.0500.0001.000Hitting_H1.1061.000-1.106-1.000
predicted_HR0.2200.0000.000Hitting_HR0.1521.000-0.152-1.000
predicted_OBP0.3300.2500.400Hitting_OBP0.3640.250-0.1140.000
predicted_R0.4770.0000.000Hitting_R0.5161.000-0.516-1.000
predicted_RBI0.5800.0001.000Hitting_RBI0.6551.000-0.655-1.000
predicted_SLG0.4500.0000.250Hitting_SLG0.4451.000-0.445-1.000
predicted_SO1.0451.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_BB: 0.4390 -> 1.0000 (boost 0.5610, better)
Biggest Deboostpredicted_AB: 4.1200 -> 3.0000 (deboost -1.1200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41304predicted_SO: 1.0450 -> 1.0971 (boost 0.0521, worse)predicted_AB: 4.1200 -> 3.9000 (deboost -0.2200, worse)Final model input calibrated 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.3306 -> 0.3233 (deboost -0.0073, 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_AB: 3.9000 -> 4.0000 (boost 0.1000, better)predicted_RBI: 0.5210 -> 0.0000 (deboost -0.5210, worse)AB rounded to 4 (raw=4.12), rates preserved: AVG=0.205 HR/AB=0.047
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
7consistency_constraints10101-predicted_R: 0.4272 -> 0.0000 (deboost -0.4272, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5208 (boost 0.5208, better)predicted_H: 1.0000 -> 0.8482 (deboost -0.1518, 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_BB: 0.3410 -> 1.0000 (boost 0.6590, better)predicted_SO: 1.3158 -> 1.0000 (deboost -0.3158, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context50505-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference31212predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final33030predicted_SLG: 0.3830 -> 0.4432 (boost 0.0602, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "666018",
  "player_name": "Jonathan Aranda",
  "position": "1B",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.174,
        "predicted_3B": 0.0,
        "predicted_AB": 4.12,
        "predicted_AVG": 0.254,
        "predicted_BB": 0.439,
        "predicted_H": 1.05,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.33,
        "predicted_R": 0.477,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.45,
        "predicted_SO": 1.045
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.188,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9,
        "predicted_AVG": 0.2488,
        "predicted_BB": 0.4473,
        "predicted_H": 0.9735,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1977,
        "predicted_OBP": 0.3306,
        "predicted_R": 0.4376,
        "predicted_RBI": 0.5336,
        "predicted_SLG": 0.4454,
        "predicted_SO": 1.0971
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.188,
          "delta": 0.014,
          "percent_delta": 0.0805,
          "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.12,
          "after": 3.9,
          "delta": -0.22,
          "percent_delta": -0.0534,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.2488,
          "delta": -0.0052,
          "percent_delta": -0.0205,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.439,
          "after": 0.4473,
          "delta": 0.0083,
          "percent_delta": 0.0189,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.05,
          "after": 0.9735,
          "delta": -0.0765,
          "percent_delta": -0.0729,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.22,
          "after": 0.1977,
          "delta": -0.0223,
          "percent_delta": -0.1014,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.3306,
          "delta": 0.0006,
          "percent_delta": 0.0018,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.477,
          "after": 0.4376,
          "delta": -0.0394,
          "percent_delta": -0.0826,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.58,
          "after": 0.5336,
          "delta": -0.0464,
          "percent_delta": -0.08,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.45,
          "after": 0.4454,
          "delta": -0.0046,
          "percent_delta": -0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.045,
          "after": 1.0971,
          "delta": 0.0521,
          "percent_delta": 0.0499,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.045,
          "after": 1.0971,
          "delta": 0.0521,
          "percent_delta": 0.0499,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.12,
          "after": 3.9,
          "delta": -0.22,
          "percent_delta": -0.0534,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 155
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.188,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.9,
        "predicted_AVG": 0.2457,
        "predicted_BB": 0.4473,
        "predicted_H": 0.9582,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1938,
        "predicted_OBP": 0.3233,
        "predicted_R": 0.4272,
        "predicted_RBI": 0.521,
        "predicted_SLG": 0.4432,
        "predicted_SO": 1.0971
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.188,
          "after": 0.188,
          "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.9,
          "after": 3.9,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2488,
          "after": 0.2457,
          "delta": -0.0031,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.4473,
          "after": 0.4473,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9735,
          "after": 0.9582,
          "delta": -0.0153,
          "percent_delta": -0.0157,
          "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.1977,
          "after": 0.1938,
          "delta": -0.0039,
          "percent_delta": -0.0197,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3306,
          "after": 0.3233,
          "delta": -0.0073,
          "percent_delta": -0.0221,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4376,
          "after": 0.4272,
          "delta": -0.0104,
          "percent_delta": -0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5336,
          "after": 0.521,
          "delta": -0.0126,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4454,
          "after": 0.4432,
          "delta": -0.0022,
          "percent_delta": -0.0049,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0971,
          "after": 1.0971,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.3306,
          "after": 0.3233,
          "delta": -0.0073,
          "percent_delta": -0.0221,
          "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.12), rates preserved: AVG=0.205 HR/AB=0.047",
      "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.188,
          "after": 0.0,
          "delta": -0.188,
          "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.9,
          "after": 4.0,
          "delta": 0.1,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4473,
          "after": 0.0,
          "delta": -0.4473,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9582,
          "after": 1.0,
          "delta": 0.0418,
          "percent_delta": 0.0436,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "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.1938,
          "after": 0.0,
          "delta": -0.1938,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.521,
          "after": 0.0,
          "delta": -0.521,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0971,
          "after": 1.0,
          "delta": -0.0971,
          "percent_delta": -0.0885,
          "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.9,
          "after": 4.0,
          "delta": 0.1,
          "percent_delta": 0.0256,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.521,
          "after": 0.0,
          "delta": -0.521,
          "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": 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.4272,
          "after": 0.0,
          "delta": -0.4272,
          "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.4272,
          "after": 0.0,
          "delta": -0.4272,
          "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.174,
        "predicted_3B": 0.0073,
        "predicted_BB": 0.341,
        "predicted_H": 0.8482,
        "predicted_HR": 0.144,
        "predicted_RBI": 0.5208,
        "predicted_SO": 1.3158
      },
      "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.0073,
          "delta": 0.0073,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.341,
          "delta": 0.341,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8482,
          "delta": -0.1518,
          "percent_delta": -0.1518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.144,
          "delta": 0.144,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5208,
          "delta": 0.5208,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3158,
          "delta": 0.3158,
          "percent_delta": 0.3158,
          "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.5208,
          "delta": 0.5208,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8482,
          "delta": -0.1518,
          "percent_delta": -0.1518,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.174,
          "after": 0.0,
          "delta": -0.174,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0073,
          "after": 0.0,
          "delta": -0.0073,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "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.8482,
          "after": 1.0,
          "delta": 0.1518,
          "percent_delta": 0.179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.144,
          "after": 0.0,
          "delta": -0.144,
          "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.5208,
          "after": 1.0,
          "delta": 0.4792,
          "percent_delta": 0.9201,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3158,
          "after": 1.0,
          "delta": -0.3158,
          "percent_delta": -0.24,
          "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.341,
          "after": 1.0,
          "delta": 0.659,
          "percent_delta": 1.9326,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.3158,
          "after": 1.0,
          "delta": -0.3158,
          "percent_delta": -0.24,
          "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.221,
        "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.383,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2457,
          "after": 0.221,
          "delta": -0.0247,
          "percent_delta": -0.1005,
          "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.3233,
          "after": 0.29,
          "delta": -0.0333,
          "percent_delta": -0.103,
          "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.4432,
          "after": 0.383,
          "delta": -0.0602,
          "percent_delta": -0.1358,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 11,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2457,
        "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.3233,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4432,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2457,
          "delta": 0.0247,
          "percent_delta": 0.1117,
          "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.29,
          "after": 0.3233,
          "delta": 0.0333,
          "percent_delta": 0.1149,
          "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.383,
          "after": 0.4432,
          "delta": 0.0602,
          "percent_delta": 0.1572,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.383,
          "after": 0.4432,
          "delta": 0.0602,
          "percent_delta": 0.1572,
          "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.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.12,
        "after": 3.0,
        "delta": -1.12,
        "percent_delta": -0.2718,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.254,
        "after": 0.2457,
        "delta": -0.0083,
        "percent_delta": -0.0327,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.439,
        "after": 1.0,
        "delta": 0.561,
        "percent_delta": 1.2779,
        "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.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.33,
        "after": 0.3233,
        "delta": -0.0067,
        "percent_delta": -0.0203,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.477,
        "after": 0.0,
        "delta": -0.477,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.45,
        "after": 0.4432,
        "delta": -0.0068,
        "percent_delta": -0.0151,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.045,
        "after": 1.0,
        "delta": -0.045,
        "percent_delta": -0.0431,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.439,
        "after": 1.0,
        "delta": 0.561,
        "percent_delta": 1.2779,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.12,
        "after": 3.0,
        "delta": -1.12,
        "percent_delta": -0.2718,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution 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.000-
predicted_AB4.120-
predicted_AVG0.254-
predicted_BB0.439-
predicted_H1.050-
predicted_HR0.220-
predicted_OBP0.330-
predicted_R0.477-
predicted_RBI0.580-
predicted_SLG0.450-
predicted_SO1.045-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1880.014
predicted_3B0.0000.000
predicted_AB3.900-0.220
predicted_AVG0.249-0.005
predicted_BB0.4470.008
predicted_H0.974-0.077
predicted_HBP0.041-
predicted_HR0.198-0.022
predicted_OBP0.3310.001
predicted_R0.438-0.039
predicted_RBI0.534-0.046
predicted_SLG0.445-0.005
predicted_SO1.0970.052
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1880.000
predicted_3B0.0000.000
predicted_AB3.9000.000
predicted_AVG0.246-0.003
predicted_BB0.4470.000
predicted_H0.958-0.015
predicted_HBP0.0410.000
predicted_HR0.194-0.004
predicted_OBP0.323-0.007
predicted_R0.427-0.010
predicted_RBI0.521-0.013
predicted_SLG0.443-0.002
predicted_SO1.0970.000
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.12), rates preserved: AVG=0.205 HR/AB=0.047

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

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.1740.174
3B0.0070.007
BB0.3410.341
H0.848-0.152
HR0.1440.144
RBI0.5210.521
SO1.3160.316
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.007
AB4.0000.000
BB1.0000.659
H1.0000.152
HR0.000-0.144
R0.0000.000
RBI1.0000.479
SO1.000-0.316
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.188
predicted_3B0.000-0.000
predicted_AB4.0000.100
predicted_AVG0.221-0.025
predicted_BB0.000-0.447
predicted_H1.0000.042
predicted_HR0.000-0.194
predicted_OBP0.290-0.033
predicted_R0.000-0.427
predicted_RBI0.000-0.521
predicted_SLG0.383-0.060
predicted_SO1.000-0.097
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.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: 155
Reference playing time: 4.120
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0003.0001.0000.0001.0001.0001.0003.0007.0000.17650.30000.41180.17650.05880.05880.17650.4118
last_100.2010-34.0007.0003.0000.0002.0004.0003.0004.00013.0000.20590.28950.47060.20590.05880.11770.11770.3824
season0.60155-581.000160.00027.0000.00023.00093.00074.00068.000162.0000.27540.35780.44060.27540.03960.16010.11700.2788
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2060
predicted_3B0.0010
predicted_AB3.6170
predicted_AVG0.2420
predicted_BB0.4580
predicted_H0.8750
predicted_HBP0.0410
predicted_HR0.1690
predicted_OBP0.3314
predicted_R0.3870
predicted_RBI0.4740
predicted_SLG0.4394
predicted_SO1.1640
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17400.20600.1880model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.12003.61703.9000model_form_blend
predicted_AVG0.25400.24200.2488model_form_blend
predicted_BB0.43900.45800.4473model_form_blend
predicted_H1.05000.87500.9735model_form_blend
predicted_HBP-0.04100.0410form_only
predicted_HR0.22000.16900.1977model_form_blend
predicted_OBP0.33000.33140.3306model_form_blend
predicted_R0.47700.38700.4376model_form_blend
predicted_RBI0.58000.47400.5336model_form_blend
predicted_SLG0.45000.43940.4454model_form_blend
predicted_SO1.04501.16401.0971model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_HR1
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB4
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261003_NYY@TB
game_typefull
mlbID666018
playerID666018
playerNameJonathan Aranda
pos1B
startedTrue
startingPosition1B
teamTB
teamID27
game_date2026-10-03
sl_k_percent24.4
sl_bb_percent10.3
sl_woba0.348
sl_xwoba0.343
sl_xba0.254
sl_xslg0.438
sl_sweet_spot_percent38.8
sl_barrel_batted_rate9.9
sl_hard_hit_percent46.0
sl_exit_velocity_avg91.1
sl_launch_angle_avg14.4
sl_whiff_percent22.5
sl_swing_percent46.7
Yandy Díaz (650490) · BATTER · DH · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 662
All-history rows before 20261005: 662
System season_avg: 0.2950
Data season_avg (2026 season-to-date): 0.2987
Diff (system - data): -0.0037
System opponent_avg: 0.1540

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1690.0000.000Hitting_2B0.1740.000-0.1740.000
predicted_3B0.0060.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB5.3204.0004.000Hitting_AB4.0764.000-0.0760.000
predicted_AVG0.2690.2500.250Hitting_AVG0.2990.250-0.0490.000
predicted_BB0.3641.0000.000Hitting_BB0.3630.0000.6371.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.4301.0001.000Hitting_H1.2181.000-0.2180.000
predicted_HR0.1200.0000.000Hitting_HR0.1480.000-0.1480.000
predicted_OBP0.3510.4000.250Hitting_OBP0.3630.2500.0370.150
predicted_R0.6041.0001.000Hitting_R0.6130.0000.3871.000
predicted_RBI0.6402.0001.000Hitting_RBI0.5790.0001.4212.000
predicted_SLG0.4130.2500.250Hitting_SLG0.4550.250-0.2050.000
predicted_SO0.6300.0001.000Hitting_SO0.6400.000-0.6400.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_RBI: 0.6400 -> 2.0000 (boost 1.3600, better)
Biggest Deboostpredicted_AB: 5.3200 -> 4.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_blend51423predicted_AVG: 0.2690 -> 0.2787 (boost 0.0097, better)predicted_AB: 5.3200 -> 4.7522 (deboost -0.5678, worse)Final model input calibrated 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.4072 -> 0.3756 (deboost -0.0316, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71607predicted_SO: 0.5727 -> 1.0000 (boost 0.4273, worse)predicted_AB: 4.7522 -> 4.0000 (deboost -0.7522, worse)AB rounded to 4 (raw=5.32), rates preserved: AVG=0.215 HR/AB=0.020
6bvp_blend00000--Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.154)
7consistency_constraints11010predicted_R: 0.6269 -> 1.0000 (boost 0.3731, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5253 (boost 0.5253, better)predicted_SO: 1.0000 -> 0.8809 (deboost -0.1191, 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_allocation63324predicted_RBI: 0.5253 -> 1.0000 (boost 0.4747, better)predicted_BB: 0.2799 -> 0.0000 (deboost -0.2799, 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_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_final22020predicted_AVG: 0.2330 -> 0.2727 (boost 0.0397, better)-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.169,
        "predicted_3B": 0.006,
        "predicted_AB": 5.32,
        "predicted_AVG": 0.269,
        "predicted_BB": 0.364,
        "predicted_H": 1.43,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.351,
        "predicted_R": 0.604,
        "predicted_RBI": 0.64,
        "predicted_SLG": 0.413,
        "predicted_SO": 0.63
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1659,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.7522,
        "predicted_AVG": 0.2787,
        "predicted_BB": 0.3517,
        "predicted_H": 1.3166,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1064,
        "predicted_OBP": 0.3508,
        "predicted_R": 0.6421,
        "predicted_RBI": 0.6072,
        "predicted_SLG": 0.4072,
        "predicted_SO": 0.5727
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.169,
          "after": 0.1659,
          "delta": -0.0031,
          "percent_delta": -0.0183,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.006,
          "after": 0.0051,
          "delta": -0.0009,
          "percent_delta": -0.15,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 5.32,
          "after": 4.7522,
          "delta": -0.5678,
          "percent_delta": -0.1067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.269,
          "after": 0.2787,
          "delta": 0.0097,
          "percent_delta": 0.0361,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.364,
          "after": 0.3517,
          "delta": -0.0123,
          "percent_delta": -0.0338,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.43,
          "after": 1.3166,
          "delta": -0.1134,
          "percent_delta": -0.0793,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.12,
          "after": 0.1064,
          "delta": -0.0136,
          "percent_delta": -0.1133,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.351,
          "after": 0.3508,
          "delta": -0.0002,
          "percent_delta": -0.0006,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.604,
          "after": 0.6421,
          "delta": 0.0381,
          "percent_delta": 0.0631,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.64,
          "after": 0.6072,
          "delta": -0.0328,
          "percent_delta": -0.0513,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.413,
          "after": 0.4072,
          "delta": -0.0058,
          "percent_delta": -0.014,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.63,
          "after": 0.5727,
          "delta": -0.0573,
          "percent_delta": -0.091,
          "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_AVG",
          "before": 0.269,
          "after": 0.2787,
          "delta": 0.0097,
          "percent_delta": 0.0361,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.32,
          "after": 4.7522,
          "delta": -0.5678,
          "percent_delta": -0.1067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 154
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1659,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.7522,
        "predicted_AVG": 0.2727,
        "predicted_BB": 0.3517,
        "predicted_H": 1.2959,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1043,
        "predicted_OBP": 0.3228,
        "predicted_R": 0.6269,
        "predicted_RBI": 0.5928,
        "predicted_SLG": 0.3756,
        "predicted_SO": 0.5727
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1659,
          "after": 0.1659,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0051,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.7522,
          "after": 4.7522,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2787,
          "after": 0.2727,
          "delta": -0.006,
          "percent_delta": -0.0215,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3517,
          "after": 0.3517,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.3166,
          "after": 1.2959,
          "delta": -0.0207,
          "percent_delta": -0.0157,
          "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.1064,
          "after": 0.1043,
          "delta": -0.0021,
          "percent_delta": -0.0197,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3508,
          "after": 0.3228,
          "delta": -0.028,
          "percent_delta": -0.0798,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.6421,
          "after": 0.6269,
          "delta": -0.0152,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6072,
          "after": 0.5928,
          "delta": -0.0144,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4072,
          "after": 0.3756,
          "delta": -0.0316,
          "percent_delta": -0.0776,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5727,
          "after": 0.5727,
          "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.4072,
          "after": 0.3756,
          "delta": -0.0316,
          "percent_delta": -0.0776,
          "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.32), rates preserved: AVG=0.215 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.1659,
          "after": 0.0,
          "delta": -0.1659,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0051,
          "after": 0.0,
          "delta": -0.0051,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.7522,
          "after": 4.0,
          "delta": -0.7522,
          "percent_delta": -0.1583,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3517,
          "after": 0.0,
          "delta": -0.3517,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2959,
          "after": 1.0,
          "delta": -0.2959,
          "percent_delta": -0.2283,
          "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.1043,
          "after": 0.0,
          "delta": -0.1043,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5928,
          "after": 0.0,
          "delta": -0.5928,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5727,
          "after": 1.0,
          "delta": 0.4273,
          "percent_delta": 0.7461,
          "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.5727,
          "after": 1.0,
          "delta": 0.4273,
          "percent_delta": 0.7461,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.7522,
          "after": 4.0,
          "delta": -0.7522,
          "percent_delta": -0.1583,
          "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": 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.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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.6269,
          "after": 1.0,
          "delta": 0.3731,
          "percent_delta": 0.5952,
          "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.6269,
          "after": 1.0,
          "delta": 0.3731,
          "percent_delta": 0.5952,
          "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.1666,
        "predicted_3B": 0.0094,
        "predicted_BB": 0.2799,
        "predicted_H": 0.949,
        "predicted_HR": 0.1393,
        "predicted_RBI": 0.5253,
        "predicted_SO": 0.8809
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1666,
          "delta": 0.1666,
          "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.2799,
          "delta": 0.2799,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.949,
          "delta": -0.051,
          "percent_delta": -0.051,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1393,
          "delta": 0.1393,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5253,
          "delta": 0.5253,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8809,
          "delta": -0.1191,
          "percent_delta": -0.1191,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5253,
          "delta": 0.5253,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8809,
          "delta": -0.1191,
          "percent_delta": -0.1191,
          "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.1666,
          "after": 0.0,
          "delta": -0.1666,
          "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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2799,
          "after": 0.0,
          "delta": -0.2799,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.949,
          "after": 1.0,
          "delta": 0.051,
          "percent_delta": 0.0537,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1393,
          "after": 0.0,
          "delta": -0.1393,
          "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.5253,
          "after": 1.0,
          "delta": 0.4747,
          "percent_delta": 0.9037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8809,
          "after": 1.0,
          "delta": 0.1191,
          "percent_delta": 0.1352,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5253,
          "after": 1.0,
          "delta": 0.4747,
          "percent_delta": 0.9037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2799,
          "after": 0.0,
          "delta": -0.2799,
          "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.233,
        "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.38,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2727,
          "after": 0.233,
          "delta": -0.0397,
          "percent_delta": -0.1456,
          "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.3228,
          "after": 0.288,
          "delta": -0.0348,
          "percent_delta": -0.1078,
          "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.3756,
          "after": 0.38,
          "delta": 0.0044,
          "percent_delta": 0.0117,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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": 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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 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": 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.2727,
        "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.3228,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3756,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2727,
          "delta": 0.0397,
          "percent_delta": 0.1704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.288,
          "after": 0.3228,
          "delta": 0.0348,
          "percent_delta": 0.1209,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 2.0,
          "after": 2.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.38,
          "after": 0.3756,
          "delta": -0.0044,
          "percent_delta": -0.0116,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.233,
          "after": 0.2727,
          "delta": 0.0397,
          "percent_delta": 0.1704,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.169,
        "after": 0.0,
        "delta": -0.169,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.006,
        "after": 0.0,
        "delta": -0.006,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 5.32,
        "after": 4.0,
        "delta": -1.32,
        "percent_delta": -0.2481,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.269,
        "after": 0.2727,
        "delta": 0.0037,
        "percent_delta": 0.0138,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "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.43,
        "after": 1.0,
        "delta": -0.43,
        "percent_delta": -0.3007,
        "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.351,
        "after": 0.3228,
        "delta": -0.0282,
        "percent_delta": -0.0803,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "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.64,
        "after": 2.0,
        "delta": 1.36,
        "percent_delta": 2.125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.413,
        "after": 0.3756,
        "delta": -0.0374,
        "percent_delta": -0.0906,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "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_RBI",
        "before": 0.64,
        "after": 2.0,
        "delta": 1.36,
        "percent_delta": 2.125,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.32,
        "after": 4.0,
        "delta": -1.32,
        "percent_delta": -0.2481,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.169-
predicted_3B0.006-
predicted_AB5.320-
predicted_AVG0.269-
predicted_BB0.364-
predicted_H1.430-
predicted_HR0.120-
predicted_OBP0.351-
predicted_R0.604-
predicted_RBI0.640-
predicted_SLG0.413-
predicted_SO0.630-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.166-0.003
predicted_3B0.005-0.001
predicted_AB4.752-0.568
predicted_AVG0.2790.010
predicted_BB0.352-0.012
predicted_H1.317-0.113
predicted_HBP0.039-
predicted_HR0.106-0.014
predicted_OBP0.351-0.000
predicted_R0.6420.038
predicted_RBI0.607-0.033
predicted_SLG0.407-0.006
predicted_SO0.573-0.057
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1660.000
predicted_3B0.0050.000
predicted_AB4.7520.000
predicted_AVG0.273-0.006
predicted_BB0.3520.000
predicted_H1.296-0.021
predicted_HBP0.0390.000
predicted_HR0.104-0.002
predicted_OBP0.323-0.028
predicted_R0.627-0.015
predicted_RBI0.593-0.014
predicted_SLG0.376-0.032
predicted_SO0.5730.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.32), rates preserved: AVG=0.215 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=13.0, weight=0.121, BvP AVG=0.154)

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.1670.167
3B0.0090.009
BB0.2800.280
H0.949-0.051
HR0.1390.139
RBI0.5250.525
SO0.881-0.119
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
AB4.0000.000
BB0.000-0.280
H1.0000.051
HR0.000-0.139
R1.0000.000
RBI1.0000.475
SO1.0000.119
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.166
predicted_3B0.000-0.005
predicted_AB4.000-0.752
predicted_AVG0.233-0.040
predicted_BB0.000-0.352
predicted_H1.000-0.296
predicted_HR0.000-0.104
predicted_OBP0.288-0.035
predicted_R1.0000.373
predicted_RBI0.000-0.593
predicted_SLG0.3800.004
predicted_SO1.0000.427
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 154
Reference playing time: 5.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-21.0008.0001.0000.0000.0004.0005.0001.0000.0000.38100.40910.42860.38100.00000.19050.04760.0000
last_100.2010-40.0008.0001.0000.0000.0004.0007.0004.0005.0000.20000.27270.22500.20000.00000.10000.10000.1250
season0.60154-614.000181.00026.0001.00022.00085.00093.00056.00097.0000.29480.36010.44790.29480.03580.13840.09120.1580
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1620
predicted_3B0.0040
predicted_AB4.0230
predicted_AVG0.2912
predicted_BB0.3360
predicted_H1.1710
predicted_HBP0.0390
predicted_HR0.0890
predicted_OBP0.3505
predicted_R0.6910
predicted_RBI0.5650
predicted_SLG0.3998
predicted_SO0.4990
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16900.16200.1659model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB5.32004.02304.7522model_form_blend
predicted_AVG0.26900.29120.2787model_form_blend
predicted_BB0.36400.33600.3517model_form_blend
predicted_H1.43001.17101.3166model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.12000.08900.1064model_form_blend
predicted_OBP0.35100.35050.3508model_form_blend
predicted_R0.60400.69100.6421model_form_blend
predicted_RBI0.64000.56500.6072model_form_blend
predicted_SLG0.41300.39980.4072model_form_blend
predicted_SO0.63000.49900.5727model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_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_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
gameID20261003_NYY@TB
game_typefull
mlbID650490
playerID650490
playerNameYandy Díaz
posDH
startedTrue
startingPositionDH
teamTB
teamID27
game_date2026-10-03
sl_k_percent14.3
sl_bb_percent8.2
sl_woba0.35
sl_xwoba0.346
sl_xba0.281
sl_xslg0.439
sl_sweet_spot_percent29.7
sl_barrel_batted_rate7.1
sl_hard_hit_percent48.1
sl_exit_velocity_avg90.9
sl_launch_angle_avg6.0
sl_whiff_percent14.8
sl_swing_percent47.5
Jonny DeLuca (676356) · BATTER · CF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 349
All-history rows before 20261005: 349
System season_avg: 0.2660
Data season_avg (2026 season-to-date): 0.2785
Diff (system - data): -0.0125
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.2310.0001.000Hitting_2B0.2660.000-0.2660.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3564.0004.000Hitting_AB3.6733.0000.3271.000
predicted_AVG0.2660.2500.250Hitting_AVG0.2780.000-0.0280.250
predicted_BB0.1630.0000.000Hitting_BB0.1780.000-0.1780.000
predicted_CS-0.0000.000BaseRunning_CS0.0540.000-0.0540.000
predicted_H0.8941.0001.000Hitting_H1.0230.000-0.0231.000
predicted_HR0.1060.0000.000Hitting_HR0.1090.000-0.1090.000
predicted_OBP0.3010.2500.250Hitting_OBP0.3120.000-0.0620.250
predicted_R0.4130.0000.000Hitting_R0.4810.000-0.4810.000
predicted_RBI0.4810.0000.000Hitting_RBI0.5620.000-0.5620.000
predicted_SLG0.4300.2500.500Hitting_SLG0.4400.000-0.1900.250
predicted_SO0.7601.0001.000Hitting_SO0.7621.0000.2380.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics5
Deboosted Metrics5
Better Metrics4
Worse Metrics6
Biggest Boostpredicted_AB: 3.3560 -> 4.0000 (boost 0.6440, better)
Biggest Deboostpredicted_RBI: 0.4810 -> 0.0000 (deboost -0.4810, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_SLG: 0.4300 -> 0.4537 (boost 0.0237, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot10101-predicted_SLG: 0.4537 -> 0.4473 (deboost -0.0064, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling74334predicted_AB: 3.3932 -> 4.0000 (boost 0.6068, better)predicted_2B: 0.2177 -> 0.0000 (deboost -0.2177, worse)AB rounded to 4 (raw=3.39), rates preserved: AVG=0.233 HR/AB=0.039
6consistency_constraints10101-predicted_R: 0.4186 -> 0.0000 (deboost -0.4186, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_2B: 0.0000 -> 0.1892 (boost 0.1892, better)predicted_RBI: 1.0000 -> 0.5028 (deboost -0.4972, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation52323predicted_2B: 0.1892 -> 1.0000 (boost 0.8108, better)predicted_RBI: 0.5028 -> 0.0000 (deboost -0.5028, 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_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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
11current_json_final33030predicted_SLG: 0.3930 -> 0.4473 (boost 0.0543, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "676356",
  "player_name": "Jonny DeLuca",
  "position": "CF",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.231,
        "predicted_3B": 0.0,
        "predicted_AB": 3.356,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.163,
        "predicted_H": 0.894,
        "predicted_HR": 0.106,
        "predicted_OBP": 0.301,
        "predicted_R": 0.413,
        "predicted_RBI": 0.481,
        "predicted_SLG": 0.43,
        "predicted_SO": 0.76
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2177,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.3932,
        "predicted_AVG": 0.2687,
        "predicted_BB": 0.2101,
        "predicted_H": 0.9124,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1364,
        "predicted_OBP": 0.3114,
        "predicted_R": 0.4288,
        "predicted_RBI": 0.4998,
        "predicted_SLG": 0.4537,
        "predicted_SO": 0.7934
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.231,
          "after": 0.2177,
          "delta": -0.0133,
          "percent_delta": -0.0576,
          "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.356,
          "after": 3.3932,
          "delta": 0.0372,
          "percent_delta": 0.0111,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.266,
          "after": 0.2687,
          "delta": 0.0027,
          "percent_delta": 0.0102,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.163,
          "after": 0.2101,
          "delta": 0.0471,
          "percent_delta": 0.289,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.894,
          "after": 0.9124,
          "delta": 0.0184,
          "percent_delta": 0.0206,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.106,
          "after": 0.1364,
          "delta": 0.0304,
          "percent_delta": 0.2868,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.3114,
          "delta": 0.0104,
          "percent_delta": 0.0346,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.413,
          "after": 0.4288,
          "delta": 0.0158,
          "percent_delta": 0.0383,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.481,
          "after": 0.4998,
          "delta": 0.0188,
          "percent_delta": 0.0391,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.43,
          "after": 0.4537,
          "delta": 0.0237,
          "percent_delta": 0.0551,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.76,
          "after": 0.7934,
          "delta": 0.0334,
          "percent_delta": 0.0439,
          "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.43,
          "after": 0.4537,
          "delta": 0.0237,
          "percent_delta": 0.0551,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 104
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2177,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.3932,
        "predicted_AVG": 0.2647,
        "predicted_BB": 0.2101,
        "predicted_H": 0.8981,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1337,
        "predicted_OBP": 0.3075,
        "predicted_R": 0.4186,
        "predicted_RBI": 0.488,
        "predicted_SLG": 0.4473,
        "predicted_SO": 0.7934
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2177,
          "after": 0.2177,
          "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.3932,
          "after": 3.3932,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2687,
          "after": 0.2647,
          "delta": -0.004,
          "percent_delta": -0.0149,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.2101,
          "after": 0.2101,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9124,
          "after": 0.8981,
          "delta": -0.0143,
          "percent_delta": -0.0157,
          "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.1364,
          "after": 0.1337,
          "delta": -0.0027,
          "percent_delta": -0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3114,
          "after": 0.3075,
          "delta": -0.0039,
          "percent_delta": -0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4288,
          "after": 0.4186,
          "delta": -0.0102,
          "percent_delta": -0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4998,
          "after": 0.488,
          "delta": -0.0118,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4537,
          "after": 0.4473,
          "delta": -0.0064,
          "percent_delta": -0.0141,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7934,
          "after": 0.7934,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": 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.4537,
          "after": 0.4473,
          "delta": -0.0064,
          "percent_delta": -0.0141,
          "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.39), rates preserved: AVG=0.233 HR/AB=0.039",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2177,
          "after": 0.0,
          "delta": -0.2177,
          "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.3932,
          "after": 4.0,
          "delta": 0.6068,
          "percent_delta": 0.1788,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2101,
          "after": 0.0,
          "delta": -0.2101,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8981,
          "after": 1.0,
          "delta": 0.1019,
          "percent_delta": 0.1135,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.1337,
          "after": 0.0,
          "delta": -0.1337,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.488,
          "after": 1.0,
          "delta": 0.512,
          "percent_delta": 1.0492,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7934,
          "after": 1.0,
          "delta": 0.2066,
          "percent_delta": 0.2604,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.3932,
          "after": 4.0,
          "delta": 0.6068,
          "percent_delta": 0.1788,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2177,
          "after": 0.0,
          "delta": -0.2177,
          "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.4186,
          "after": 0.0,
          "delta": -0.4186,
          "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.4186,
          "after": 0.0,
          "delta": -0.4186,
          "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.1892,
        "predicted_3B": 0.0086,
        "predicted_BB": 0.169,
        "predicted_H": 0.8232,
        "predicted_HR": 0.1262,
        "predicted_RBI": 0.5028,
        "predicted_SO": 1.0388
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1892,
          "delta": 0.1892,
          "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.169,
          "delta": 0.169,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8232,
          "delta": -0.1768,
          "percent_delta": -0.1768,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1262,
          "delta": 0.1262,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5028,
          "delta": -0.4972,
          "percent_delta": -0.4972,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0388,
          "delta": 0.0388,
          "percent_delta": 0.0388,
          "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": 0.1892,
          "delta": 0.1892,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5028,
          "delta": -0.4972,
          "percent_delta": -0.4972,
          "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": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1892,
          "after": 1.0,
          "delta": 0.8108,
          "percent_delta": 4.2854,
          "direction": "boost",
          "projection_effect": "better",
          "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.169,
          "after": 0.0,
          "delta": -0.169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8232,
          "after": 1.0,
          "delta": 0.1768,
          "percent_delta": 0.2148,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1262,
          "after": 0.0,
          "delta": -0.1262,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5028,
          "after": 0.0,
          "delta": -0.5028,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0388,
          "after": 1.0,
          "delta": -0.0388,
          "percent_delta": -0.0374,
          "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_2B",
          "before": 0.1892,
          "after": 1.0,
          "delta": 0.8108,
          "percent_delta": 4.2854,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5028,
          "after": 0.0,
          "delta": -0.5028,
          "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.23,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.271,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.393,
        "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.2647,
          "after": 0.23,
          "delta": -0.0347,
          "percent_delta": -0.1311,
          "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.3075,
          "after": 0.271,
          "delta": -0.0365,
          "percent_delta": -0.1187,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4473,
          "after": 0.393,
          "delta": -0.0543,
          "percent_delta": -0.1214,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 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.2647,
        "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.3075,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4473,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.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.2647,
          "delta": 0.0347,
          "percent_delta": 0.1507,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.271,
          "after": 0.3075,
          "delta": 0.0365,
          "percent_delta": 0.1349,
          "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.393,
          "after": 0.4473,
          "delta": 0.0543,
          "percent_delta": 0.1382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.393,
          "after": 0.4473,
          "delta": 0.0543,
          "percent_delta": 0.1382,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.231,
        "after": 0.0,
        "delta": -0.231,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.356,
        "after": 4.0,
        "delta": 0.644,
        "percent_delta": 0.1919,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.2647,
        "delta": -0.0013,
        "percent_delta": -0.0049,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.163,
        "after": 0.0,
        "delta": -0.163,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.894,
        "after": 1.0,
        "delta": 0.106,
        "percent_delta": 0.1186,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.106,
        "after": 0.0,
        "delta": -0.106,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.301,
        "after": 0.3075,
        "delta": 0.0065,
        "percent_delta": 0.0216,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.413,
        "after": 0.0,
        "delta": -0.413,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.481,
        "after": 0.0,
        "delta": -0.481,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.43,
        "after": 0.4473,
        "delta": 0.0173,
        "percent_delta": 0.0402,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.76,
        "after": 1.0,
        "delta": 0.24,
        "percent_delta": 0.3158,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 5,
      "deboosted_metrics": 5,
      "better_metrics": 4,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.356,
        "after": 4.0,
        "delta": 0.644,
        "percent_delta": 0.1919,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.481,
        "after": 0.0,
        "delta": -0.481,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.231-
predicted_3B0.000-
predicted_AB3.356-
predicted_AVG0.266-
predicted_BB0.163-
predicted_H0.894-
predicted_HR0.106-
predicted_OBP0.301-
predicted_R0.413-
predicted_RBI0.481-
predicted_SLG0.430-
predicted_SO0.760-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.218-0.013
predicted_3B0.0000.000
predicted_AB3.3930.037
predicted_AVG0.2690.003
predicted_BB0.2100.047
predicted_H0.9120.018
predicted_HBP0.002-
predicted_HR0.1360.030
predicted_OBP0.3110.010
predicted_R0.4290.016
predicted_RBI0.5000.019
predicted_SLG0.4540.024
predicted_SO0.7930.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.2180.000
predicted_3B0.0000.000
predicted_AB3.3930.000
predicted_AVG0.265-0.004
predicted_BB0.2100.000
predicted_H0.898-0.014
predicted_HBP0.0020.000
predicted_HR0.134-0.003
predicted_OBP0.307-0.004
predicted_R0.419-0.010
predicted_RBI0.488-0.012
predicted_SLG0.447-0.006
predicted_SO0.7930.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.39), rates preserved: AVG=0.233 HR/AB=0.039

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI1.000-
SB0.000-
SO1.000-
6. 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.1890.189
3B0.0090.009
BB0.1690.169
H0.823-0.177
HR0.1260.126
RBI0.503-0.497
SO1.0390.039
8. 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.009
AB4.0000.000
BB0.000-0.169
H1.0000.177
HR0.000-0.126
R0.0000.000
RBI0.000-0.503
SO1.000-0.039
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.218
predicted_3B0.000-0.000
predicted_AB4.0000.607
predicted_AVG0.230-0.035
predicted_BB0.000-0.210
predicted_H1.0000.102
predicted_HR0.000-0.134
predicted_OBP0.271-0.036
predicted_R0.000-0.419
predicted_RBI1.0000.512
predicted_SLG0.393-0.054
predicted_SO1.0000.207
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-
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: 104
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0000.0000.0002.0003.0003.0003.0004.0000.27780.38100.61110.27780.11110.16670.16670.2222
last_100.2010-34.00010.0003.0000.0002.0006.0004.0003.00011.0000.29410.35140.55880.29410.05880.17650.08820.3235
season0.60104-349.00093.00024.0000.00011.00050.00043.00017.00079.0000.26650.30050.42980.26650.03150.14330.04870.2264
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2000
predicted_3B0.0010
predicted_AB3.4430
predicted_AVG0.2723
predicted_BB0.2730
predicted_H0.9370
predicted_HBP0.0020
predicted_HR0.1770
predicted_OBP0.3252
predicted_R0.4500
predicted_RBI0.5250
predicted_SLG0.4855
predicted_SO0.8380
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23100.20000.2177model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.35603.44303.3932model_form_blend
predicted_AVG0.26600.27230.2687model_form_blend
predicted_BB0.16300.27300.2101model_form_blend
predicted_H0.89400.93700.9124model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.10600.17700.1364model_form_blend
predicted_OBP0.30100.32520.3114model_form_blend
predicted_R0.41300.45000.4288model_form_blend
predicted_RBI0.48100.52500.4998model_form_blend
predicted_SLG0.43000.48550.4537model_form_blend
predicted_SO0.76000.83800.7934model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.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
allPositionsPlayedCF
gameID20261003_NYY@TB
game_typefull
mlbID676356
playerID676356
playerNameJonny DeLuca
posRF
startedTrue
startingPositionCF
teamTB
teamID27
game_date2026-10-03
sl_k_percent21.1
sl_bb_percent4.6
sl_woba0.317
sl_xwoba0.261
sl_xba0.232
sl_xslg0.325
sl_sweet_spot_percent28.7
sl_barrel_batted_rate3.6
sl_hard_hit_percent30.2
sl_exit_velocity_avg85.8
sl_launch_angle_avg13.9
sl_whiff_percent24.9
sl_swing_percent52.9
Richie Palacios (680700) · BATTER · 2B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 385
All-history rows before 20261005: 385
System season_avg: 0.2360
Data season_avg (2026 season-to-date): 0.2451
Diff (system - data): -0.0091
System opponent_avg: 0.3940

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1260.0000.000Hitting_2B0.1301.000-0.130-1.000
predicted_3B0.0170.0000.000Hitting_3B0.0230.000-0.0230.000
predicted_AB2.9243.0003.000Hitting_AB3.1583.000-0.1580.000
predicted_AVG0.2550.0000.000Hitting_AVG0.2450.333-0.245-0.333
predicted_BB0.3870.0000.000Hitting_BB0.4650.000-0.4650.000
predicted_CS-0.0000.000BaseRunning_CS0.0520.000-0.0520.000
predicted_H0.6400.0000.000Hitting_H0.7741.000-0.774-1.000
predicted_HR0.0500.0000.000Hitting_HR0.1010.000-0.1010.000
predicted_OBP0.3300.2500.000Hitting_OBP0.3470.333-0.097-0.083
predicted_R0.4030.0000.000Hitting_R0.4960.000-0.4960.000
predicted_RBI0.4600.0000.000Hitting_RBI0.5170.000-0.5170.000
predicted_SB-0.0000.000BaseRunning_SB0.1430.000-0.1430.000
predicted_SLG0.4060.0000.000Hitting_SLG0.3970.667-0.397-0.667
predicted_SO0.5711.0001.000Hitting_SO0.6260.0000.3741.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.5710 -> 1.0000 (boost 0.4290, worse)
Biggest Deboostpredicted_H: 0.6400 -> 0.0000 (deboost -0.6400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_H: 0.6400 -> 0.6933 (boost 0.0533, better)predicted_R: 0.4030 -> 0.3506 (deboost -0.0524, worse)Final model input calibrated 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.3965 -> 0.3464 (deboost -0.0501, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_RBI: 0.4999 -> 1.0000 (boost 0.5001, better)predicted_BB: 0.3870 -> 0.0000 (deboost -0.3870, worse)AB rounded to 3 (raw=2.97), rates preserved: AVG=0.203 HR/AB=0.017
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)
7consistency_constraints10101-predicted_R: 0.3423 -> 0.0000 (deboost -0.3423, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3055 (boost 0.3055, better)predicted_RBI: 1.0000 -> 0.4766 (deboost -0.5234, 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.6952 -> 1.0000 (boost 0.3048, worse)predicted_H: 0.6991 -> 0.0000 (deboost -0.6991, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context53232predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_OBP: 0.3185 -> 0.2960 (deboost -0.0225, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11simulation_box_score_reference31212predicted_HBP: 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_final32121predicted_OBP: 0.2960 -> 0.3185 (boost 0.0225, better)predicted_SLG: 0.3670 -> 0.3464 (deboost -0.0206, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "680700",
  "player_name": "Richie Palacios",
  "position": "2B",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.126,
        "predicted_3B": 0.017,
        "predicted_AB": 2.924,
        "predicted_AVG": 0.255,
        "predicted_BB": 0.387,
        "predicted_H": 0.64,
        "predicted_HR": 0.05,
        "predicted_OBP": 0.33,
        "predicted_R": 0.403,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.406,
        "predicted_SO": 0.571
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1629,
        "predicted_3B": 0.0144,
        "predicted_AB": 2.9704,
        "predicted_AVG": 0.2537,
        "predicted_BB": 0.387,
        "predicted_H": 0.6933,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0526,
        "predicted_OBP": 0.3343,
        "predicted_R": 0.3506,
        "predicted_RBI": 0.512,
        "predicted_SLG": 0.3965,
        "predicted_SO": 0.5603
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.126,
          "after": 0.1629,
          "delta": 0.0369,
          "percent_delta": 0.2929,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.0144,
          "delta": -0.0026,
          "percent_delta": -0.1529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.924,
          "after": 2.9704,
          "delta": 0.0464,
          "percent_delta": 0.0159,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.255,
          "after": 0.2537,
          "delta": -0.0013,
          "percent_delta": -0.0051,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.387,
          "after": 0.387,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.64,
          "after": 0.6933,
          "delta": 0.0533,
          "percent_delta": 0.0833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.05,
          "after": 0.0526,
          "delta": 0.0026,
          "percent_delta": 0.052,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.33,
          "after": 0.3343,
          "delta": 0.0043,
          "percent_delta": 0.013,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.403,
          "after": 0.3506,
          "delta": -0.0524,
          "percent_delta": -0.13,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.46,
          "after": 0.512,
          "delta": 0.052,
          "percent_delta": 0.113,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.3965,
          "delta": -0.0095,
          "percent_delta": -0.0234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.571,
          "after": 0.5603,
          "delta": -0.0107,
          "percent_delta": -0.0187,
          "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.64,
          "after": 0.6933,
          "delta": 0.0533,
          "percent_delta": 0.0833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.403,
          "after": 0.3506,
          "delta": -0.0524,
          "percent_delta": -0.13,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 119
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1629,
        "predicted_3B": 0.0144,
        "predicted_AB": 2.9704,
        "predicted_AVG": 0.2297,
        "predicted_BB": 0.387,
        "predicted_H": 0.6824,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0516,
        "predicted_OBP": 0.3185,
        "predicted_R": 0.3423,
        "predicted_RBI": 0.4999,
        "predicted_SLG": 0.3464,
        "predicted_SO": 0.5603
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1629,
          "after": 0.1629,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0144,
          "after": 0.0144,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9704,
          "after": 2.9704,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2537,
          "after": 0.2297,
          "delta": -0.024,
          "percent_delta": -0.0946,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.387,
          "after": 0.387,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6933,
          "after": 0.6824,
          "delta": -0.0109,
          "percent_delta": -0.0157,
          "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.0526,
          "after": 0.0516,
          "delta": -0.001,
          "percent_delta": -0.019,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3343,
          "after": 0.3185,
          "delta": -0.0158,
          "percent_delta": -0.0473,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3506,
          "after": 0.3423,
          "delta": -0.0083,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.512,
          "after": 0.4999,
          "delta": -0.0121,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3965,
          "after": 0.3464,
          "delta": -0.0501,
          "percent_delta": -0.1264,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5603,
          "after": 0.5603,
          "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.3965,
          "after": 0.3464,
          "delta": -0.0501,
          "percent_delta": -0.1264,
          "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.97), rates preserved: AVG=0.203 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1629,
          "after": 0.0,
          "delta": -0.1629,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0144,
          "after": 0.0,
          "delta": -0.0144,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 2.9704,
          "after": 3.0,
          "delta": 0.0296,
          "percent_delta": 0.01,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.387,
          "after": 0.0,
          "delta": -0.387,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6824,
          "after": 1.0,
          "delta": 0.3176,
          "percent_delta": 0.4654,
          "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.0516,
          "after": 0.0,
          "delta": -0.0516,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4999,
          "after": 1.0,
          "delta": 0.5001,
          "percent_delta": 1.0004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5603,
          "after": 1.0,
          "delta": 0.4397,
          "percent_delta": 0.7848,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.4999,
          "after": 1.0,
          "delta": 0.5001,
          "percent_delta": 1.0004,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.387,
          "after": 0.0,
          "delta": -0.387,
          "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.500)",
      "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.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": 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.3423,
          "after": 0.0,
          "delta": -0.3423,
          "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.3423,
          "after": 0.0,
          "delta": -0.3423,
          "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.1425,
        "predicted_3B": 0.0116,
        "predicted_BB": 0.3055,
        "predicted_H": 0.6991,
        "predicted_HR": 0.0979,
        "predicted_RBI": 0.4766,
        "predicted_SO": 0.6952
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1425,
          "delta": 0.1425,
          "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.3055,
          "delta": 0.3055,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6991,
          "delta": -0.3009,
          "percent_delta": -0.3009,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0979,
          "delta": 0.0979,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4766,
          "delta": -0.5234,
          "percent_delta": -0.5234,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6952,
          "delta": -0.3048,
          "percent_delta": -0.3048,
          "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.3055,
          "delta": 0.3055,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4766,
          "delta": -0.5234,
          "percent_delta": -0.5234,
          "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.1425,
          "after": 0.0,
          "delta": -0.1425,
          "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": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.3055,
          "after": 0.0,
          "delta": -0.3055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6991,
          "after": 0.0,
          "delta": -0.6991,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0979,
          "after": 0.0,
          "delta": -0.0979,
          "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.4766,
          "after": 0.0,
          "delta": -0.4766,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6952,
          "after": 1.0,
          "delta": 0.3048,
          "percent_delta": 0.4384,
          "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.6952,
          "after": 1.0,
          "delta": 0.3048,
          "percent_delta": 0.4384,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6991,
          "after": 0.0,
          "delta": -0.6991,
          "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.296,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.367,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2297,
          "after": 0.222,
          "delta": -0.0077,
          "percent_delta": -0.0335,
          "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.3185,
          "after": 0.296,
          "delta": -0.0225,
          "percent_delta": -0.0706,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3464,
          "after": 0.367,
          "delta": 0.0206,
          "percent_delta": 0.0595,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.3185,
          "after": 0.296,
          "delta": -0.0225,
          "percent_delta": -0.0706,
          "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": 3.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": 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": 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_HBP",
          "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.2297,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3185,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.3464,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2297,
          "delta": 0.0077,
          "percent_delta": 0.0349,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "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.296,
          "after": 0.3185,
          "delta": 0.0225,
          "percent_delta": 0.0761,
          "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.367,
          "after": 0.3464,
          "delta": -0.0206,
          "percent_delta": -0.0562,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.296,
          "after": 0.3185,
          "delta": 0.0225,
          "percent_delta": 0.0761,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.367,
          "after": 0.3464,
          "delta": -0.0206,
          "percent_delta": -0.0562,
          "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.126,
        "after": 0.0,
        "delta": -0.126,
        "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": 2.924,
        "after": 3.0,
        "delta": 0.076,
        "percent_delta": 0.026,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.255,
        "after": 0.2297,
        "delta": -0.0253,
        "percent_delta": -0.0992,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.387,
        "after": 0.0,
        "delta": -0.387,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.05,
        "after": 0.0,
        "delta": -0.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.33,
        "after": 0.3185,
        "delta": -0.0115,
        "percent_delta": -0.0348,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.403,
        "after": 0.0,
        "delta": -0.403,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 0.0,
        "delta": -0.46,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.406,
        "after": 0.3464,
        "delta": -0.0596,
        "percent_delta": -0.1468,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.571,
        "after": 1.0,
        "delta": 0.429,
        "percent_delta": 0.7513,
        "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.571,
        "after": 1.0,
        "delta": 0.429,
        "percent_delta": 0.7513,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.126-
predicted_3B0.017-
predicted_AB2.924-
predicted_AVG0.255-
predicted_BB0.387-
predicted_H0.640-
predicted_HR0.050-
predicted_OBP0.330-
predicted_R0.403-
predicted_RBI0.460-
predicted_SLG0.406-
predicted_SO0.571-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1630.037
predicted_3B0.014-0.003
predicted_AB2.9700.046
predicted_AVG0.254-0.001
predicted_BB0.3870.000
predicted_H0.6930.053
predicted_HBP0.021-
predicted_HR0.0530.003
predicted_OBP0.3340.004
predicted_R0.351-0.052
predicted_RBI0.5120.052
predicted_SLG0.397-0.010
predicted_SO0.560-0.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.1630.000
predicted_3B0.0140.000
predicted_AB2.9700.000
predicted_AVG0.230-0.024
predicted_BB0.3870.000
predicted_H0.682-0.011
predicted_HBP0.0210.000
predicted_HR0.052-0.001
predicted_OBP0.319-0.016
predicted_R0.342-0.008
predicted_RBI0.500-0.012
predicted_SLG0.346-0.050
predicted_SO0.5600.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.97), rates preserved: AVG=0.203 HR/AB=0.017

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1420.142
3B0.0120.012
BB0.3050.305
H0.699-0.301
HR0.0980.098
RBI0.477-0.523
SO0.695-0.305
9. 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.012
AB3.0000.000
BB0.000-0.305
H0.000-0.699
HR0.000-0.098
R0.0000.000
RBI0.000-0.477
SO1.0000.305
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.163
predicted_3B0.000-0.014
predicted_AB3.0000.030
predicted_AVG0.222-0.008
predicted_BB0.000-0.387
predicted_H1.0000.318
predicted_HR0.000-0.052
predicted_OBP0.296-0.023
predicted_R0.000-0.342
predicted_RBI1.0000.500
predicted_SLG0.3670.021
predicted_SO1.0000.440
11. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.0000.000
H0.0000.000
HBP1.0001.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: 119
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0005.0002.0000.0000.0004.0000.0002.0002.0000.31250.38890.43750.31250.00000.25000.12500.1250
last_100.2010-29.0007.0003.0000.0000.0007.0001.0004.0005.0000.24140.33330.34480.24140.00000.24140.13790.1724
season0.60119-348.00082.00015.0002.00010.00057.00048.00046.00068.0000.23560.33000.37640.23560.02870.16380.13220.1954
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2120
predicted_3B0.0110
predicted_AB3.0320
predicted_AVG0.2519
predicted_BB0.3870
predicted_H0.7640
predicted_HBP0.0210
predicted_HR0.0560
predicted_OBP0.3399
predicted_R0.2810
predicted_RBI0.5810
predicted_SLG0.3840
predicted_SO0.5460
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12600.21200.1629model_form_blend
predicted_3B0.01700.01100.0144model_form_blend
predicted_AB2.92403.03202.9704model_form_blend
predicted_AVG0.25500.25190.2537model_form_blend
predicted_BB0.38700.38700.3870model_form_blend
predicted_H0.64000.76400.6933model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.05000.05600.0526model_form_blend
predicted_OBP0.33000.33990.3343model_form_blend
predicted_R0.40300.28100.3506model_form_blend
predicted_RBI0.46000.58100.5120model_form_blend
predicted_SLG0.40600.38400.3965model_form_blend
predicted_SO0.57100.54600.5603model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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_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_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
gameID20261003_NYY@TB
game_typefull
mlbID680700
playerID680700
playerNameRichie Palacios
pos2B
startedTrue
startingPosition2B
teamTB
teamID27
game_date2026-10-03
sl_k_percent17.0
sl_bb_percent11.5
sl_woba0.316
sl_xwoba0.306
sl_xba0.243
sl_xslg0.334
sl_sweet_spot_percent33.1
sl_barrel_batted_rate4.0
sl_hard_hit_percent28.8
sl_exit_velocity_avg86.2
sl_launch_angle_avg13.4
sl_whiff_percent20.7
sl_swing_percent46.6
Taylor Walls (670764) · BATTER · SS · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 426
All-history rows before 20261005: 426
System season_avg: 0.2200
Data season_avg (2026 season-to-date): 0.2208
Diff (system - data): -0.0008
System opponent_avg: 0.3660

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1440.0000.000Hitting_2B0.1410.000-0.1410.000
predicted_3B0.0170.0000.000Hitting_3B0.0190.000-0.0190.000
predicted_AB3.1273.0003.000Hitting_AB3.2213.000-0.2210.000
predicted_AVG0.2010.0000.000Hitting_AVG0.2210.000-0.2210.000
predicted_BB0.3811.0000.000Hitting_BB0.4060.0000.5941.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.5400.0000.000Hitting_H0.7110.000-0.7110.000
predicted_HR0.0200.0000.000Hitting_HR0.0190.000-0.0190.000
predicted_OBP0.2970.2500.000Hitting_OBP0.3100.000-0.0600.250
predicted_R0.5000.0001.000Hitting_R0.5280.000-0.5280.000
predicted_RBI0.2500.0000.000Hitting_RBI0.3290.000-0.3290.000
predicted_SLG0.2690.0000.000Hitting_SLG0.2940.000-0.2940.000
predicted_SO0.8981.0001.000Hitting_SO0.9321.0000.0680.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.3810 -> 1.0000 (boost 0.6190, better)
Biggest Deboostpredicted_H: 0.5400 -> 0.0000 (deboost -0.5400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend33030predicted_H: 0.5400 -> 0.6261 (boost 0.0861, 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.3015 -> 0.2785 (deboost -0.0230, 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.6163 -> 1.0000 (boost 0.3837, better)predicted_BB: 0.3681 -> 0.0000 (deboost -0.3681, worse)AB rounded to 3 (raw=3.17), rates preserved: AVG=0.172 HR/AB=0.006
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)
7consistency_constraints11010predicted_R: 0.5332 -> 1.0000 (boost 0.4668, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.3041 (boost 0.3041, better)predicted_H: 1.0000 -> 0.6644 (deboost -0.3356, 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_allocation50505-predicted_H: 0.6644 -> 0.0000 (deboost -0.6644, 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_reference31212predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Attached simulation box score without overwriting model prediction
12current_json_final30303-predicted_SLG: 0.3150 -> 0.2743 (deboost -0.0407, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "670764",
  "player_name": "Taylor Walls",
  "position": "SS",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.144,
        "predicted_3B": 0.017,
        "predicted_AB": 3.127,
        "predicted_AVG": 0.201,
        "predicted_BB": 0.381,
        "predicted_H": 0.54,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.297,
        "predicted_R": 0.5,
        "predicted_RBI": 0.25,
        "predicted_SLG": 0.269,
        "predicted_SO": 0.898
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1685,
        "predicted_3B": 0.0144,
        "predicted_AB": 3.1662,
        "predicted_AVG": 0.2134,
        "predicted_BB": 0.3681,
        "predicted_H": 0.6261,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0187,
        "predicted_OBP": 0.3015,
        "predicted_R": 0.5461,
        "predicted_RBI": 0.2707,
        "predicted_SLG": 0.2888,
        "predicted_SO": 0.9212
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.144,
          "after": 0.1685,
          "delta": 0.0245,
          "percent_delta": 0.1701,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.017,
          "after": 0.0144,
          "delta": -0.0026,
          "percent_delta": -0.1529,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.127,
          "after": 3.1662,
          "delta": 0.0392,
          "percent_delta": 0.0125,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.201,
          "after": 0.2134,
          "delta": 0.0124,
          "percent_delta": 0.0617,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.381,
          "after": 0.3681,
          "delta": -0.0129,
          "percent_delta": -0.0339,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.54,
          "after": 0.6261,
          "delta": 0.0861,
          "percent_delta": 0.1594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.02,
          "after": 0.0187,
          "delta": -0.0013,
          "percent_delta": -0.065,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.3015,
          "delta": 0.0045,
          "percent_delta": 0.0152,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5,
          "after": 0.5461,
          "delta": 0.0461,
          "percent_delta": 0.0922,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.25,
          "after": 0.2707,
          "delta": 0.0207,
          "percent_delta": 0.0828,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.269,
          "after": 0.2888,
          "delta": 0.0198,
          "percent_delta": 0.0736,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.898,
          "after": 0.9212,
          "delta": 0.0232,
          "percent_delta": 0.0258,
          "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.54,
          "after": 0.6261,
          "delta": 0.0861,
          "percent_delta": 0.1594,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 118
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1685,
        "predicted_3B": 0.0144,
        "predicted_AB": 3.1662,
        "predicted_AVG": 0.1946,
        "predicted_BB": 0.3681,
        "predicted_H": 0.6163,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0183,
        "predicted_OBP": 0.2785,
        "predicted_R": 0.5332,
        "predicted_RBI": 0.2643,
        "predicted_SLG": 0.2743,
        "predicted_SO": 0.9212
      },
      "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.0144,
          "after": 0.0144,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.1662,
          "after": 3.1662,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2134,
          "after": 0.1946,
          "delta": -0.0188,
          "percent_delta": -0.0881,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3681,
          "after": 0.3681,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.6261,
          "after": 0.6163,
          "delta": -0.0098,
          "percent_delta": -0.0157,
          "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.0187,
          "after": 0.0183,
          "delta": -0.0004,
          "percent_delta": -0.0214,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3015,
          "after": 0.2785,
          "delta": -0.023,
          "percent_delta": -0.0763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.5461,
          "after": 0.5332,
          "delta": -0.0129,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2707,
          "after": 0.2643,
          "delta": -0.0064,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2888,
          "after": 0.2743,
          "delta": -0.0145,
          "percent_delta": -0.0502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9212,
          "after": 0.9212,
          "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.3015,
          "after": 0.2785,
          "delta": -0.023,
          "percent_delta": -0.0763,
          "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.17), rates preserved: AVG=0.172 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.1685,
          "after": 0.0,
          "delta": -0.1685,
          "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": 3.1662,
          "after": 3.0,
          "delta": -0.1662,
          "percent_delta": -0.0525,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3681,
          "after": 0.0,
          "delta": -0.3681,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6163,
          "after": 1.0,
          "delta": 0.3837,
          "percent_delta": 0.6226,
          "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.0183,
          "after": 0.0,
          "delta": -0.0183,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2643,
          "after": 0.0,
          "delta": -0.2643,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9212,
          "after": 1.0,
          "delta": 0.0788,
          "percent_delta": 0.0855,
          "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.6163,
          "after": 1.0,
          "delta": 0.3837,
          "percent_delta": 0.6226,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3681,
          "after": 0.0,
          "delta": -0.3681,
          "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.429)",
      "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": 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.5332,
          "after": 1.0,
          "delta": 0.4668,
          "percent_delta": 0.8755,
          "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.5332,
          "after": 1.0,
          "delta": 0.4668,
          "percent_delta": 0.8755,
          "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.1422,
        "predicted_3B": 0.0112,
        "predicted_BB": 0.285,
        "predicted_H": 0.6644,
        "predicted_HR": 0.051,
        "predicted_RBI": 0.3041,
        "predicted_SO": 1.0327
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1422,
          "delta": 0.1422,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0112,
          "delta": 0.0112,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.285,
          "delta": 0.285,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6644,
          "delta": -0.3356,
          "percent_delta": -0.3356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.051,
          "delta": 0.051,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3041,
          "delta": 0.3041,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0327,
          "delta": 0.0327,
          "percent_delta": 0.0327,
          "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.3041,
          "delta": 0.3041,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6644,
          "delta": -0.3356,
          "percent_delta": -0.3356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1422,
          "after": 0.0,
          "delta": -0.1422,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0112,
          "after": 0.0,
          "delta": -0.0112,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.285,
          "after": 0.0,
          "delta": -0.285,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6644,
          "after": 0.0,
          "delta": -0.6644,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.051,
          "after": 0.0,
          "delta": -0.051,
          "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.3041,
          "after": 0.0,
          "delta": -0.3041,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0327,
          "after": 1.0,
          "delta": -0.0327,
          "percent_delta": -0.0317,
          "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.6644,
          "after": 0.0,
          "delta": -0.6644,
          "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.213,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.285,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.315,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1946,
          "after": 0.213,
          "delta": 0.0184,
          "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.2785,
          "after": 0.285,
          "delta": 0.0065,
          "percent_delta": 0.0233,
          "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.2743,
          "after": 0.315,
          "delta": 0.0407,
          "percent_delta": 0.1484,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "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": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 12,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.1946,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.2785,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2743,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 3.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.1946,
          "delta": -0.0184,
          "percent_delta": -0.0862,
          "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.285,
          "after": 0.2785,
          "delta": -0.0065,
          "percent_delta": -0.0227,
          "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.315,
          "after": 0.2743,
          "delta": -0.0407,
          "percent_delta": -0.1291,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.315,
          "after": 0.2743,
          "delta": -0.0407,
          "percent_delta": -0.1291,
          "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.017,
        "after": 0.0,
        "delta": -0.017,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.127,
        "after": 3.0,
        "delta": -0.127,
        "percent_delta": -0.0406,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.201,
        "after": 0.1946,
        "delta": -0.0064,
        "percent_delta": -0.0318,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.381,
        "after": 1.0,
        "delta": 0.619,
        "percent_delta": 1.6247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.02,
        "after": 0.0,
        "delta": -0.02,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_OBP",
        "before": 0.297,
        "after": 0.2785,
        "delta": -0.0185,
        "percent_delta": -0.0623,
        "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.25,
        "after": 0.0,
        "delta": -0.25,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.269,
        "after": 0.2743,
        "delta": 0.0053,
        "percent_delta": 0.0197,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.898,
        "after": 1.0,
        "delta": 0.102,
        "percent_delta": 0.1136,
        "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.381,
        "after": 1.0,
        "delta": 0.619,
        "percent_delta": 1.6247,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.54,
        "after": 0.0,
        "delta": -0.54,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.144-
predicted_3B0.017-
predicted_AB3.127-
predicted_AVG0.201-
predicted_BB0.381-
predicted_H0.540-
predicted_HR0.020-
predicted_OBP0.297-
predicted_R0.500-
predicted_RBI0.250-
predicted_SLG0.269-
predicted_SO0.898-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1690.025
predicted_3B0.014-0.003
predicted_AB3.1660.039
predicted_AVG0.2130.012
predicted_BB0.368-0.013
predicted_H0.6260.086
predicted_HBP0.017-
predicted_HR0.019-0.001
predicted_OBP0.3010.005
predicted_R0.5460.046
predicted_RBI0.2710.021
predicted_SLG0.2890.020
predicted_SO0.9210.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.1690.000
predicted_3B0.0140.000
predicted_AB3.1660.000
predicted_AVG0.195-0.019
predicted_BB0.3680.000
predicted_H0.616-0.010
predicted_HBP0.0170.000
predicted_HR0.018-0.000
predicted_OBP0.279-0.023
predicted_R0.533-0.013
predicted_RBI0.264-0.006
predicted_SLG0.274-0.015
predicted_SO0.9210.000
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

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.1420.142
3B0.0110.011
BB0.2850.285
H0.664-0.336
HR0.0510.051
RBI0.3040.304
SO1.0330.033
9. 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.011
AB3.0000.000
BB0.000-0.285
H0.000-0.664
HR0.000-0.051
R1.0000.000
RBI0.000-0.304
SO1.000-0.033
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.169
predicted_3B0.000-0.014
predicted_AB3.000-0.166
predicted_AVG0.2130.018
predicted_BB0.000-0.368
predicted_H1.0000.384
predicted_HR0.000-0.018
predicted_OBP0.2850.006
predicted_R1.0000.467
predicted_RBI0.000-0.264
predicted_SLG0.3150.041
predicted_SO1.0000.079
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.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SB0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 118
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0002.0000.0000.0001.0005.0001.0006.0000.27780.31580.38890.27780.00000.05560.05560.3333
last_100.2010-29.0006.0002.0000.0000.0003.0006.0004.0009.0000.20690.30300.27590.20690.00000.10350.13790.3103
season0.60118-369.00081.00017.0002.0002.00036.00059.00045.000106.0000.21950.30640.29270.21950.00540.09760.12200.2873
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2010
predicted_3B0.0110
predicted_AB3.2180
predicted_AVG0.2299
predicted_BB0.3510
predicted_H0.7400
predicted_HBP0.0170
predicted_HR0.0170
predicted_OBP0.3075
predicted_R0.6070
predicted_RBI0.2980
predicted_SLG0.3151
predicted_SO0.9520
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14400.20100.1685model_form_blend
predicted_3B0.01700.01100.0144model_form_blend
predicted_AB3.12703.21803.1662model_form_blend
predicted_AVG0.20100.22990.2134model_form_blend
predicted_BB0.38100.35100.3681model_form_blend
predicted_H0.54000.74000.6261model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.02000.01700.0187model_form_blend
predicted_OBP0.29700.30750.3015model_form_blend
predicted_R0.50000.60700.5461model_form_blend
predicted_RBI0.25000.29800.2707model_form_blend
predicted_SLG0.26900.31510.2888model_form_blend
predicted_SO0.89800.95200.9212model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.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
gameID20261003_NYY@TB
game_typefull
mlbID670764
playerID670764
playerNameTaylor Walls
posSS
startedTrue
startingPositionSS
teamTB
teamID27
game_date2026-10-03
sl_k_percent24.2
sl_bb_percent10.4
sl_woba0.278
sl_xwoba0.251
sl_xba0.19
sl_xslg0.261
sl_sweet_spot_percent32.1
sl_barrel_batted_rate2.2
sl_hard_hit_percent21.9
sl_exit_velocity_avg85.6
sl_launch_angle_avg19.4
sl_whiff_percent22.0
sl_swing_percent43.2
Chandler Simpson (802415) · BATTER · LF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 594
All-history rows before 20261005: 594
System season_avg: 0.3040
Data season_avg (2026 season-to-date): 0.3064
Diff (system - data): -0.0024
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.1080.0000.000Hitting_2B0.1140.000-0.1140.000
predicted_3B0.0410.0000.000Hitting_3B0.0350.000-0.0350.000
predicted_AB4.6604.0004.000Hitting_AB3.9784.0000.0220.000
predicted_AVG0.2520.2500.250Hitting_AVG0.3060.000-0.0560.250
predicted_BB0.1690.0000.000Hitting_BB0.1920.000-0.1920.000
predicted_CS-0.0000.000BaseRunning_CS0.1030.000-0.1030.000
predicted_H1.1701.0001.000Hitting_H1.2190.000-0.2191.000
predicted_HR0.0000.0000.000Hitting_HR0.0000.0000.0000.000
predicted_OBP0.2790.2500.250Hitting_OBP0.3350.000-0.0850.250
predicted_R0.4390.0000.000Hitting_R0.4530.000-0.4530.000
predicted_RBI0.3000.0000.000Hitting_RBI0.2630.000-0.2630.000
predicted_SLG0.3160.2500.250Hitting_SLG0.3530.000-0.1030.250
predicted_SO0.3310.0000.000Hitting_SO0.3431.000-0.343-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics0
Deboosted Metrics8
Better Metrics1
Worse Metrics7
Biggest Boost-
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_blend41313predicted_AVG: 0.2520 -> 0.2570 (boost 0.0050, better)predicted_AB: 4.6600 -> 4.3228 (deboost -0.3372, worse)Final model input calibrated 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.3105 -> 0.2923 (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_scaling60615-predicted_SO: 0.3624 -> 0.0000 (deboost -0.3624, better)AB rounded to 4 (raw=4.66), rates preserved: AVG=0.206 HR/AB=0.001
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)
7consistency_constraints10101-predicted_R: 0.3992 -> 0.0000 (deboost -0.3992, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine44031predicted_SO: 0.0000 -> 0.4511 (boost 0.4511, 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_allocation40413-predicted_SO: 0.4511 -> 0.0000 (deboost -0.4511, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context22020predicted_SLG: 0.2923 -> 0.3340 (boost 0.0417, better)-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_final20202-predicted_SLG: 0.3340 -> 0.2923 (deboost -0.0417, 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.108,
        "predicted_3B": 0.041,
        "predicted_AB": 4.66,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.169,
        "predicted_H": 1.17,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.279,
        "predicted_R": 0.439,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.316,
        "predicted_SO": 0.331
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0997,
        "predicted_3B": 0.0336,
        "predicted_AB": 4.3228,
        "predicted_AVG": 0.257,
        "predicted_BB": 0.1428,
        "predicted_H": 1.1063,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0026,
        "predicted_OBP": 0.2798,
        "predicted_R": 0.4089,
        "predicted_RBI": 0.2839,
        "predicted_SLG": 0.3105,
        "predicted_SO": 0.3624
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.108,
          "after": 0.0997,
          "delta": -0.0083,
          "percent_delta": -0.0769,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.041,
          "after": 0.0336,
          "delta": -0.0074,
          "percent_delta": -0.1805,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.66,
          "after": 4.3228,
          "delta": -0.3372,
          "percent_delta": -0.0724,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.257,
          "delta": 0.005,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.169,
          "after": 0.1428,
          "delta": -0.0262,
          "percent_delta": -0.155,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.17,
          "after": 1.1063,
          "delta": -0.0637,
          "percent_delta": -0.0544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0026,
          "delta": 0.0026,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.279,
          "after": 0.2798,
          "delta": 0.0008,
          "percent_delta": 0.0029,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.439,
          "after": 0.4089,
          "delta": -0.0301,
          "percent_delta": -0.0686,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3,
          "after": 0.2839,
          "delta": -0.0161,
          "percent_delta": -0.0537,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.316,
          "after": 0.3105,
          "delta": -0.0055,
          "percent_delta": -0.0174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.331,
          "after": 0.3624,
          "delta": 0.0314,
          "percent_delta": 0.0949,
          "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.252,
          "after": 0.257,
          "delta": 0.005,
          "percent_delta": 0.0198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.66,
          "after": 4.3228,
          "delta": -0.3372,
          "percent_delta": -0.0724,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 148
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0997,
        "predicted_3B": 0.0336,
        "predicted_AB": 4.3228,
        "predicted_AVG": 0.2519,
        "predicted_BB": 0.1428,
        "predicted_H": 1.0889,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0025,
        "predicted_OBP": 0.2758,
        "predicted_R": 0.3992,
        "predicted_RBI": 0.2772,
        "predicted_SLG": 0.2923,
        "predicted_SO": 0.3624
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0997,
          "after": 0.0997,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0336,
          "after": 0.0336,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3228,
          "after": 4.3228,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.257,
          "after": 0.2519,
          "delta": -0.0051,
          "percent_delta": -0.0198,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1428,
          "after": 0.1428,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.1063,
          "after": 1.0889,
          "delta": -0.0174,
          "percent_delta": -0.0157,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.002,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0026,
          "after": 0.0025,
          "delta": -0.0001,
          "percent_delta": -0.0385,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2798,
          "after": 0.2758,
          "delta": -0.004,
          "percent_delta": -0.0143,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.4089,
          "after": 0.3992,
          "delta": -0.0097,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2839,
          "after": 0.2772,
          "delta": -0.0067,
          "percent_delta": -0.0236,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3105,
          "after": 0.2923,
          "delta": -0.0182,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3624,
          "after": 0.3624,
          "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.3105,
          "after": 0.2923,
          "delta": -0.0182,
          "percent_delta": -0.0586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 4,
      "step": "matchup_context",
      "description": "Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied",
      "stats": {},
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.66), rates preserved: AVG=0.206 HR/AB=0.001",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0997,
          "after": 0.0,
          "delta": -0.0997,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0336,
          "after": 0.0,
          "delta": -0.0336,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.3228,
          "after": 4.0,
          "delta": -0.3228,
          "percent_delta": -0.0747,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.0889,
          "after": 1.0,
          "delta": -0.0889,
          "percent_delta": -0.0816,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.002,
          "after": 0.0,
          "delta": -0.002,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0025,
          "after": 0.0,
          "delta": -0.0025,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2772,
          "after": 0.0,
          "delta": -0.2772,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3624,
          "after": 0.0,
          "delta": -0.3624,
          "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.3624,
          "after": 0.0,
          "delta": -0.3624,
          "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=14.0, weight=0.127, BvP AVG=0.286)",
      "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.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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.3992,
          "after": 0.0,
          "delta": -0.3992,
          "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.3992,
          "after": 0.0,
          "delta": -0.3992,
          "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.1478,
        "predicted_3B": 0.0205,
        "predicted_BB": 0.1674,
        "predicted_H": 0.9703,
        "predicted_HR": 0.0381,
        "predicted_RBI": 0.3123,
        "predicted_SO": 0.4511
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1478,
          "delta": 0.1478,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0205,
          "delta": 0.0205,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.1674,
          "delta": 0.1674,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9703,
          "delta": -0.0297,
          "percent_delta": -0.0297,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0381,
          "delta": 0.0381,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3123,
          "delta": 0.3123,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.4511,
          "delta": 0.4511,
          "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": 0.4511,
          "delta": 0.4511,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 9,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1478,
          "after": 0.0,
          "delta": -0.1478,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0205,
          "after": 0.0,
          "delta": -0.0205,
          "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.1674,
          "after": 0.0,
          "delta": -0.1674,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9703,
          "after": 1.0,
          "delta": 0.0297,
          "percent_delta": 0.0306,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0381,
          "after": 0.0,
          "delta": -0.0381,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3123,
          "after": 0.0,
          "delta": -0.3123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.4511,
          "after": 0.0,
          "delta": -0.4511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.4511,
          "after": 0.0,
          "delta": -0.4511,
          "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.254,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.291,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.334,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2519,
          "after": 0.254,
          "delta": 0.0021,
          "percent_delta": 0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2758,
          "after": 0.291,
          "delta": 0.0152,
          "percent_delta": 0.0551,
          "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.2923,
          "after": 0.334,
          "delta": 0.0417,
          "percent_delta": 0.1427,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.2923,
          "after": 0.334,
          "delta": 0.0417,
          "percent_delta": 0.1427,
          "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": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SF",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 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.2519,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.2758,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.2923,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.254,
          "after": 0.2519,
          "delta": -0.0021,
          "percent_delta": -0.0083,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_CS",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HBP",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.2758,
          "delta": -0.0152,
          "percent_delta": -0.0521,
          "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.334,
          "after": 0.2923,
          "delta": -0.0417,
          "percent_delta": -0.1249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.334,
          "after": 0.2923,
          "delta": -0.0417,
          "percent_delta": -0.1249,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.108,
        "after": 0.0,
        "delta": -0.108,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.041,
        "after": 0.0,
        "delta": -0.041,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 4.66,
        "after": 4.0,
        "delta": -0.66,
        "percent_delta": -0.1416,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.2519,
        "delta": -0.0001,
        "percent_delta": -0.0004,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_BB",
        "before": 0.169,
        "after": 0.0,
        "delta": -0.169,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.17,
        "after": 1.0,
        "delta": -0.17,
        "percent_delta": -0.1453,
        "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.279,
        "after": 0.2758,
        "delta": -0.0032,
        "percent_delta": -0.0115,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.439,
        "after": 0.0,
        "delta": -0.439,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.316,
        "after": 0.2923,
        "delta": -0.0237,
        "percent_delta": -0.075,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.331,
        "after": 0.0,
        "delta": -0.331,
        "percent_delta": -1.0,
        "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.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.108-
predicted_3B0.041-
predicted_AB4.660-
predicted_AVG0.252-
predicted_BB0.169-
predicted_H1.170-
predicted_HR0.000-
predicted_OBP0.279-
predicted_R0.439-
predicted_RBI0.300-
predicted_SLG0.316-
predicted_SO0.331-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.008
predicted_3B0.034-0.007
predicted_AB4.323-0.337
predicted_AVG0.2570.005
predicted_BB0.143-0.026
predicted_H1.106-0.064
predicted_HBP0.002-
predicted_HR0.0030.003
predicted_OBP0.2800.001
predicted_R0.409-0.030
predicted_RBI0.284-0.016
predicted_SLG0.310-0.006
predicted_SO0.3620.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.1000.000
predicted_3B0.0340.000
predicted_AB4.3230.000
predicted_AVG0.252-0.005
predicted_BB0.1430.000
predicted_H1.089-0.017
predicted_HBP0.0020.000
predicted_HR0.003-0.000
predicted_OBP0.276-0.004
predicted_R0.399-0.010
predicted_RBI0.277-0.007
predicted_SLG0.292-0.018
predicted_SO0.3620.000
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 4 (raw=4.66), rates preserved: AVG=0.206 HR/AB=0.001

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

Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)

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.1480.148
3B0.0210.021
BB0.1670.167
H0.970-0.030
HR0.0380.038
RBI0.3120.312
SO0.4510.451
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.021
AB4.0000.000
BB0.000-0.167
H1.0000.030
HR0.000-0.038
R0.0000.000
RBI0.000-0.312
SO0.000-0.451
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.100
predicted_3B0.000-0.034
predicted_AB4.000-0.323
predicted_AVG0.2540.002
predicted_BB0.000-0.143
predicted_H1.000-0.089
predicted_HR0.000-0.003
predicted_OBP0.2910.015
predicted_R0.000-0.399
predicted_RBI0.000-0.277
predicted_SLG0.3340.042
predicted_SO0.000-0.362
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.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: 148
Reference playing time: 4.660
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0000.0000.0000.0000.0001.0000.0003.0000.15790.15790.15790.15790.00000.00000.00000.1579
last_100.2010-40.00010.0001.0000.0000.0005.0003.0000.0003.0000.25000.25000.27500.25000.00000.12500.00000.0750
season0.60148-575.000175.00016.0006.0000.00038.00065.00025.00049.0000.30430.33000.35300.30440.00000.06610.04350.0852
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0890
predicted_3B0.0240
predicted_AB3.8870
predicted_AVG0.2634
predicted_BB0.1090
predicted_H1.0240
predicted_HBP0.0020
predicted_HR0.0060
predicted_OBP0.2808
predicted_R0.3700
predicted_RBI0.2630
predicted_SLG0.3035
predicted_SO0.4030
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.10800.08900.0997model_form_blend
predicted_3B0.04100.02400.0336model_form_blend
predicted_AB4.66003.88704.3228model_form_blend
predicted_AVG0.25200.26340.2570model_form_blend
predicted_BB0.16900.10900.1428model_form_blend
predicted_H1.17001.02401.1063model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.00000.00600.0026model_form_blend
predicted_OBP0.27900.28080.2798model_form_blend
predicted_R0.43900.37000.4089model_form_blend
predicted_RBI0.30000.26300.2839model_form_blend
predicted_SLG0.31600.30350.3105model_form_blend
predicted_SO0.33100.40300.3624model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
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_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261003_NYY@TB
game_typefull
mlbID802415
playerID802415
playerNameChandler Simpson
posLF
startedTrue
startingPositionLF
teamTB
teamID27
game_date2026-10-03
sl_k_percent7.8
sl_bb_percent4.2
sl_woba0.305
sl_xwoba0.263
sl_xba0.261
sl_xslg0.297
sl_sweet_spot_percent25.7
sl_barrel_batted_rate0.0
sl_hard_hit_percent13.4
sl_exit_velocity_avg83.6
sl_launch_angle_avg1.2
sl_whiff_percent10.8
sl_swing_percent48.5
Victor Mesa Jr. (683748) · BATTER · RF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 243
All-history rows before 20261005: 243
System season_avg: 0.2610
Data season_avg (2026 season-to-date): 0.2623
Diff (system - data): -0.0013
System opponent_avg: 0.3000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1110.0000.000Hitting_2B0.1070.000-0.1070.000
predicted_3B0.0420.0000.000Hitting_3B0.0530.000-0.0530.000
predicted_AB3.3063.0004.000Hitting_AB3.4203.000-0.4200.000
predicted_AVG0.2770.0000.250Hitting_AVG0.2620.333-0.262-0.333
predicted_BB0.3061.0000.000Hitting_BB0.3370.0000.6631.000
predicted_CS-0.0000.000BaseRunning_CS0.0490.000-0.0490.000
predicted_H0.9000.0001.000Hitting_H0.8971.000-0.897-1.000
predicted_HR0.1500.0000.000Hitting_HR0.2140.000-0.2140.000
predicted_OBP0.3310.2500.250Hitting_OBP0.3280.333-0.078-0.083
predicted_R0.5140.0001.000Hitting_R0.5560.000-0.5560.000
predicted_RBI0.4400.0000.000Hitting_RBI0.5270.000-0.5270.000
predicted_SLG0.4300.0000.250Hitting_SLG0.5130.333-0.513-0.333
predicted_SO0.7501.0001.000Hitting_SO0.7241.0000.2760.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.3060 -> 1.0000 (boost 0.6940, better)
Biggest Deboostpredicted_H: 0.9000 -> 0.0000 (deboost -0.9000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_AB: 3.3060 -> 3.4017 (boost 0.0957, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot21111predicted_SLG: 0.4444 -> 0.4591 (boost 0.0147, better)predicted_AVG: 0.2776 -> 0.2706 (deboost -0.0070, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_AB: 3.4017 -> 4.0000 (boost 0.5983, better)predicted_RBI: 0.4472 -> 0.0000 (deboost -0.4472, worse)AB rounded to 4 (raw=3.40), rates preserved: AVG=0.239 HR/AB=0.042
6consistency_constraints11010predicted_R: 0.5072 -> 1.0000 (boost 0.4928, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.4805 (boost 0.4805, better)predicted_H: 1.0000 -> 0.8006 (deboost -0.1994, 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.8006 -> 1.0000 (boost 0.1994, better)predicted_RBI: 0.4805 -> 0.0000 (deboost -0.4805, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context30303-predicted_AVG: 0.2706 -> 0.2240 (deboost -0.0466, worse)Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10simulation_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
11current_json_final33030predicted_AVG: 0.2240 -> 0.2706 (boost 0.0466, better)-Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "batter",
  "player_id": "683748",
  "player_name": "Victor Mesa Jr.",
  "position": "RF",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.111,
        "predicted_3B": 0.042,
        "predicted_AB": 3.306,
        "predicted_AVG": 0.277,
        "predicted_BB": 0.306,
        "predicted_H": 0.9,
        "predicted_HR": 0.15,
        "predicted_OBP": 0.331,
        "predicted_R": 0.514,
        "predicted_RBI": 0.44,
        "predicted_SLG": 0.43,
        "predicted_SO": 0.75
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.14,
        "predicted_3B": 0.0349,
        "predicted_AB": 3.4017,
        "predicted_AVG": 0.2776,
        "predicted_BB": 0.2976,
        "predicted_H": 0.9353,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1466,
        "predicted_OBP": 0.3318,
        "predicted_R": 0.5195,
        "predicted_RBI": 0.4581,
        "predicted_SLG": 0.4444,
        "predicted_SO": 0.7911
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.111,
          "after": 0.14,
          "delta": 0.029,
          "percent_delta": 0.2613,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.042,
          "after": 0.0349,
          "delta": -0.0071,
          "percent_delta": -0.169,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.306,
          "after": 3.4017,
          "delta": 0.0957,
          "percent_delta": 0.0289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.277,
          "after": 0.2776,
          "delta": 0.0006,
          "percent_delta": 0.0022,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.306,
          "after": 0.2976,
          "delta": -0.0084,
          "percent_delta": -0.0275,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9,
          "after": 0.9353,
          "delta": 0.0353,
          "percent_delta": 0.0392,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.15,
          "after": 0.1466,
          "delta": -0.0034,
          "percent_delta": -0.0227,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.331,
          "after": 0.3318,
          "delta": 0.0008,
          "percent_delta": 0.0024,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.514,
          "after": 0.5195,
          "delta": 0.0055,
          "percent_delta": 0.0107,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.44,
          "after": 0.4581,
          "delta": 0.0181,
          "percent_delta": 0.0411,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.43,
          "after": 0.4444,
          "delta": 0.0144,
          "percent_delta": 0.0335,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.75,
          "after": 0.7911,
          "delta": 0.0411,
          "percent_delta": 0.0548,
          "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.306,
          "after": 3.4017,
          "delta": 0.0957,
          "percent_delta": 0.0289,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 72
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.14,
        "predicted_3B": 0.0349,
        "predicted_AB": 3.4017,
        "predicted_AVG": 0.2706,
        "predicted_BB": 0.2976,
        "predicted_H": 0.9206,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1437,
        "predicted_OBP": 0.3293,
        "predicted_R": 0.5072,
        "predicted_RBI": 0.4472,
        "predicted_SLG": 0.4591,
        "predicted_SO": 0.7911
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.14,
          "after": 0.14,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0349,
          "after": 0.0349,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4017,
          "after": 3.4017,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2776,
          "after": 0.2706,
          "delta": -0.007,
          "percent_delta": -0.0252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2976,
          "after": 0.2976,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.9353,
          "after": 0.9206,
          "delta": -0.0147,
          "percent_delta": -0.0157,
          "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.1466,
          "after": 0.1437,
          "delta": -0.0029,
          "percent_delta": -0.0198,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3318,
          "after": 0.3293,
          "delta": -0.0025,
          "percent_delta": -0.0075,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_R",
          "before": 0.5195,
          "after": 0.5072,
          "delta": -0.0123,
          "percent_delta": -0.0237,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4581,
          "after": 0.4472,
          "delta": -0.0109,
          "percent_delta": -0.0238,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4444,
          "after": 0.4591,
          "delta": 0.0147,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7911,
          "after": 0.7911,
          "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.4444,
          "after": 0.4591,
          "delta": 0.0147,
          "percent_delta": 0.0331,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.2776,
          "after": 0.2706,
          "delta": -0.007,
          "percent_delta": -0.0252,
          "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.40), rates preserved: AVG=0.239 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.14,
          "after": 0.0,
          "delta": -0.14,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0349,
          "after": 0.0,
          "delta": -0.0349,
          "percent_delta": -1.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 3.4017,
          "after": 4.0,
          "delta": 0.5983,
          "percent_delta": 0.1759,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2976,
          "after": 0.0,
          "delta": -0.2976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9206,
          "after": 1.0,
          "delta": 0.0794,
          "percent_delta": 0.0862,
          "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.1437,
          "after": 0.0,
          "delta": -0.1437,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4472,
          "after": 0.0,
          "delta": -0.4472,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7911,
          "after": 1.0,
          "delta": 0.2089,
          "percent_delta": 0.2641,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4017,
          "after": 4.0,
          "delta": 0.5983,
          "percent_delta": 0.1759,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4472,
          "after": 0.0,
          "delta": -0.4472,
          "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.5072,
          "after": 1.0,
          "delta": 0.4928,
          "percent_delta": 0.9716,
          "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.5072,
          "after": 1.0,
          "delta": 0.4928,
          "percent_delta": 0.9716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 7,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1609,
        "predicted_3B": 0.0194,
        "predicted_BB": 0.2651,
        "predicted_H": 0.8006,
        "predicted_HR": 0.1773,
        "predicted_RBI": 0.4805,
        "predicted_SO": 0.9863
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1609,
          "delta": 0.1609,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0194,
          "delta": 0.0194,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2651,
          "delta": 0.2651,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8006,
          "delta": -0.1994,
          "percent_delta": -0.1994,
          "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.4805,
          "delta": 0.4805,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9863,
          "delta": -0.0137,
          "percent_delta": -0.0137,
          "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.4805,
          "delta": 0.4805,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8006,
          "delta": -0.1994,
          "percent_delta": -0.1994,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 8,
      "step": "lineup_integer_allocation",
      "description": "Lineup-level largest-remainder allocation so team totals match the summed model expectation",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1609,
          "after": 0.0,
          "delta": -0.1609,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0194,
          "after": 0.0,
          "delta": -0.0194,
          "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.2651,
          "after": 0.0,
          "delta": -0.2651,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8006,
          "after": 1.0,
          "delta": 0.1994,
          "percent_delta": 0.2491,
          "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.4805,
          "after": 0.0,
          "delta": -0.4805,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9863,
          "after": 1.0,
          "delta": 0.0137,
          "percent_delta": 0.0139,
          "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.8006,
          "after": 1.0,
          "delta": 0.1994,
          "percent_delta": 0.2491,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4805,
          "after": 0.0,
          "delta": -0.4805,
          "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": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.429,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2706,
          "after": 0.224,
          "delta": -0.0466,
          "percent_delta": -0.1722,
          "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.3293,
          "after": 0.284,
          "delta": -0.0453,
          "percent_delta": -0.1376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 1.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4591,
          "after": 0.429,
          "delta": -0.0301,
          "percent_delta": -0.0656,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.2706,
          "after": 0.224,
          "delta": -0.0466,
          "percent_delta": -0.1722,
          "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": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "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": 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.2706,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.3293,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4591,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_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.2706,
          "delta": 0.0466,
          "percent_delta": 0.2082,
          "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.284,
          "after": 0.3293,
          "delta": 0.0453,
          "percent_delta": 0.1595,
          "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.429,
          "after": 0.4591,
          "delta": 0.0301,
          "percent_delta": 0.0701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "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.224,
          "after": 0.2706,
          "delta": 0.0466,
          "percent_delta": 0.2082,
          "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.111,
        "after": 0.0,
        "delta": -0.111,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.042,
        "after": 0.0,
        "delta": -0.042,
        "percent_delta": -1.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_AB",
        "before": 3.306,
        "after": 3.0,
        "delta": -0.306,
        "percent_delta": -0.0926,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.277,
        "after": 0.2706,
        "delta": -0.0064,
        "percent_delta": -0.0231,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.306,
        "after": 1.0,
        "delta": 0.694,
        "percent_delta": 2.268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.9,
        "after": 0.0,
        "delta": -0.9,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.15,
        "after": 0.0,
        "delta": -0.15,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.331,
        "after": 0.3293,
        "delta": -0.0017,
        "percent_delta": -0.0051,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_R",
        "before": 0.514,
        "after": 0.0,
        "delta": -0.514,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.44,
        "after": 0.0,
        "delta": -0.44,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.43,
        "after": 0.4591,
        "delta": 0.0291,
        "percent_delta": 0.0677,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.75,
        "after": 1.0,
        "delta": 0.25,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 3,
      "deboosted_metrics": 7,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.306,
        "after": 1.0,
        "delta": 0.694,
        "percent_delta": 2.268,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.9,
        "after": 0.0,
        "delta": -0.9,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.111-
predicted_3B0.042-
predicted_AB3.306-
predicted_AVG0.277-
predicted_BB0.306-
predicted_H0.900-
predicted_HR0.150-
predicted_OBP0.331-
predicted_R0.514-
predicted_RBI0.440-
predicted_SLG0.430-
predicted_SO0.750-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1400.029
predicted_3B0.035-0.007
predicted_AB3.4020.096
predicted_AVG0.2780.001
predicted_BB0.298-0.008
predicted_H0.9350.035
predicted_HBP0.003-
predicted_HR0.147-0.003
predicted_OBP0.3320.001
predicted_R0.5190.005
predicted_RBI0.4580.018
predicted_SLG0.4440.014
predicted_SO0.7910.041
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1400.000
predicted_3B0.0350.000
predicted_AB3.4020.000
predicted_AVG0.271-0.007
predicted_BB0.2980.000
predicted_H0.921-0.015
predicted_HBP0.0030.000
predicted_HR0.144-0.003
predicted_OBP0.329-0.003
predicted_R0.507-0.012
predicted_RBI0.447-0.011
predicted_SLG0.4590.015
predicted_SO0.7910.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.40), rates preserved: AVG=0.239 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.1610.161
3B0.0190.019
BB0.2650.265
H0.801-0.199
HR0.1770.177
RBI0.4800.480
SO0.986-0.014
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.019
AB4.0000.000
BB0.000-0.265
H1.0000.199
HR0.000-0.177
R1.0000.000
RBI0.000-0.480
SO1.0000.014
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.140
predicted_3B0.000-0.035
predicted_AB4.0000.598
predicted_AVG0.224-0.047
predicted_BB0.000-0.298
predicted_H1.0000.079
predicted_HR0.000-0.144
predicted_OBP0.284-0.045
predicted_R1.0000.493
predicted_RBI0.000-0.447
predicted_SLG0.429-0.030
predicted_SO1.0000.209
10. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 72
Reference playing time: 3.801
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0007.0002.0000.0000.0003.0003.0001.0005.0000.35000.38100.45000.35000.00000.15000.05000.2500
last_100.2010-36.00010.0002.0000.0001.0004.0005.0003.00010.0000.27780.33330.41670.27780.02780.11110.08330.2778
season0.6072-238.00062.0008.0003.00014.00034.00037.00022.00054.0000.26050.32180.49580.26050.05880.14290.09240.2269
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1800
predicted_3B0.0250
predicted_AB3.5340
predicted_AVG0.2784
predicted_BB0.2860
predicted_H0.9840
predicted_HBP0.0030
predicted_HR0.1420
predicted_OBP0.3328
predicted_R0.5270
predicted_RBI0.4830
predicted_SLG0.4643
predicted_SO0.8480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11100.18000.1400model_form_blend
predicted_3B0.04200.02500.0349model_form_blend
predicted_AB3.30603.53403.4017model_form_blend
predicted_AVG0.27700.27840.2776model_form_blend
predicted_BB0.30600.28600.2976model_form_blend
predicted_H0.90000.98400.9353model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.15000.14200.1466model_form_blend
predicted_OBP0.33100.33280.3318model_form_blend
predicted_R0.51400.52700.5195model_form_blend
predicted_RBI0.44000.48300.4581model_form_blend
predicted_SLG0.43000.46430.4444model_form_blend
predicted_SO0.75000.84800.7911model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
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 assists1
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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
gameID20261003_NYY@TB
game_typefull
mlbID683748
playerID683748
playerNameVictor Mesa Jr.
posRF
startedTrue
startingPositionRF
teamTB
teamID27
game_date2026-10-03
sl_k_percent20.2
sl_bb_percent8.8
sl_woba0.355
sl_xwoba0.329
sl_xba0.249
sl_xslg0.439
sl_sweet_spot_percent31.9
sl_barrel_batted_rate10.8
sl_hard_hit_percent42.2
sl_exit_velocity_avg89.4
sl_launch_angle_avg21.0
sl_whiff_percent25.5
sl_swing_percent55.0
Freddy Peralta (642547) · PITCHER · Starter · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 10
All-history rows before 20261005: 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.5003.0000.500-1.000
predicted_ER4.0004.0004.000Pitching_ER2.0000.0002.0004.000
predicted_H7.0007.0007.000Pitching_H4.1004.0002.9003.000
predicted_IP5.1005.1005.100Pitching_InningsPitched5.3705.100-0.2700.000
predicted_SO4.0004.0004.000Pitching_SO4.3004.000-0.3000.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final10101-predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse)Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "642547",
  "player_name": "Freddy Peralta",
  "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": 2.0,
        "predicted_ER": 4.0,
        "predicted_H": 7.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.3333,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 4.0,
        "predicted_H": 7.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.1,
        "predicted_R": 4.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": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 7.0,
          "after": 7.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 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.3333,
          "after": 5.1,
          "delta": -0.2333,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 4.0,
          "after": 4.0,
          "delta": 0.0,
          "percent_delta": 0.0,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.3333,
          "after": 5.1,
          "delta": -0.2333,
          "percent_delta": -0.0438,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 2.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 7.0,
        "after": 7.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 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.3333,
        "after": 5.1,
        "delta": -0.2333,
        "percent_delta": -0.0437,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 4.0,
        "after": 4.0,
        "delta": 0.0,
        "percent_delta": 0.0,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.3333,
        "after": 5.1,
        "delta": -0.2333,
        "percent_delta": -0.0437,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER4.000-
predicted_H7.000-
predicted_HR1.000-
predicted_IP5.333-
predicted_SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 32
Reference playing time: 5.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45528.0003.00016.0009.00023.0001.0000.96430.89290.10710.57140.32140.82140.0357
last_100.351055.10020.00041.00015.00043.0006.0003.25301.01200.36140.74100.27110.77710.1084
season0.2032169.00083.000161.00063.000156.00023.0004.42011.32540.49110.95270.37280.92310.1361
Weighted Prediction From Real Data
MetricValue
predicted_BB1.7970
predicted_ER1.6990
predicted_ERA2.7486
predicted_H4.1420
predicted_HR0.5020
predicted_IP5.2000
predicted_SO4.6790
predicted_WHIP1.0675
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.79701.8796model_form_blend
predicted_ER4.00001.69902.6357model_form_blend
predicted_ERA-2.74862.7486form_only
predicted_H7.00004.14205.3054model_form_blend
predicted_HR1.00000.50200.7047model_form_blend
predicted_IP5.10005.20005.2000model_form_blend
predicted_SO4.00004.67904.4026model_form_blend
predicted_WHIP-1.06751.0675form_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 used32
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.1
H7
R4
ER4
BB2
SO4
HR1
BF25
Pitches96

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB3
Pitching_Balk0
Pitching_Batters Faced22
Pitching_ER0
Pitching_ERA4.42
Pitching_Flyouts2
Pitching_Groundouts7
Pitching_H4
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched5.1
Pitching_Pitches93
Pitching_R0
Pitching_SO4
Pitching_Strikes59
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260925_TB@PHI
game_typefull
mlbID642547
playerID642547
playerNameFreddy Peralta
posP
startedTrue
startingPositionP
teamTB
teamID27
game_date2026-09-25
sl_k_percent21.4
sl_bb_percent8.6
sl_woba0.323
sl_xwoba0.302
sl_sweet_spot_percent35.2
sl_barrel_batted_rate5.8
sl_hard_hit_percent37.2
sl_whiff_percent26.1
sl_swing_percent48.0
sl_avg_best_speed76.423850202
sl_avg_hyper_speed93.480881149
Bryan Baker (641329) · PITCHER · Closer · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 66
All-history rows before 20261005: 66

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_ER0.0000.0000.000Pitching_ER0.1520.000-0.1520.000
predicted_H0.0000.0000.000Pitching_H0.5300.000-0.5300.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.9351.0000.0650.000
predicted_SO1.0001.0001.000Pitching_SO0.9852.0000.015-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "641329",
  "player_name": "Bryan Baker",
  "position": "Closer",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 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.4555.0000.0003.0001.0003.0000.0000.00000.80000.00000.60000.20000.60000.0000
last_100.351010.1000.0005.0003.0006.0000.0000.00000.77420.00000.48390.29030.58060.0000
season0.206463.1009.00034.00020.00065.0004.0001.27890.85260.14210.53680.31581.02630.0632
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2890
predicted_ER0.1630
predicted_ERA1.4626
predicted_H0.6680
predicted_HR0.0500
predicted_IP1.0000
predicted_SO0.7490
predicted_WHIP0.9572
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.28900.6209model_form_blend
predicted_ER0.00000.16300.0869model_form_blend
predicted_ERA-1.46261.4626form_only
predicted_H0.00000.66800.3561model_form_blend
predicted_HR0.00000.05000.0267model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.74900.8662model_form_blend
predicted_WHIP-0.95720.9572form_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 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
Pitches15

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches14
Pitching_R0
Pitching_SO2
Pitching_Strikes8
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261003_NYY@TB
game_typefull
mlbID641329
playerID641329
playerNameBryan Baker
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-10-03
sl_k_percent25.8
sl_bb_percent9.0
sl_woba0.231
sl_xwoba0.272
sl_sweet_spot_percent33.1
sl_barrel_batted_rate7.0
sl_hard_hit_percent35.7
sl_whiff_percent27.2
sl_swing_percent52.6
sl_avg_best_speed74.996232987
sl_avg_hyper_speed93.55885961
Cam Booser (592155) · PITCHER · Middle Reliever (High Leverage) · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 42
All-history rows before 20261005: 42

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB0.1430.0000.8571.000
predicted_ER0.0000.0000.000Pitching_ER0.2140.000-0.2140.000
predicted_H0.0000.0000.000Pitching_H0.5951.000-0.595-1.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7931.0000.2070.000
predicted_SO1.0001.0001.000Pitching_SO1.0712.000-0.071-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": "592155",
  "player_name": "Cam Booser",
  "position": "Middle Reliever (High Leverage)",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 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: 42
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0000.0001.0000.0004.0000.0000.00000.25000.00000.25000.00001.00000.0000
last_100.35107.2000.0002.0000.0006.0000.0000.00000.26090.00000.26090.00000.78260.0000
season0.204241.0009.00025.0006.00045.0005.0001.97560.75610.21950.60980.14631.09760.1220
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1330
predicted_ER0.1820
predicted_ERA1.9637
predicted_H0.4750
predicted_HR0.0580
predicted_IP0.2000
predicted_SO0.7830
predicted_WHIP0.7300
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.13300.5725model_form_blend
predicted_ER0.00000.18200.0897model_form_blend
predicted_ERA-1.96371.9637form_only
predicted_H0.00000.47500.2342model_form_blend
predicted_HR0.00000.05800.0286model_form_blend
predicted_IP1.00000.20001.0000model_form_blend
predicted_SO1.00000.78300.8930model_form_blend
predicted_WHIP-0.73000.7300form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H0
R0
ER0
BB1
SO1
HR0
BF4
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER0
Pitching_ERA1.98
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches21
Pitching_R0
Pitching_SO2
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20260926_TB@PHI
game_typefull
mlbID592155
playerID592155
playerNameCam Booser
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-26
sl_k_percent29.6
sl_bb_percent3.9
sl_woba0.222
sl_xwoba0.252
sl_sweet_spot_percent32.7
sl_barrel_batted_rate5.9
sl_hard_hit_percent37.6
sl_whiff_percent28.6
sl_swing_percent55.5
sl_avg_best_speed81.083061042
sl_avg_hyper_speed94.197371771
Kevin Kelly (687330) · PITCHER · Setup Man · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 71
All-history rows before 20261005: 71

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1550.000-0.1550.000
predicted_ER0.0000.0000.000Pitching_ER0.2820.000-0.2820.000
predicted_H0.0000.0000.000Pitching_H0.7750.000-0.7750.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.8831.0000.1170.000
predicted_SO0.0000.0000.000Pitching_SO0.8871.000-0.887-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_form_blend
Tocurrent_json_final
Dominant Effectneutral
Changed Metrics0
Boosted Metrics0
Deboosted Metrics0
Better Metrics0
Worse Metrics0
Biggest Boost-
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
2current_json_final00000--Final player values currently stored in the game JSON
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.0",
  "role": "pitcher",
  "player_id": "687330",
  "player_name": "Kevin Kelly",
  "position": "Setup Man",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 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: 71
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.2001.0005.0000.0006.0000.0001.92861.07140.21431.07140.00001.28570.0000
last_100.35108.0006.00012.0000.00011.0001.0006.75001.50000.75001.50000.00001.37500.1250
season0.207173.20020.00055.00011.00063.0006.0002.44340.89590.27150.74660.14930.85520.0814
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1060
predicted_ER0.4000
predicted_ERA3.9416
predicted_H1.0160
predicted_HR0.0750
predicted_IP1.0000
predicted_SO1.0560
predicted_WHIP1.2304
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.10600.0578model_form_blend
predicted_ER0.00000.40000.2182model_form_blend
predicted_ERA-3.94163.9416form_only
predicted_H0.00001.01600.5542model_form_blend
predicted_HR0.00000.07500.0409model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO0.00001.05600.5760model_form_blend
predicted_WHIP-1.23041.2304form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA2.44
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches9
Pitching_R0
Pitching_SO1
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20260925_TB@PHI
game_typefull
mlbID687330
playerID687330
playerNameKevin Kelly
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-25
sl_k_percent22.6
sl_bb_percent3.9
sl_woba0.246
sl_xwoba0.284
sl_sweet_spot_percent31.2
sl_barrel_batted_rate6.0
sl_hard_hit_percent44.6
sl_whiff_percent24.0
sl_swing_percent49.4
sl_avg_best_speed78.7371153
sl_avg_hyper_speed94.606937387
Cole Sulser (642121) · PITCHER · Middle Reliever (High Leverage) · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261005: 51
All-history rows before 20261005: 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.3331.000-0.333-1.000
predicted_ER0.0000.0000.000Pitching_ER0.5290.000-0.5290.000
predicted_H0.0000.0000.000Pitching_H1.0391.000-1.039-1.000
predicted_IP0.2000.2000.200Pitching_InningsPitched1.0181.000-0.818-0.800
predicted_SO0.0000.0000.000Pitching_SO1.0982.000-1.098-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": "642121",
  "player_name": "Cole Sulser",
  "position": "Middle Reliever (High Leverage)",
  "team": "TB",
  "interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 0.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {},
      "window_games": {}
    },
    {
      "index": 2,
      "step": "current_json_final",
      "description": "Final player values currently stored in the game JSON",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.0,
          "delta": 0.0,
          "percent_delta": null,
          "direction": "no_change",
          "projection_effect": "neutral",
          "material": false
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {},
      "window_games": {}
    }
  ],
  "total_change": {
    "from_step": "pitcher_form_blend",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 0.0,
        "delta": 0.0,
        "percent_delta": null,
        "direction": "no_change",
        "projection_effect": "neutral",
        "material": false
      }
    ],
    "summary": {
      "changed_metrics": 1,
      "boosted_metrics": 0,
      "deboosted_metrics": 1,
      "better_metrics": 0,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 50
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0001.0004.0002.0006.0000.0001.80001.20000.20000.80000.40001.20000.0000
last_100.351010.0002.0006.0003.0008.0001.0001.80000.90000.20000.60000.30000.80000.1000
season0.205056.10024.00051.00016.00056.0007.0003.83431.18930.42600.90530.28400.99410.1243
Weighted Prediction From Real Data
MetricValue
predicted_BB0.3180
predicted_ER0.2930
predicted_ERA2.9321
predicted_H0.7390
predicted_HR0.0780
predicted_IP1.0000
predicted_SO0.8940
predicted_WHIP1.1746
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.31800.1663model_form_blend
predicted_ER0.00000.29300.1532model_form_blend
predicted_ERA-2.93212.9321form_only
predicted_H0.00000.73900.3865model_form_blend
predicted_HR0.00000.07800.0408model_form_blend
predicted_IP0.20001.00001.0000model_form_blend
predicted_SO0.00000.89400.4675model_form_blend
predicted_WHIP-1.17461.1746form_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
IP0.2
H0
R0
ER0
BB0
SO0
HR0
BF2
Pitches8

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER0
Pitching_ERA4.31
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches25
Pitching_R0
Pitching_SO2
Pitching_Strikes16
Pitching_Wild Pitch1
Pitching_pitchingOrder7
allPositionsPlayedP
gameID20260926_TB@PHI
game_typefull
mlbID642121
playerID642121
playerNameCole Sulser
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-09-26
sl_k_percent23.7
sl_bb_percent7.2
sl_woba0.306
sl_xwoba0.321
sl_sweet_spot_percent37.4
sl_barrel_batted_rate11.8
sl_hard_hit_percent41.1
sl_whiff_percent27.1
sl_swing_percent51.1
sl_avg_best_speed75.704230875
sl_avg_hyper_speed94.345345975