Ultra Detailed Player Audit - 20261008

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.

20261008_CLE@CHW

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 5, "home_runs": 4, "confidence": 0.505, "home_win_probability": 0.495, "away_win_probability": 0.505, "predicted_score_text": "CLE 5 - 4 CHW", "uncapped_home_win_probability": 0.495, "uncapped_away_win_probability": 0.505, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.505, "discount_factor": 0.7225, "published_confidence": 0.505, "guardrail_confidence_cap": 0.56, "guardrail_cap_enforced": false, "guardrail_soft_ceiling_applied": false, "confidence_before_ceiling": 0.505, "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.457441, "incoming_favoured_side": "away", "score_winner_side": "away", "published_home_win_probability": 0.495, "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": 5, "home_runs": 4, "predicted_score_text": "CLE 5 - 4 CHW", "confidence": 0.505, "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": 5, "home_runs": 4, "score_text": "CLE 5 - 4 CHW", "winner": "CLE"}, "final_simulation_score": {"away_runs": 5, "home_runs": 4, "score_text": "CLE 5 - 4 CHW", "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.0005, "recent_form_edge_home_minus_away": 0.03, "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": 5, "home_runs": 4, "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": 3, "published_winner": "CLE", "published_winner_draw_share": 0.3333, "draw_majority_team": "CHW", "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": 5, "home_runs": 4}, "simulation_score": {"away_runs": 5, "home_runs": 4}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": -0.1605, "winner": "CLE", "score_reviewed": {"away_runs": 5, "home_runs": 4, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}}
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 predictionCLE 5 - 4 CHWCLE0.505enhanced_prediction.pre_simulation_targetTrue
Simulation drawCLE 5 - 4 CHWCLE-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.5065; empirical=0.5499; weight=0.4500; final=0.5260
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.4000
8. Probability/governorsApplies win probability calibration, matchup guardrails, margin governor and confidence governor.win_probability_calibration, margin_governor, confidence_governor0.5050
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 rendered8 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml3.7125.141-Base ML historical model prediction
2variance_applied45-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction540.5050Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4kpi_layer54-Savant KPI blend computed and withheld; baseline kept
5embedded_savant_run_environment54-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
6fundamental_edge_target_review54-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
7capped_target54-Capped at max 12 realistic runs
8simulation_result54-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.6923115964562919,
  "base_low_score_probability": 0.42806742453939634,
  "low_score_signal_threshold": 0.5080674245393964,
  "low_score_signal_strength": 0.2642441719168956,
  "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": 9,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.4,
  "low_score_model_expected_total_runs": 6.4,
  "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": 571,
  "near_bucket_sample_size": 571,
  "medium_bucket_sample_size": 793,
  "wide_bucket_sample_size": 897,
  "global_sample_size": 1139,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5499,
  "bayesian_hit_rate": 0.5484,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5,
  "raw_pick_probability_unclamped": 0.4241,
  "score_probability_conflict": true,
  "margin_implied_home_probability": 0.4953,
  "margin_implied_pick_probability": 0.5047,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5021,
  "score_implied_floor_pick_probability": 0.5046,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.575938,
  "uncapped_away_win_probability": 0.424062,
  "calibrated_pick_probability": 0.505,
  "predicted_side": "away",
  "reliability": 0.96944,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.980136
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.506495,
  "sample_size": 571,
  "empirical_hit_rate": 0.5499,
  "empirical_weight": 0.45,
  "empirical_max_weight": 0.45,
  "empirical_sample_scale": 200.0,
  "blended_confidence": 0.526027,
  "published_confidence": 0.505,
  "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": "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
  },
  "away": {
    "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
  },
  "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": 4,
      "away_runs": 4,
      "probability": 0.02104144036995725
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.02021519902748303
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.02008076628165565
    },
    {
      "home_runs": 4,
      "away_runs": 5,
      "probability": 0.01967980397901703
    },
    {
      "home_runs": 5,
      "away_runs": 4,
      "probability": 0.01951169966886091
    }
  ],
  "home_distribution": {
    "0": 0.062047030815691795,
    "1": 0.09133807824158416,
    "2": 0.11978568715517415,
    "3": 0.13995234508474366,
    "4": 0.14567251698748013,
    "5": 0.13508193125053283,
    "6": 0.1115935492546071,
    "7": 0.08213024396284029,
    "8": 0.053850448884133796,
    "9": 0.0314555827554185,
    "10": 0.016369233199743146,
    "11": 0.007588940168275316,
    "12": 0.003134412239775193
  },
  "away_distribution": {
    "0": 0.060592352614690516,
    "1": 0.08928173969288443,
    "2": 0.11742419497162294,
    "3": 0.13784869443411552,
    "4": 0.14444344619764937,
    "5": 0.13509620336077818,
    "6": 0.11278168145877458,
    "7": 0.08403962477505829,
    "8": 0.055895875457698856,
    "9": 0.03318375581463857,
    "10": 0.017584152181858034,
    "11": 0.008317014274801904,
    "12": 0.003511264765428741
  },
  "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": [
    "local prediction memory shows 2 straight prior same-side picks",
    "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": 14,
      "consecutive_same_pick_count": 2,
      "same_pick_actual_loss_count": 2,
      "same_pick_blowout_loss_count": 0,
      "prior_predictions": [
        {
          "date": "20261007",
          "away": "CLE",
          "home": "CHW",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CLE",
          "actual_margin": 6,
          "raw_pick_probability": 0.535129,
          "artifact": "20261007_CLE@CHW.json",
          "verification": "pregame_official_final"
        },
        {
          "date": "20261005",
          "away": "CHW",
          "home": "CLE",
          "game_number": 1,
          "predicted_team": "CLE",
          "actual_winner": "CHW",
          "actual_margin": 1,
          "raw_pick_probability": 0.5185,
          "artifact": "20261005_CHW@CLE.json",
          "verification": "pregame_official_final"
        },
        {
          "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"
        }
      ]
    },
    "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"
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "CHW",
      "games": 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
    },
    "away": {
      "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
    }
  }
}
Margin Governor
{
  "applied": false,
  "raw_margin": -0.0645,
  "final_margin": -0.0645,
  "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.526027,
  "final_confidence": 0.505,
  "calibrated_pick_probability": 0.505,
  "shrinkage_weight": 0.980136,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.0645,
  "calibration_sample_size": 571,
  "calibration_empirical_hit_rate": 0.5499,
  "calibration_bayesian_hit_rate": 0.5484,
  "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": 5,
      "home_runs": 4
    },
    "margin": -1,
    "probability_before": 0.495,
    "margin_implied_home_probability": 0.427612,
    "shrinkage_weight": 0.980136,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.495,
    "aligned_pick_probability": 0.505
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 21,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 5,
    "home_runs": 4,
    "score_text": "CLE 5 - 4 CHW",
    "winner": "CLE"
  },
  "final_simulation_score": {
    "away_runs": 5,
    "home_runs": 4,
    "score_text": "CLE 5 - 4 CHW",
    "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.0005,
    "recent_form_edge_home_minus_away": 0.03,
    "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": 5,
    "home_runs": 4,
    "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": 3,
      "published_winner": "CLE",
      "published_winner_draw_share": 0.3333,
      "draw_majority_team": "CHW",
      "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": 5,
      "home_runs": 4
    },
    "simulation_score": {
      "away_runs": 5,
      "home_runs": 4
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": -0.1605,
    "winner": "CLE",
    "score_reviewed": {
      "away_runs": 5,
      "home_runs": 4,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 5,
  "home_runs": 4,
  "confidence": 0.505,
  "home_win_probability": 0.495,
  "away_win_probability": 0.505,
  "predicted_score_text": "CLE 5 - 4 CHW",
  "uncapped_home_win_probability": 0.495,
  "uncapped_away_win_probability": 0.505,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.505,
    "discount_factor": 0.7225,
    "published_confidence": 0.505,
    "guardrail_confidence_cap": 0.56,
    "guardrail_cap_enforced": false,
    "guardrail_soft_ceiling_applied": false,
    "confidence_before_ceiling": 0.505,
    "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.457441,
    "incoming_favoured_side": "away",
    "score_winner_side": "away",
    "published_home_win_probability": 0.495,
    "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": 5,
    "home_runs": 4,
    "predicted_score_text": "CLE 5 - 4 CHW",
    "confidence": 0.505,
    "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": 5,
      "home_runs": 4,
      "score_text": "CLE 5 - 4 CHW",
      "winner": "CLE"
    },
    "final_simulation_score": {
      "away_runs": 5,
      "home_runs": 4,
      "score_text": "CLE 5 - 4 CHW",
      "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.0005,
      "recent_form_edge_home_minus_away": 0.03,
      "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": 5,
      "home_runs": 4,
      "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": 3,
        "published_winner": "CLE",
        "published_winner_draw_share": 0.3333,
        "draw_majority_team": "CHW",
        "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": 5,
        "home_runs": 4
      },
      "simulation_score": {
        "away_runs": 5,
        "home_runs": 4
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": -0.1605,
      "winner": "CLE",
      "score_reviewed": {
        "away_runs": 5,
        "home_runs": 4,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}

Savant Batter Quality

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

TeamAppliedOffense FactorRaw Avg FactorCoverage WeightCoveredMissing
Away CLETrue1.01331.0133190
Home CHWTrue1.02711.0271190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFSteven Kwan-1.00070.0095neutral0.32800.27700.34300.4010.5083.9012.808.209.7013.30-0.1714
3BJosé Ramírez-1.03590.4788neutral0.32500.26600.39104.1038.8088.601915.3012.70110.6857
RFChase DeLauter-1.06020.8032neutral0.34600.27700.42706.3046.3091.4011.801514.7010.70-0.3714
DHJo Adell-1.05380.7179neutral0.32900.25700.44408.9044.9090.4016.2028.2023.805.200.6286
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
2BTravis Bazzana-0.9817-0.2433neutral0.29900.22400.34705.2036.2087.6015.7023.2020.7010.80-0.8286
CAustin Hedges-0.9548-0.6020negative_batter_regression0.28000.22400.31404.5032.4085.8012.4024.1018.2010.10-0.9429
SSBrayan Rocchio-0.9791-0.2783neutral0.29400.24600.35002.90308713.8022.1014.406.40-0.4857

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
2BChase Meidroth-0.9823-0.2365negative_batter_regression0.30100.23900.34804.6034.6087.208.5019.7021.909.50-1.0857
LFRandal Grichuk-1.06250.8328negative_batter_regression0.33500.27800.478011.2049.8091.3017.102421.803.90-1
3BMiguel Vargas-1.10951.4598neutral0.37800.26300.49601343.8090.1020.502117.9014.300.4286
1BMunetaka Murakami-1.08351.1131neutral0.35100.20400.469020.5056.8093.9016.1042.3035.4016.60-0.1429
DHTommy Pham-1.02050.2733positive_batter_regression0.31700.23600.35405.3052.6093.6012.7034.5031.4014.302
CFBrenton Doyle-0.9413-0.7821negative_batter_regression0.24500.20300.30706.7035.5089.108.6032.5032.705.40-1
CKyle Teel-1.01310.1752neutral0.32100.21100.375011.4047.1085.7013.6035.6035.4013.200.1143
RFBraden Montgomery-1.03050.4073neutral0.32500.25500.39204.4040.9088.90330.1019.7010.400.7714
SSColson Montgomery-1.00090.0126neutral0.29400.19900.38801240.9088.6023.6037.4035.608.50-0.1714
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0271,
    "raw_average_factor": 1.0271,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "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": "LF",
        "player_id": "545341",
        "player_name": "Randal Grichuk",
        "offense_factor": 1.0625,
        "quality_score": 0.8328,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "545341",
          "espn_rank": null
        },
        "metrics": {
          "pa": 246.0,
          "k_percent": 21.8,
          "bb_percent": 3.9,
          "woba": 0.37,
          "xwoba": 0.335,
          "xba": 0.278,
          "xslg": 0.478,
          "sweet_spot_percent": 37.7,
          "barrel_batted_rate": 11.2,
          "hard_hit_percent": 49.8,
          "exit_velocity_avg": 91.3,
          "launch_angle_avg": 17.1,
          "whiff_percent": 24.0,
          "swing_percent": 53.0
        },
        "components": {
          "expected_quality": 1.1312,
          "regression_edge": -1.0,
          "xwoba_edge": 1.0286,
          "xba_edge": 1.2,
          "xslg_edge": 1.6429,
          "barrel_edge": 1.0222,
          "hard_hit_edge": 1.7429,
          "exit_velocity_edge": 1.16,
          "sweet_spot_edge": 0.7333,
          "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": "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": "DH",
        "player_id": "502054",
        "player_name": "Tommy Pham",
        "offense_factor": 1.0205,
        "quality_score": 0.2733,
        "regression_flag": "positive_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "502054",
          "espn_rank": null
        },
        "metrics": {
          "pa": 21.0,
          "k_percent": 31.4,
          "bb_percent": 14.3,
          "woba": 0.209,
          "xwoba": 0.317,
          "xba": 0.236,
          "xslg": 0.354,
          "sweet_spot_percent": 26.3,
          "barrel_batted_rate": 5.3,
          "hard_hit_percent": 52.6,
          "exit_velocity_avg": 93.6,
          "launch_angle_avg": 12.7,
          "whiff_percent": 34.5,
          "swing_percent": 41.7
        },
        "components": {
          "expected_quality": 0.3805,
          "regression_edge": 2.0,
          "xwoba_edge": 0.5143,
          "xba_edge": 0.0,
          "xslg_edge": -0.1286,
          "barrel_edge": -0.2889,
          "hard_hit_edge": 2.1429,
          "exit_velocity_edge": 2.08,
          "sweet_spot_edge": -1.1667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "position": "CF",
        "player_id": "686668",
        "player_name": "Brenton Doyle",
        "offense_factor": 0.9413,
        "quality_score": -0.7821,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "686668",
          "espn_rank": null
        },
        "metrics": {
          "pa": 192.0,
          "k_percent": 32.7,
          "bb_percent": 5.4,
          "woba": 0.28,
          "xwoba": 0.245,
          "xba": 0.203,
          "xslg": 0.307,
          "sweet_spot_percent": 26.8,
          "barrel_batted_rate": 6.7,
          "hard_hit_percent": 35.5,
          "exit_velocity_avg": 89.1,
          "launch_angle_avg": 8.6,
          "whiff_percent": 32.5,
          "swing_percent": 54.5
        },
        "components": {
          "expected_quality": -0.8792,
          "regression_edge": -1.0,
          "xwoba_edge": -1.5429,
          "xba_edge": -0.9429,
          "xslg_edge": -0.8,
          "barrel_edge": 0.0222,
          "hard_hit_edge": -0.3,
          "exit_velocity_edge": 0.28,
          "sweet_spot_edge": -1.0833,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "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": "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": "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"
  },
  "away": {
    "applied": true,
    "offense_factor": 1.0133,
    "raw_average_factor": 1.0133,
    "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.0007,
        "quality_score": 0.0095,
        "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.328,
          "xba": 0.277,
          "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.039,
          "regression_edge": -0.1714,
          "xwoba_edge": 0.8286,
          "xba_edge": 1.1714,
          "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": "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": "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": "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": "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": "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": "C",
        "player_id": "595978",
        "player_name": "Austin Hedges",
        "offense_factor": 0.9548,
        "quality_score": -0.602,
        "regression_flag": "negative_batter_regression",
        "espn_rank": {
          "available": false,
          "player_id": "595978",
          "espn_rank": null
        },
        "metrics": {
          "pa": 228.0,
          "k_percent": 18.2,
          "bb_percent": 10.1,
          "woba": 0.313,
          "xwoba": 0.28,
          "xba": 0.224,
          "xslg": 0.314,
          "sweet_spot_percent": 26.7,
          "barrel_batted_rate": 4.5,
          "hard_hit_percent": 32.4,
          "exit_velocity_avg": 85.8,
          "launch_angle_avg": 12.4,
          "whiff_percent": 24.1,
          "swing_percent": 44.5
        },
        "components": {
          "expected_quality": -0.5465,
          "regression_edge": -0.9429,
          "xwoba_edge": -0.5429,
          "xba_edge": -0.3429,
          "xslg_edge": -0.7,
          "barrel_edge": -0.4667,
          "hard_hit_edge": -0.7429,
          "exit_velocity_edge": -1.04,
          "sweet_spot_edge": -1.1,
          "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"
  },
  "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 CLEParker MessickTrue-0.540910.95401.02290.94800.9086neutral0.27500.274025.806.6025.50534.30
Home CHWHagen SmithTrue-0.48160.45000.95911.06741.04770.9210negative_pitcher_regression0.24300.211037.3014.5036.201.9034

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away CLEParker MessickTrueNone9490.122107000000000.0142
Home CHWHagen SmithFalse-------------
Run FactorValue
away_runs_vs_home_pitcher0.9907
home_runs_vs_away_pitcher0.9748
home_pitcher_starter_only_factor0.9816
away_pitcher_starter_only_factor0.9540
home_pitcher_workload_share0.5556
away_pitcher_workload_share0.6667
home_pitcher_quality_edge-0.0930
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "696146",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 90.0,
      "k_percent": 37.3,
      "bb_percent": 14.5,
      "woba": 0.211,
      "xwoba": 0.243,
      "sweet_spot_percent": 35.8,
      "barrel_batted_rate": 1.9,
      "hard_hit_percent": 34.0,
      "avg_best_speed": 75.8598,
      "avg_hyper_speed": 93.4182,
      "whiff_percent": 36.2,
      "swing_percent": 42.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": 1.4885,
      "command_and_miss": 1.2621,
      "regression_edge": -0.9143,
      "xwoba_edge": 1.9714,
      "barrel_edge": 1.1778,
      "hard_hit_edge": 0.5571,
      "whiff_edge": 1.5714,
      "bb_edge": -1.325,
      "pitch_design_score": 0.0
    },
    "pitch_movement_profile": {
      "available": false,
      "pitcher_id": "696146",
      "reason": "pitcher_movement_profile_has_no_pitches"
    },
    "quality_score": 0.4816,
    "sample_weight": 0.45,
    "run_prevention_factor": 0.9591,
    "strikeout_factor": 1.0674,
    "walk_factor": 1.0477,
    "homer_factor": 0.921,
    "woba_minus_xwoba": -0.032,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": false,
      "player_id": "696146",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "800048",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 705.0,
      "k_percent": 25.8,
      "bb_percent": 6.6,
      "woba": 0.274,
      "xwoba": 0.275,
      "sweet_spot_percent": 30.7,
      "barrel_batted_rate": 5.0,
      "hard_hit_percent": 34.3,
      "avg_best_speed": 76.3542,
      "avg_hyper_speed": 93.484,
      "whiff_percent": 25.5,
      "swing_percent": 48.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.7912,
      "command_and_miss": 0.3829,
      "regression_edge": -0.0286,
      "xwoba_edge": 1.0571,
      "barrel_edge": 0.4889,
      "hard_hit_edge": 0.5143,
      "whiff_edge": 0.0429,
      "bb_edge": 0.65,
      "pitch_design_score": 0.0142
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "800048",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 94,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 94,
        "pitch_usage": 0.0,
        "release_speed": 90.117481056101,
        "release_spin_rate": 2107.0953611307837,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 94,
          "pitch_usage": 0.0,
          "release_speed": 90.117481056101,
          "release_spin_rate": 2107.0953611307837,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.1175,
        "release_spin_rate": 2107.0954,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0142,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.1013,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.5409,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.954,
    "strikeout_factor": 1.0229,
    "walk_factor": 0.948,
    "homer_factor": 0.9086,
    "woba_minus_xwoba": -0.001,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "800048",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9907,
    "home_runs_vs_away_pitcher": 0.9748,
    "home_pitcher_starter_only_factor": 0.9816,
    "away_pitcher_starter_only_factor": 0.954,
    "home_pitcher_workload_share": 0.5556,
    "away_pitcher_workload_share": 0.6667,
    "home_pitcher_quality_edge": -0.093
  },
  "score_before": {
    "away_runs": 4.0,
    "home_runs": 4.0
  },
  "score_after": {
    "away_runs": 3.9628,
    "home_runs": 3.8994,
    "home_win_probability": 0.4929
  },
  "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 CLE8-20.8005.303.20211Lhotstrong
Home CHW7-30.7006.504.30221Whotaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away CLE85-770.525110.068True
Home CHW84-780.519560.346True
Signal--0.2780.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 CLE--5----
Game target CHW--4----
Player finalized CLE34652558
Player finalized CHW368413410
Player model fractional CLE33.236.554.150.894.124.297.38
Player model fractional CHW30.366.254.581.174.043.1310.28
Simulation box CLE34652558
Simulation box CHW368413410

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 CLEStarterParker Messick534533.061.23True
Away CLEMiddle Reliever (High Leverage)Tim Herrin101102.921.28True
Away CLESetup ManErik Sabrowski102104.331.24True
Away CLECloserCade Smith203111.380.51True
Home CHWStarterHagen Smith2.2003113.011.23True
Home CHWMiddle Reliever (High Leverage)Jordan Hicks112105.081.49True
Home CHWMiddle Reliever (High Leverage)Bryan Hudson111123.441.27True
Home CHWSetup ManAnthony Kay221224.241.44True
Home CHWCloserGrant Taylor2.1011102.020.93True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
awayCLEpitcherSetup ManErik Sabrowskibetter40440predicted_ER-3.0000deboostbetter
homeCHWpitcherStarterHagen Smithbetter30321predicted_IP-2.8000deboostworse
homeCHWbatterLFRandal Grichukworse114756predicted_AB2.5000boostbetter
awayCLEpitcherStarterParker Messickworse64206predicted_ER2.0000boostworse
awayCLEpitcherCloserCade Smithbetter43131predicted_SO2.0000boostbetter
homeCHWpitcherMiddle Reliever (High Leverage)Bryan Hudsonworse44004predicted_BB2.0000boostworse
homeCHWpitcherSetup ManAnthony Kayworse44013predicted_BB2.0000boostworse
awayCLEbatter1BNathaniel Lowebetter118374predicted_R1.6970boostbetter
awayCLEbatterLFAngel Martínezbetter118392predicted_RBI1.5500boostbetter
homeCHWbatterDHTommy Phambetter96354predicted_AB1.5000boostbetter
awayCLEbatterSSBrayan Rocchioworse1129110predicted_SO1.4410boostworse
homeCHWpitcherCloserGrant Taylorboosted22011predicted_IP1.4333boostbetter
awayCLEbatterCFSteven Kwanworse101928predicted_AB1.3580boostbetter
homeCHWbatter1BMunetaka Murakamiworse116556predicted_BB1.2950boostbetter
homeCHWbatterRFBraden Montgomeryworse125748predicted_SO1.1750boostworse
homeCHWbatterCFBrenton Doyleworse101928predicted_AB1.1580boostbetter
awayCLEbatter3BJosé Ramírezworse1129110predicted_H-1.0600deboostworse
awayCLEpitcherMiddle Reliever (High Leverage)Tim Herrinworse10101predicted_SO-1.0000deboostworse
homeCHWpitcherMiddle Reliever (High Leverage)Jordan Hicksbetter41340predicted_ER-1.0000deboostbetter
awayCLEbatterRFChase DeLauterworse104637predicted_H0.8600boostbetter
homeCHWbatterSSColson Montgomeryworse12210111predicted_H-0.8100deboostworse
awayCLEbatter2BTravis Bazzanaworse114738predicted_H-0.7400deboostworse
awayCLEbatterCAustin Hedgesworse113829predicted_BB0.6530boostbetter
homeCHWbatter2BChase Meidrothworse113829predicted_RBI-0.6400deboostworse
awayCLEbatterDHJo Adellworse114747predicted_RBI-0.6020deboostworse
homeCHWbatterCKyle Teelworse113847predicted_R-0.5350deboostworse
homeCHWbatter3BMiguel Vargasworse104637predicted_RBI-0.5100deboostworse

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

Away Team: CLE

Away Pitcher Deep Analysis

FieldValue
PitcherParker Messick
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5409
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0142
Avg Velo90.1175
Avg Spin2107.0954
HB Inches0
IVB Inches0
Release Extension0
Pre IP5
Pre ER3
Pre H5
Pre BB3
Pre SO4
Season ERA2.5962
Season WHIP1.0699
Role Avg IP5.7780
Recent Avg IP4.7330
Last Start IP4.1000
Team Form Snapshot
{
  "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.9327,
    "defense_index": 1.0898,
    "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.0675,
    "defense_index": 1.0096,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.0062,
    "offense_edge": -0.0673,
    "opponent_offense_edge": 0.0675,
    "defense_strength": 0.0898,
    "opponent_defense_weakness": -0.0096,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0002,
    "run_prevention": 1.0015,
    "strikeout": 0.9948
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "800048",
    "profile": {
      "available": true,
      "pitcher_id": "800048",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 705.0,
        "k_percent": 25.8,
        "bb_percent": 6.6,
        "woba": 0.274,
        "xwoba": 0.275,
        "sweet_spot_percent": 30.7,
        "barrel_batted_rate": 5.0,
        "hard_hit_percent": 34.3,
        "avg_best_speed": 76.3542,
        "avg_hyper_speed": 93.484,
        "whiff_percent": 25.5,
        "swing_percent": 48.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.7912,
        "command_and_miss": 0.3829,
        "regression_edge": -0.0286,
        "xwoba_edge": 1.0571,
        "barrel_edge": 0.4889,
        "hard_hit_edge": 0.5143,
        "whiff_edge": 0.0429,
        "bb_edge": 0.65,
        "pitch_design_score": 0.0142
      },
      "quality_score": 0.5409,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.954,
      "strikeout_factor": 1.0229,
      "walk_factor": 0.948,
      "homer_factor": 0.9086,
      "woba_minus_xwoba": -0.001,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "800048",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.954,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 5.0,
        "factor": 0.954,
        "adjusted": 5
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.948,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9086,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0229,
        "adjusted": 6
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 54.0,
    "ER": 16,
    "H": 49,
    "BB": 13,
    "SO": 63,
    "HR": 5,
    "ERA": 2.666666666666667,
    "WHIP": 1.1481481481481484,
    "K9": 10.500000000000002,
    "HR9": 0.8333333333333335,
    "games_pitched": 10,
    "quality_starts": 5,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 1,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-03T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "800048",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 94,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 94,
    "pitch_usage": 0.0,
    "release_speed": 90.117481056101,
    "release_spin_rate": 2107.0953611307837,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 94,
      "pitch_usage": 0.0,
      "release_speed": 90.117481056101,
      "release_spin_rate": 2107.0953611307837,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.1175,
    "release_spin_rate": 2107.0954,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0142,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.1013,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 33.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8684,
    "prior_weight": 0.1316
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "800048",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 33,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 23.2,
        "ER": 8.0,
        "R": 8.0,
        "H": 25.0,
        "BB": 6.0,
        "SO": 26.0,
        "HR": 2.0,
        "BF": 102.0,
        "Pitches": 428.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 1.6,
        "R": 1.6,
        "H": 5.0,
        "BB": 1.2,
        "SO": 5.2,
        "HR": 0.4,
        "BF": 20.4,
        "Pitches": 85.6
      },
      "rates": {
        "ERA": 3.0423,
        "WHIP": 1.3099,
        "ER_per_IP": 0.33803,
        "H_per_IP": 1.05634,
        "BB_per_IP": 0.25352,
        "SO_per_IP": 1.09859,
        "HR_per_IP": 0.08451
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 54.0,
        "ER": 16.0,
        "R": 16.0,
        "H": 49.0,
        "BB": 13.0,
        "SO": 63.0,
        "HR": 5.0,
        "BF": 223.0,
        "Pitches": 930.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.6,
        "R": 1.6,
        "H": 4.9,
        "BB": 1.3,
        "SO": 6.3,
        "HR": 0.5,
        "BF": 22.3,
        "Pitches": 93.0
      },
      "rates": {
        "ERA": 2.6667,
        "WHIP": 1.1481,
        "ER_per_IP": 0.2963,
        "H_per_IP": 0.90741,
        "BB_per_IP": 0.24074,
        "SO_per_IP": 1.16667,
        "HR_per_IP": 0.09259
      }
    },
    "season": {
      "games": 33,
      "totals": {
        "IP": 190.2,
        "ER": 55.0,
        "R": 59.0,
        "H": 153.0,
        "BB": 51.0,
        "SO": 199.0,
        "HR": 18.0,
        "BF": 765.0,
        "Pitches": 3035.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.6667,
        "R": 1.7879,
        "H": 4.6364,
        "BB": 1.5455,
        "SO": 6.0303,
        "HR": 0.5455,
        "BF": 23.1818,
        "Pitches": 91.9697
      },
      "rates": {
        "ERA": 2.5962,
        "WHIP": 1.0699,
        "ER_per_IP": 0.28846,
        "H_per_IP": 0.80245,
        "BB_per_IP": 0.26748,
        "SO_per_IP": 1.04371,
        "HR_per_IP": 0.09441
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.1,
    "predicted_ER": 1.773,
    "predicted_H": 4.997,
    "predicted_BB": 1.403,
    "predicted_SO": 5.678,
    "predicted_HR": 0.506,
    "predicted_ERA": 3.0585,
    "predicted_WHIP": 1.2263
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4056,
  "form_weight": 0.5944,
  "form_reliability": 0.8684,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 33.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8684,
    "prior_weight": 0.1316
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 5.1,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 1.773,
      "final": 1.4595,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 4.997,
      "final": 4.5926,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.403,
      "final": 1.6451,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 5.0,
      "form": 5.678,
      "final": 5.403,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.506,
      "final": 0.3008,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0585,
      "final": 3.0585,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2263,
      "final": 1.2263,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherTim Herrin
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1186
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA2.9148
Season WHIP1.2614
Role Avg IP0.8500
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "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.9327,
    "defense_index": 1.0898,
    "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.0675,
    "defense_index": 1.0096,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.0062,
    "offense_edge": -0.0673,
    "opponent_offense_edge": 0.0675,
    "defense_strength": 0.0898,
    "opponent_defense_weakness": -0.0096,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0002,
    "run_prevention": 1.0015,
    "strikeout": 0.9948
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "682120",
    "profile": {
      "available": true,
      "pitcher_id": "682120",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 216.0,
        "k_percent": 22.5,
        "bb_percent": 11.7,
        "woba": 0.308,
        "xwoba": 0.304,
        "sweet_spot_percent": 32.7,
        "barrel_batted_rate": 8.5,
        "hard_hit_percent": 37.3,
        "avg_best_speed": 75.5108,
        "avg_hyper_speed": 93.7782,
        "whiff_percent": 30.7,
        "swing_percent": 46.8
      },
      "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.1431,
        "command_and_miss": 0.1757,
        "regression_edge": 0.1143,
        "xwoba_edge": 0.2286,
        "barrel_edge": -0.2889,
        "hard_hit_edge": 0.0857,
        "whiff_edge": 0.7857,
        "bb_edge": -0.625,
        "pitch_design_score": 0.0
      },
      "quality_score": 0.1186,
      "sample_weight": 0.864,
      "run_prevention_factor": 0.9899,
      "strikeout_factor": 1.0291,
      "walk_factor": 1.0432,
      "homer_factor": 1.0111,
      "woba_minus_xwoba": 0.004,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "682120",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9913,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9913,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 1.0373,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0096,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0251,
        "adjusted": 2
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.0,
    "ER": 2,
    "H": 9,
    "BB": 3,
    "SO": 13,
    "HR": 0,
    "ERA": 2.0,
    "WHIP": 1.3333333333333333,
    "K9": 13.0,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-07T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "682120",
  "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.114,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7078,
    "prior_weight": 0.2922
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "682120",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 69,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.1,
        "ER": 1.0,
        "R": 1.0,
        "H": 5.0,
        "BB": 0.0,
        "SO": 7.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 85.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.2,
        "H": 1.0,
        "BB": 0.0,
        "SO": 1.4,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 2.0769,
        "WHIP": 1.1538,
        "ER_per_IP": 0.23077,
        "H_per_IP": 1.15385,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.61538,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.0,
        "ER": 2.0,
        "R": 4.0,
        "H": 9.0,
        "BB": 3.0,
        "SO": 13.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 184.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.4,
        "H": 0.9,
        "BB": 0.3,
        "SO": 1.3,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 18.4
      },
      "rates": {
        "ERA": 2.0,
        "WHIP": 1.3333,
        "ER_per_IP": 0.22222,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.33333,
        "SO_per_IP": 1.44444,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 69,
      "totals": {
        "IP": 58.2,
        "ER": 19.0,
        "R": 22.0,
        "H": 46.0,
        "BB": 28.0,
        "SO": 58.0,
        "HR": 5.0,
        "BF": 246.0,
        "Pitches": 1015.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2754,
        "R": 0.3188,
        "H": 0.6667,
        "BB": 0.4058,
        "SO": 0.8406,
        "HR": 0.0725,
        "BF": 3.5652,
        "Pitches": 14.7101
      },
      "rates": {
        "ERA": 2.9148,
        "WHIP": 1.2614,
        "ER_per_IP": 0.32386,
        "H_per_IP": 0.78409,
        "BB_per_IP": 0.47727,
        "SO_per_IP": 0.98864,
        "HR_per_IP": 0.08523
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.324,
    "predicted_H": 1.014,
    "predicted_BB": 0.261,
    "predicted_SO": 1.285,
    "predicted_HR": 0.055,
    "predicted_ERA": 2.9201,
    "predicted_WHIP": 1.2752
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4735,
  "form_weight": 0.5265,
  "form_reliability": 0.7078,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.114,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7078,
    "prior_weight": 0.2922
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.324,
      "final": 0.1706,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 1.014,
      "final": 1.0074,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.261,
      "final": 0.1374,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.285,
      "final": 1.6235,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.055,
      "final": 0.029,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.9201,
      "final": 2.9201,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2752,
      "final": 1.2752,
      "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
RoleSetup Man
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
Pre ER0
Pre H1
Pre BB0
Pre SO2
Season ERA2.8421
Season WHIP1.0855
Role Avg IP0.8440
Recent Avg IP1.0670
Last Start IP0
Team Form Snapshot
{
  "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.9327,
    "defense_index": 1.0898,
    "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.0675,
    "defense_index": 1.0096,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.0062,
    "offense_edge": -0.0673,
    "opponent_offense_edge": 0.0675,
    "defense_strength": 0.0898,
    "opponent_defense_weakness": -0.0096,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0002,
    "run_prevention": 1.0015,
    "strikeout": 0.9948
  },
  "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
      },
      "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": 1.0,
        "factor": 0.9658,
        "adjusted": 1
      },
      "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
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.1,
    "ER": 4,
    "H": 3,
    "BB": 7,
    "SO": 12,
    "HR": 0,
    "ERA": 3.8571428571428568,
    "WHIP": 1.0714285714285714,
    "K9": 11.571428571428571,
    "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-10-05T00: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.462,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6766,
    "prior_weight": 0.3234
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "681870",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 60,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.1,
        "ER": 3.0,
        "R": 3.0,
        "H": 3.0,
        "BB": 4.0,
        "SO": 8.0,
        "HR": 0.0,
        "BF": 22.0,
        "Pitches": 82.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 0.6,
        "BB": 0.8,
        "SO": 1.6,
        "HR": 0.0,
        "BF": 4.4,
        "Pitches": 16.4
      },
      "rates": {
        "ERA": 5.0625,
        "WHIP": 1.3125,
        "ER_per_IP": 0.5625,
        "H_per_IP": 0.5625,
        "BB_per_IP": 0.75,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 3.0,
        "BB": 7.0,
        "SO": 12.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 143.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.3,
        "BB": 0.7,
        "SO": 1.2,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 14.3
      },
      "rates": {
        "ERA": 3.8571,
        "WHIP": 1.0714,
        "ER_per_IP": 0.42857,
        "H_per_IP": 0.32143,
        "BB_per_IP": 0.75,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 60,
      "totals": {
        "IP": 50.2,
        "ER": 16.0,
        "R": 18.0,
        "H": 26.0,
        "BB": 29.0,
        "SO": 78.0,
        "HR": 3.0,
        "BF": 207.0,
        "Pitches": 832.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2667,
        "R": 0.3,
        "H": 0.4333,
        "BB": 0.4833,
        "SO": 1.3,
        "HR": 0.05,
        "BF": 3.45,
        "Pitches": 13.8667
      },
      "rates": {
        "ERA": 2.8421,
        "WHIP": 1.0855,
        "ER_per_IP": 0.31579,
        "H_per_IP": 0.51316,
        "BB_per_IP": 0.57237,
        "SO_per_IP": 1.53947,
        "HR_per_IP": 0.05921
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.482,
    "predicted_H": 0.635,
    "predicted_BB": 0.606,
    "predicted_SO": 1.272,
    "predicted_HR": 0.056,
    "predicted_ERA": 4.3341,
    "predicted_WHIP": 1.2417
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4866,
  "form_weight": 0.5134,
  "form_reliability": 0.6766,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 10.462,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6766,
    "prior_weight": 0.3234
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 3.0,
      "form": 0.482,
      "final": 1.7074,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.635,
      "final": 1.2993,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.606,
      "final": 0.7977,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 1.272,
      "final": 1.6263,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 2.0,
      "form": 0.056,
      "final": 1.002,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.3341,
      "final": 4.3341,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2417,
      "final": 1.2417,
      "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 IP2
Pre ER0
Pre H1
Pre BB1
Pre SO3
Season ERA1.8462
Season WHIP0.9103
Role Avg IP1.0830
Recent Avg IP1.1330
Last Start IP0
Team Form Snapshot
{
  "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.9327,
    "defense_index": 1.0898,
    "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.0675,
    "defense_index": 1.0096,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.0062,
    "offense_edge": -0.0673,
    "opponent_offense_edge": 0.0675,
    "defense_strength": 0.0898,
    "opponent_defense_weakness": -0.0096,
    "recent_win_pct_edge": 0.1
  },
  "player_factors": {
    "ip": 1.0002,
    "run_prevention": 1.0015,
    "strikeout": 0.9948
  },
  "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
      },
      "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": 0.0,
        "factor": 0.9408,
        "adjusted": 0
      },
      "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
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 12.0,
    "ER": 0,
    "H": 1,
    "BB": 1,
    "SO": 18,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.16666666666666666,
    "K9": 13.5,
    "HR9": 0.0,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": true,
    "struggling_form": false
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-10-07T00: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": 16.107,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7631,
    "prior_weight": 0.2369
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "671922",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 72,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 5.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 17.0,
        "Pitches": 56.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.0,
        "BB": 0.0,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.4,
        "Pitches": 11.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.0,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.0,
        "BB_per_IP": 0.0,
        "SO_per_IP": 1.58824,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 12.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 18.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 137.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.1,
        "BB": 0.1,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 13.7
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.1667,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.08333,
        "BB_per_IP": 0.08333,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 72,
      "totals": {
        "IP": 78.0,
        "ER": 16.0,
        "R": 20.0,
        "H": 48.0,
        "BB": 23.0,
        "SO": 113.0,
        "HR": 5.0,
        "BF": 307.0,
        "Pitches": 1274.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2222,
        "R": 0.2778,
        "H": 0.6667,
        "BB": 0.3194,
        "SO": 1.5694,
        "HR": 0.0694,
        "BF": 4.2639,
        "Pitches": 17.6944
      },
      "rates": {
        "ERA": 1.8462,
        "WHIP": 0.9103,
        "ER_per_IP": 0.20513,
        "H_per_IP": 0.61538,
        "BB_per_IP": 0.29487,
        "SO_per_IP": 1.44872,
        "HR_per_IP": 0.0641
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.167,
    "predicted_H": 0.381,
    "predicted_BB": 0.171,
    "predicted_SO": 1.512,
    "predicted_HR": 0.049,
    "predicted_ERA": 1.3767,
    "predicted_WHIP": 0.5068
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4501,
  "form_weight": 0.5499,
  "form_reliability": 0.7631,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.107,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7631,
    "prior_weight": 0.2369
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.167,
      "final": 0.0918,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 0.381,
      "final": 1.1097,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.171,
      "final": 0.094,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.512,
      "final": 1.2816,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.049,
      "final": 0.0269,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.3767,
      "final": 1.3767,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.5068,
      "final": 0.5068,
      "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 20261008: 609
All-history rows before 20261008: 609
System season_avg: 0.2800
Data season_avg (2026 season-to-date): 0.2843
Diff (system - data): -0.0043
System opponent_avg: 0.2960

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1420.0000.000Hitting_2B0.1610.000-0.1610.000
predicted_3B0.0200.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6425.0005.000Hitting_AB3.7266.0001.274-1.000
predicted_AVG0.2800.0000.000Hitting_AVG0.2840.167-0.284-0.167
predicted_BB0.5610.0000.000Hitting_BB0.5890.000-0.5890.000
predicted_CS-0.0000.000BaseRunning_CS0.0230.000-0.0230.000
predicted_H1.0200.0000.000Hitting_H1.0591.000-1.059-1.000
predicted_HR0.0200.0000.000Hitting_HR0.0230.000-0.0230.000
predicted_OBP0.3760.0000.000Hitting_OBP0.3830.167-0.383-0.167
predicted_R0.5410.0000.000Hitting_R0.6061.000-0.606-1.000
predicted_RBI0.2230.0000.000Hitting_RBI0.2401.000-0.240-1.000
predicted_SLG0.3470.0000.000Hitting_SLG0.3510.167-0.351-0.167
predicted_SO0.3920.0000.000Hitting_SO0.4241.000-0.424-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_AB: 3.6420 -> 5.0000 (boost 1.3580, better)
Biggest Deboostpredicted_H: 1.0200 -> 0.0000 (deboost -1.0200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_AB: 3.6420 -> 3.7049 (boost 0.0629, 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_BB: 0.5762 -> 1.0000 (boost 0.4238, better)predicted_SO: 0.3798 -> 0.0000 (deboost -0.3798, better)AB rounded to 4 (raw=3.70), rates preserved: AVG=0.238 HR/AB=0.005
6consistency_constraints11010predicted_R: 0.5540 -> 1.0000 (boost 0.4460, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_SO: 0.0000 -> 0.5560 (boost 0.5560, worse)predicted_BB: 1.0000 -> 0.6369 (deboost -0.3631, 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_allocation92736predicted_BB: 0.6369 -> 1.0000 (boost 0.3631, better)predicted_SO: 0.5560 -> 0.0000 (deboost -0.5560, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization41313predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final33030predicted_SLG: 0.3090 -> 0.3330 (boost 0.0240, better)-Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "680757",
  "player_name": "Steven Kwan",
  "position": "CF",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.142,
        "predicted_3B": 0.02,
        "predicted_AB": 3.642,
        "predicted_AVG": 0.28,
        "predicted_BB": 0.561,
        "predicted_H": 1.02,
        "predicted_HR": 0.02,
        "predicted_OBP": 0.376,
        "predicted_R": 0.541,
        "predicted_RBI": 0.223,
        "predicted_SLG": 0.347,
        "predicted_SO": 0.392
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1206,
        "predicted_3B": 0.0405,
        "predicted_AB": 3.7049,
        "predicted_AVG": 0.2807,
        "predicted_BB": 0.5776,
        "predicted_H": 1.0401,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0191,
        "predicted_OBP": 0.378,
        "predicted_R": 0.5576,
        "predicted_RBI": 0.2483,
        "predicted_SLG": 0.3508,
        "predicted_SO": 0.3789
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.642,
          "after": 3.7049,
          "delta": 0.0629,
          "percent_delta": 0.0173,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.642,
          "after": 3.7049,
          "delta": 0.0629,
          "percent_delta": 0.0173,
          "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": 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.1206,
        "predicted_3B": 0.0405,
        "predicted_AB": 3.7049,
        "predicted_AVG": 0.2796,
        "predicted_BB": 0.5762,
        "predicted_H": 1.0357,
        "predicted_HBP": 0.014,
        "predicted_HR": 0.0189,
        "predicted_OBP": 0.3765,
        "predicted_R": 0.554,
        "predicted_RBI": 0.2467,
        "predicted_SLG": 0.3493,
        "predicted_SO": 0.3798
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.70), rates preserved: AVG=0.238 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.1206,
          "after": 0.0,
          "delta": -0.1206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.7049,
          "after": 4.0,
          "delta": 0.2951,
          "percent_delta": 0.0797,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5762,
          "after": 1.0,
          "delta": 0.4238,
          "percent_delta": 0.7355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2467,
          "after": 0.0,
          "delta": -0.2467,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3798,
          "after": 0.0,
          "delta": -0.3798,
          "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_BB",
          "before": 0.5762,
          "after": 1.0,
          "delta": 0.4238,
          "percent_delta": 0.7355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.3798,
          "after": 0.0,
          "delta": -0.3798,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.554,
          "after": 1.0,
          "delta": 0.446,
          "percent_delta": 0.8051,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.554,
          "after": 1.0,
          "delta": 0.446,
          "percent_delta": 0.8051,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1597,
        "predicted_3B": 0.0177,
        "predicted_BB": 0.6369,
        "predicted_H": 0.8611,
        "predicted_HR": 0.0528,
        "predicted_RBI": 0.3174,
        "predicted_SO": 0.556
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1597,
          "delta": 0.1597,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6369,
          "delta": -0.3631,
          "percent_delta": -0.3631,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8611,
          "delta": -0.1389,
          "percent_delta": -0.1389,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0528,
          "delta": 0.0528,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3174,
          "delta": 0.3174,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.556,
          "delta": 0.556,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.556,
          "delta": 0.556,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.6369,
          "delta": -0.3631,
          "percent_delta": -0.3631,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.219,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.309,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1597,
          "after": 0.0,
          "delta": -0.1597,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2796,
          "after": 0.219,
          "delta": -0.0606,
          "percent_delta": -0.2167,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6369,
          "after": 1.0,
          "delta": 0.3631,
          "percent_delta": 0.5701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8611,
          "after": 1.0,
          "delta": 0.1389,
          "percent_delta": 0.1613,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0528,
          "after": 0.0,
          "delta": -0.0528,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3765,
          "after": 0.333,
          "delta": -0.0435,
          "percent_delta": -0.1155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3174,
          "after": 0.0,
          "delta": -0.3174,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3493,
          "after": 0.309,
          "delta": -0.0403,
          "percent_delta": -0.1154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.556,
          "after": 0.0,
          "delta": -0.556,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.6369,
          "after": 1.0,
          "delta": 0.3631,
          "percent_delta": 0.5701,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.556,
          "after": 0.0,
          "delta": -0.556,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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.219,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.333,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.309,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.242,
        "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.342,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.333,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.242,
          "delta": 0.023,
          "percent_delta": 0.105,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.333,
          "after": 0.342,
          "delta": 0.009,
          "percent_delta": 0.027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.309,
          "after": 0.333,
          "delta": 0.024,
          "percent_delta": 0.0777,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.309,
          "after": 0.333,
          "delta": 0.024,
          "percent_delta": 0.0777,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.142,
        "after": 0.0,
        "delta": -0.142,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.642,
        "after": 5.0,
        "delta": 1.358,
        "percent_delta": 0.3729,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.28,
        "after": 0.242,
        "delta": -0.038,
        "percent_delta": -0.1357,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.561,
        "after": 0.0,
        "delta": -0.561,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.02,
        "after": 0.0,
        "delta": -1.02,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.376,
        "after": 0.342,
        "delta": -0.034,
        "percent_delta": -0.0904,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.541,
        "after": 0.0,
        "delta": -0.541,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.223,
        "after": 0.0,
        "delta": -0.223,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.347,
        "after": 0.333,
        "delta": -0.014,
        "percent_delta": -0.0403,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.392,
        "after": 0.0,
        "delta": -0.392,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.642,
        "after": 5.0,
        "delta": 1.358,
        "percent_delta": 0.3729,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.02,
        "after": 0.0,
        "delta": -1.02,
        "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.142-
predicted_3B0.020-
predicted_AB3.642-
predicted_AVG0.280-
predicted_BB0.561-
predicted_H1.020-
predicted_HR0.020-
predicted_OBP0.376-
predicted_R0.541-
predicted_RBI0.223-
predicted_SLG0.347-
predicted_SO0.392-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.121-0.021
predicted_3B0.0410.021
predicted_AB3.7050.063
predicted_AVG0.2810.001
predicted_BB0.5780.017
predicted_H1.0400.020
predicted_HBP0.014-
predicted_HR0.019-0.001
predicted_OBP0.3780.002
predicted_R0.5580.017
predicted_RBI0.2480.025
predicted_SLG0.3510.004
predicted_SO0.379-0.013
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1210.000
predicted_3B0.0410.000
predicted_AB3.7050.000
predicted_AVG0.280-0.001
predicted_BB0.576-0.001
predicted_H1.036-0.004
predicted_HBP0.0140.000
predicted_HR0.019-0.000
predicted_OBP0.377-0.002
predicted_R0.554-0.004
predicted_RBI0.247-0.002
predicted_SLG0.349-0.002
predicted_SO0.3800.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.70), rates preserved: AVG=0.238 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. 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
7. hitter_rate_engine

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

MetricValueDelta vs Prev Step
2B0.1600.160
3B0.0180.018
BB0.637-0.363
H0.861-0.139
HR0.0530.053
RBI0.3170.317
SO0.5560.556
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.160
3B0.000-0.018
AB4.0000.000
AVG0.219-
BB1.0000.363
H1.0000.139
HR0.000-0.053
OBP0.333-
R1.0000.000
RBI0.000-0.317
SLG0.309-
SO0.000-0.556
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.121
predicted_3B0.000-0.041
predicted_AB4.0000.295
predicted_AVG0.219-0.061
predicted_BB1.0000.424
predicted_H1.000-0.036
predicted_HR0.000-0.019
predicted_OBP0.333-0.043
predicted_R1.0000.446
predicted_RBI0.000-0.247
predicted_SLG0.309-0.040
predicted_SO0.000-0.380
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.0000.000
SF0.0000.000
SO0.0000.000
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R0.0000.000
RBI0.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: 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.0000.0001.0000.0002.0004.0004.0001.0000.25000.37500.35000.25000.00000.10000.20000.0500
last_100.2010-40.00013.0000.0001.0000.0003.0005.0006.0003.0000.32500.41300.37500.32500.00000.07500.15000.0750
season0.60148-539.000151.00021.0003.0003.00033.00080.00083.00058.0000.28010.37740.34690.28020.00560.06120.15400.1076
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0930
predicted_3B0.0670
predicted_AB3.7860
predicted_AVG0.2815
predicted_BB0.5990
predicted_H1.0660
predicted_HBP0.0140
predicted_HR0.0180
predicted_OBP0.3805
predicted_R0.5790
predicted_RBI0.2810
predicted_SLG0.3556
predicted_SO0.3620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14200.09300.1206model_form_blend
predicted_3B0.02000.06700.0405model_form_blend
predicted_AB3.64203.78603.7049model_form_blend
predicted_AVG0.28000.28150.2807model_form_blend
predicted_BB0.56100.59900.5776model_form_blend
predicted_H1.02001.06601.0401model_form_blend
predicted_HBP-0.01400.0140form_only
predicted_HR0.02000.01800.0191model_form_blend
predicted_OBP0.37600.38050.3780model_form_blend
predicted_R0.54100.57900.5576model_form_blend
predicted_RBI0.22300.28100.2483model_form_blend
predicted_SLG0.34700.35560.3508model_form_blend
predicted_SO0.39200.36200.3789model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB6
Hitting_AVG0.167
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_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-LF
gameID20261007_CLE@CHW
game_typefull
mlbID680757
playerID680757
playerNameSteven Kwan
posLF
startedTrue
startingPositionCF
teamCLE
teamID8
game_date2026-10-07
sl_k_percent9.7
sl_bb_percent13.3
sl_woba0.334
sl_xwoba0.328
sl_xba0.277
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
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 20261008: 512
All-history rows before 20261008: 512
System season_avg: 0.2340
Data season_avg (2026 season-to-date): 0.2347
Diff (system - data): -0.0007
System opponent_avg: 0.2670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2260.0000.000Hitting_2B0.2401.000-0.240-1.000
predicted_3B0.0080.0000.000Hitting_3B0.0021.000-0.002-1.000
predicted_AB4.5904.0004.000Hitting_AB3.8284.0000.1720.000
predicted_AVG0.2310.0000.000Hitting_AVG0.2350.500-0.235-0.500
predicted_BB0.5001.0001.000Hitting_BB0.5181.0000.4820.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H1.0600.0000.000Hitting_H0.8982.000-0.898-2.000
predicted_HR0.0800.0000.000Hitting_HR0.1000.000-0.1000.000
predicted_OBP0.3310.2000.200Hitting_OBP0.3270.600-0.127-0.400
predicted_R0.5810.0000.000Hitting_R0.5842.000-0.584-2.000
predicted_RBI0.5900.0000.000Hitting_RBI0.4692.000-0.469-2.000
predicted_SLG0.3960.0000.000Hitting_SLG0.3771.250-0.377-1.250
predicted_SO0.5731.0001.000Hitting_SO0.5700.0000.4301.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_BB: 0.5000 -> 1.0000 (boost 0.5000, better)
Biggest Deboostpredicted_H: 1.0600 -> 0.0000 (deboost -1.0600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_R: 0.5810 -> 0.6562 (boost 0.0752, better)predicted_AB: 4.5900 -> 4.2544 (deboost -0.3356, worse)Final model input calibrated 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.3811 -> 0.3445 (deboost -0.0366, 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_BB: 0.5261 -> 1.0000 (boost 0.4739, better)predicted_RBI: 0.5496 -> 0.0000 (deboost -0.5496, worse)AB rounded to 4 (raw=4.59), rates preserved: AVG=0.179 HR/AB=0.016
6consistency_constraints11010predicted_R: 0.6520 -> 1.0000 (boost 0.3480, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_RBI: 0.0000 -> 0.4646 (boost 0.4646, better)predicted_BB: 1.0000 -> 0.6580 (deboost -0.3420, 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_allocation74334predicted_2B: 0.2096 -> 1.0000 (boost 0.7904, better)predicted_RBI: 0.4646 -> 0.0000 (deboost -0.4646, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization30303-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "608070",
  "player_name": "José Ramírez",
  "position": "3B",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.226,
        "predicted_3B": 0.008,
        "predicted_AB": 4.59,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.5,
        "predicted_H": 1.06,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.331,
        "predicted_R": 0.581,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.396,
        "predicted_SO": 0.573
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2208,
        "predicted_3B": 0.0315,
        "predicted_AB": 4.2544,
        "predicted_AVG": 0.2281,
        "predicted_BB": 0.5274,
        "predicted_H": 0.9713,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0722,
        "predicted_OBP": 0.3264,
        "predicted_R": 0.6562,
        "predicted_RBI": 0.5531,
        "predicted_SLG": 0.3811,
        "predicted_SO": 0.5756
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.59,
          "after": 4.2544,
          "delta": -0.3356,
          "percent_delta": -0.0731,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.06,
          "after": 0.9713,
          "delta": -0.0887,
          "percent_delta": -0.0837,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.581,
          "after": 0.6562,
          "delta": 0.0752,
          "percent_delta": 0.1294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.3811,
          "delta": -0.0149,
          "percent_delta": -0.0376,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.581,
          "after": 0.6562,
          "delta": 0.0752,
          "percent_delta": 0.1294,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.59,
          "after": 4.2544,
          "delta": -0.3356,
          "percent_delta": -0.0731,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 124
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2208,
        "predicted_3B": 0.0315,
        "predicted_AB": 4.2544,
        "predicted_AVG": 0.2273,
        "predicted_BB": 0.5261,
        "predicted_H": 0.9672,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0716,
        "predicted_OBP": 0.3124,
        "predicted_R": 0.652,
        "predicted_RBI": 0.5496,
        "predicted_SLG": 0.3445,
        "predicted_SO": 0.577
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3264,
          "after": 0.3124,
          "delta": -0.014,
          "percent_delta": -0.0429,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3811,
          "after": 0.3445,
          "delta": -0.0366,
          "percent_delta": -0.096,
          "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_SLG",
          "before": 0.3811,
          "after": 0.3445,
          "delta": -0.0366,
          "percent_delta": -0.096,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.59), rates preserved: AVG=0.179 HR/AB=0.016",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2208,
          "after": 0.0,
          "delta": -0.2208,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.2544,
          "after": 4.0,
          "delta": -0.2544,
          "percent_delta": -0.0598,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5261,
          "after": 1.0,
          "delta": 0.4739,
          "percent_delta": 0.9008,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0716,
          "after": 0.0,
          "delta": -0.0716,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5496,
          "after": 0.0,
          "delta": -0.5496,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.577,
          "after": 1.0,
          "delta": 0.423,
          "percent_delta": 0.7331,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 2,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5261,
          "after": 1.0,
          "delta": 0.4739,
          "percent_delta": 0.9008,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5496,
          "after": 0.0,
          "delta": -0.5496,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.652,
          "after": 1.0,
          "delta": 0.348,
          "percent_delta": 0.5337,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.652,
          "after": 1.0,
          "delta": 0.348,
          "percent_delta": 0.5337,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.2096,
        "predicted_3B": 0.0119,
        "predicted_BB": 0.658,
        "predicted_H": 0.7834,
        "predicted_HR": 0.1142,
        "predicted_RBI": 0.4646,
        "predicted_SO": 0.7166
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2096,
          "delta": 0.2096,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.658,
          "delta": -0.342,
          "percent_delta": -0.342,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7834,
          "delta": -0.2166,
          "percent_delta": -0.2166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1142,
          "delta": 0.1142,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4646,
          "delta": 0.4646,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7166,
          "delta": -0.2834,
          "percent_delta": -0.2834,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4646,
          "delta": 0.4646,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.658,
          "delta": -0.342,
          "percent_delta": -0.342,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.197,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.341,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2096,
          "after": 1.0,
          "delta": 0.7904,
          "percent_delta": 3.771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2273,
          "after": 0.197,
          "delta": -0.0303,
          "percent_delta": -0.1333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.658,
          "after": 1.0,
          "delta": 0.342,
          "percent_delta": 0.5198,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7834,
          "after": 1.0,
          "delta": 0.2166,
          "percent_delta": 0.2765,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1142,
          "after": 0.0,
          "delta": -0.1142,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4646,
          "after": 0.0,
          "delta": -0.4646,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7166,
          "after": 1.0,
          "delta": 0.2834,
          "percent_delta": 0.3955,
          "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_2B",
          "before": 0.2096,
          "after": 1.0,
          "delta": 0.7904,
          "percent_delta": 3.771,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4646,
          "after": 0.0,
          "delta": -0.4646,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.197,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.341,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Market blend not applied: no props for this hitter",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.197,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.316,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.341,
        "predicted_SO": 1.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.226,
        "after": 0.0,
        "delta": -0.226,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.59,
        "after": 4.0,
        "delta": -0.59,
        "percent_delta": -0.1285,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.231,
        "after": 0.197,
        "delta": -0.034,
        "percent_delta": -0.1472,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 1.0,
        "delta": 0.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 0.0,
        "delta": -1.06,
        "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.331,
        "after": 0.316,
        "delta": -0.015,
        "percent_delta": -0.0453,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.581,
        "after": 0.0,
        "delta": -0.581,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.341,
        "delta": -0.055,
        "percent_delta": -0.1389,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.573,
        "after": 1.0,
        "delta": 0.427,
        "percent_delta": 0.7452,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.5,
        "after": 1.0,
        "delta": 0.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 0.0,
        "delta": -1.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.226-
predicted_3B0.008-
predicted_AB4.590-
predicted_AVG0.231-
predicted_BB0.500-
predicted_H1.060-
predicted_HR0.080-
predicted_OBP0.331-
predicted_R0.581-
predicted_RBI0.590-
predicted_SLG0.396-
predicted_SO0.573-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.221-0.005
predicted_3B0.0320.024
predicted_AB4.254-0.336
predicted_AVG0.228-0.003
predicted_BB0.5270.027
predicted_H0.971-0.089
predicted_HBP0.016-
predicted_HR0.072-0.008
predicted_OBP0.326-0.005
predicted_R0.6560.075
predicted_RBI0.553-0.037
predicted_SLG0.381-0.015
predicted_SO0.5760.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.2210.000
predicted_3B0.0320.000
predicted_AB4.2540.000
predicted_AVG0.227-0.001
predicted_BB0.526-0.001
predicted_H0.967-0.004
predicted_HBP0.0160.000
predicted_HR0.072-0.001
predicted_OBP0.312-0.014
predicted_R0.652-0.004
predicted_RBI0.550-0.004
predicted_SLG0.344-0.037
predicted_SO0.5770.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.59), rates preserved: AVG=0.179 HR/AB=0.016

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

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

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

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

MetricValueDelta vs Prev Step
2B0.2100.210
3B0.0120.012
BB0.658-0.342
H0.783-0.217
HR0.1140.114
RBI0.4650.465
SO0.717-0.283
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.790
3B0.000-0.012
AB4.0000.000
AVG0.197-
BB1.0000.342
H1.0000.217
HR0.000-0.114
OBP0.316-
R1.0000.000
RBI0.000-0.465
SLG0.341-
SO1.0000.283
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.779
predicted_3B0.000-0.032
predicted_AB4.000-0.254
predicted_AVG0.197-0.030
predicted_BB1.0000.474
predicted_H1.0000.033
predicted_HR0.000-0.072
predicted_OBP0.3160.004
predicted_R1.0000.348
predicted_RBI0.000-0.550
predicted_SLG0.341-0.003
predicted_SO1.0000.423
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Market blend not applied: no props for this hitter

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R0.000-1.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000
13. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 124
Reference playing time: 4.590
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0003.0001.0001.0000.0004.0006.0004.0003.0000.15790.29170.31580.15790.00000.21050.21050.1579
last_100.2010-39.00010.0002.0001.0000.0004.0009.0006.0005.0000.25640.34780.35900.25640.00000.10260.15380.1282
season0.60124-471.000110.00028.0001.00012.00055.00072.00062.00071.0000.23350.32230.37370.23360.02550.11680.13160.1507
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2140
predicted_3B0.0620
predicted_AB3.8180
predicted_AVG0.2243
predicted_BB0.5630
predicted_H0.8560
predicted_HBP0.0160
predicted_HR0.0620
predicted_OBP0.3204
predicted_R0.7540
predicted_RBI0.5050
predicted_SLG0.3617
predicted_SO0.5790
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22600.21400.2208model_form_blend
predicted_3B0.00800.06200.0315model_form_blend
predicted_AB4.59003.81804.2544model_form_blend
predicted_AVG0.23100.22430.2281model_form_blend
predicted_BB0.50000.56300.5274model_form_blend
predicted_H1.06000.85600.9713model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.08000.06200.0722model_form_blend
predicted_OBP0.33100.32040.3264model_form_blend
predicted_R0.58100.75400.6562model_form_blend
predicted_RBI0.59000.50500.5531model_form_blend
predicted_SLG0.39600.36170.3811model_form_blend
predicted_SO0.57300.57900.5756model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B1
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB5
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261007_CLE@CHW
game_typefull
mlbID608070
playerID608070
playerNameJosé Ramírez
pos3B
startedTrue
startingPosition3B
teamCLE
teamID8
game_date2026-10-07
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
Chase DeLauter (800050) · BATTER · RF · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 530
All-history rows before 20261008: 530
System season_avg: 0.2850
Data season_avg (2026 season-to-date): 0.2813
Diff (system - data): 0.0037
System opponent_avg: 0.2170

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2140.0000.000Hitting_2B0.2210.000-0.2210.000
predicted_3B0.0230.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.5105.0005.000Hitting_AB3.9304.0001.0701.000
predicted_AVG0.2520.4000.400Hitting_AVG0.2810.2500.1190.150
predicted_BB0.4430.0000.000Hitting_BB0.4641.000-0.464-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0170.000-0.0170.000
predicted_H1.1402.0002.000Hitting_H1.1061.0000.8941.000
predicted_HR0.1600.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.3430.4000.400Hitting_OBP0.3560.4000.0440.000
predicted_R0.4661.0001.000Hitting_R0.5001.0000.5000.000
predicted_RBI0.5800.0000.000Hitting_RBI0.5621.000-0.562-1.000
predicted_SLG0.4190.4000.400Hitting_SLG0.4480.250-0.0480.150
predicted_SO0.6181.0001.000Hitting_SO0.6450.0000.3551.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_H: 1.1400 -> 2.0000 (boost 0.8600, better)
Biggest Deboostpredicted_RBI: 0.5800 -> 0.0000 (deboost -0.5800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_SLG: 0.4190 -> 0.4319 (boost 0.0129, better)predicted_AB: 4.5100 -> 4.2268 (deboost -0.2832, worse)Final model input calibrated 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.3495 -> 0.3329 (deboost -0.0166, 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.5904 -> 1.0000 (boost 0.4096, worse)predicted_RBI: 0.5603 -> 0.0000 (deboost -0.5603, worse)AB rounded to 4 (raw=4.51), rates preserved: AVG=0.206 HR/AB=0.034
6consistency_constraints11010predicted_R: 0.5088 -> 1.0000 (boost 0.4912, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5351 (boost 0.5351, better)predicted_SO: 1.0000 -> 0.8041 (deboost -0.1959, 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_allocation95445predicted_2B: 0.1804 -> 1.0000 (boost 0.8196, better)predicted_HR: 0.1230 -> 0.0000 (deboost -0.1230, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization52323predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final33030predicted_OBP: 0.3200 -> 0.3450 (boost 0.0250, better)-Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "800050",
  "player_name": "Chase DeLauter",
  "position": "RF",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.214,
        "predicted_3B": 0.023,
        "predicted_AB": 4.51,
        "predicted_AVG": 0.252,
        "predicted_BB": 0.443,
        "predicted_H": 1.14,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.343,
        "predicted_R": 0.466,
        "predicted_RBI": 0.58,
        "predicted_SLG": 0.419,
        "predicted_SO": 0.618
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.211,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.2268,
        "predicted_AVG": 0.2599,
        "predicted_BB": 0.4721,
        "predicted_H": 1.0974,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.1561,
        "predicted_OBP": 0.3495,
        "predicted_R": 0.5121,
        "predicted_RBI": 0.5639,
        "predicted_SLG": 0.4319,
        "predicted_SO": 0.5889
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 4.2268,
          "delta": -0.2832,
          "percent_delta": -0.0628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.252,
          "after": 0.2599,
          "delta": 0.0079,
          "percent_delta": 0.0313,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.343,
          "after": 0.3495,
          "delta": 0.0065,
          "percent_delta": 0.019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.4319,
          "delta": 0.0129,
          "percent_delta": 0.0308,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.419,
          "after": 0.4319,
          "delta": 0.0129,
          "percent_delta": 0.0308,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 4.2268,
          "delta": -0.2832,
          "percent_delta": -0.0628,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 131
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.211,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.2268,
        "predicted_AVG": 0.2585,
        "predicted_BB": 0.4709,
        "predicted_H": 1.0928,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.1547,
        "predicted_OBP": 0.3329,
        "predicted_R": 0.5088,
        "predicted_RBI": 0.5603,
        "predicted_SLG": 0.4273,
        "predicted_SO": 0.5904
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3495,
          "after": 0.3329,
          "delta": -0.0166,
          "percent_delta": -0.0475,
          "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_OBP",
          "before": 0.3495,
          "after": 0.3329,
          "delta": -0.0166,
          "percent_delta": -0.0475,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.51), rates preserved: AVG=0.206 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": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.211,
          "after": 0.0,
          "delta": -0.211,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.2268,
          "after": 4.0,
          "delta": -0.2268,
          "percent_delta": -0.0537,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4709,
          "after": 0.0,
          "delta": -0.4709,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0928,
          "after": 1.0,
          "delta": -0.0928,
          "percent_delta": -0.0849,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1547,
          "after": 0.0,
          "delta": -0.1547,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5603,
          "after": 0.0,
          "delta": -0.5603,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5904,
          "after": 1.0,
          "delta": 0.4096,
          "percent_delta": 0.6938,
          "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.5904,
          "after": 1.0,
          "delta": 0.4096,
          "percent_delta": 0.6938,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5603,
          "after": 0.0,
          "delta": -0.5603,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_R",
          "before": 0.5088,
          "after": 1.0,
          "delta": 0.4912,
          "percent_delta": 0.9654,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5088,
          "after": 1.0,
          "delta": 0.4912,
          "percent_delta": 0.9654,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1804,
        "predicted_3B": 0.0181,
        "predicted_BB": 0.5027,
        "predicted_H": 0.8584,
        "predicted_HR": 0.123,
        "predicted_RBI": 0.5351,
        "predicted_SO": 0.8041
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1804,
          "delta": 0.1804,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.5027,
          "delta": 0.5027,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8584,
          "delta": -0.1416,
          "percent_delta": -0.1416,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.123,
          "delta": 0.123,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5351,
          "delta": 0.5351,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8041,
          "delta": -0.1959,
          "percent_delta": -0.1959,
          "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.5351,
          "delta": 0.5351,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8041,
          "delta": -0.1959,
          "percent_delta": -0.1959,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.225,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.32,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.378,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1804,
          "after": 1.0,
          "delta": 0.8196,
          "percent_delta": 4.5432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2585,
          "after": 0.225,
          "delta": -0.0335,
          "percent_delta": -0.1296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5027,
          "after": 1.0,
          "delta": 0.4973,
          "percent_delta": 0.9893,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8584,
          "after": 1.0,
          "delta": 0.1416,
          "percent_delta": 0.165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.123,
          "after": 0.0,
          "delta": -0.123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3329,
          "after": 0.32,
          "delta": -0.0129,
          "percent_delta": -0.0388,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5351,
          "after": 1.0,
          "delta": 0.4649,
          "percent_delta": 0.8688,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4273,
          "after": 0.378,
          "delta": -0.0493,
          "percent_delta": -0.1154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8041,
          "after": 1.0,
          "delta": 0.1959,
          "percent_delta": 0.2436,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 5,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1804,
          "after": 1.0,
          "delta": 0.8196,
          "percent_delta": 4.5432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.123,
          "after": 0.0,
          "delta": -0.123,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.225,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.32,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.378,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "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_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.345,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.4,
        "predicted_SO": 1.0,
        "predicted_TB": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.245,
          "delta": 0.02,
          "percent_delta": 0.0889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.345,
          "delta": 0.025,
          "percent_delta": 0.0781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.378,
          "after": 0.4,
          "delta": 0.022,
          "percent_delta": 0.0582,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.32,
          "after": 0.345,
          "delta": 0.025,
          "percent_delta": 0.0781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.214,
        "after": 0.0,
        "delta": -0.214,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.51,
        "after": 5.0,
        "delta": 0.49,
        "percent_delta": 0.1086,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.252,
        "after": 0.245,
        "delta": -0.007,
        "percent_delta": -0.0278,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.443,
        "after": 0.0,
        "delta": -0.443,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.14,
        "after": 2.0,
        "delta": 0.86,
        "percent_delta": 0.7544,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.466,
        "after": 1.0,
        "delta": 0.534,
        "percent_delta": 1.1459,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.419,
        "after": 0.4,
        "delta": -0.019,
        "percent_delta": -0.0453,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.618,
        "after": 1.0,
        "delta": 0.382,
        "percent_delta": 0.6181,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 1.14,
        "after": 2.0,
        "delta": 0.86,
        "percent_delta": 0.7544,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.58,
        "after": 0.0,
        "delta": -0.58,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.214-
predicted_3B0.023-
predicted_AB4.510-
predicted_AVG0.252-
predicted_BB0.443-
predicted_H1.140-
predicted_HR0.160-
predicted_OBP0.343-
predicted_R0.466-
predicted_RBI0.580-
predicted_SLG0.419-
predicted_SO0.618-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.211-0.003
predicted_3B0.019-0.004
predicted_AB4.227-0.283
predicted_AVG0.2600.008
predicted_BB0.4720.029
predicted_H1.097-0.043
predicted_HBP0.024-
predicted_HR0.156-0.004
predicted_OBP0.3490.006
predicted_R0.5120.046
predicted_RBI0.564-0.016
predicted_SLG0.4320.013
predicted_SO0.589-0.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.2110.000
predicted_3B0.0190.000
predicted_AB4.2270.000
predicted_AVG0.259-0.001
predicted_BB0.471-0.001
predicted_H1.093-0.005
predicted_HBP0.0240.000
predicted_HR0.155-0.001
predicted_OBP0.333-0.017
predicted_R0.509-0.003
predicted_RBI0.560-0.004
predicted_SLG0.427-0.005
predicted_SO0.5900.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.51), rates preserved: AVG=0.206 HR/AB=0.034

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.1800.180
3B0.0180.018
BB0.5030.503
H0.858-0.142
HR0.1230.123
RBI0.5350.535
SO0.804-0.196
8. 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.018
AB4.0000.000
AVG0.225-
BB1.0000.497
H1.0000.142
HR0.000-0.123
OBP0.320-
R1.0000.000
RBI1.0000.465
SLG0.378-
SO1.0000.196
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.789
predicted_3B0.000-0.019
predicted_AB4.000-0.227
predicted_AVG0.225-0.034
predicted_BB1.0000.529
predicted_H1.000-0.093
predicted_HR0.000-0.155
predicted_OBP0.320-0.013
predicted_R1.0000.491
predicted_RBI1.0000.440
predicted_SLG0.378-0.049
predicted_SO1.0000.410
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB5.0001.000
BB0.000-1.000
H2.0001.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.000-1.000
SF0.0000.000
SO1.0000.000
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H2.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R1.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 131
Reference playing time: 4.510
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0005.0001.0000.0001.0003.0004.0004.0001.0000.25000.37500.45000.25000.05000.15000.20000.0500
last_100.2010-40.00010.0002.0000.0002.0006.0007.0005.0006.0000.25000.34780.45000.25000.05000.15000.12500.1500
season0.60131-494.000141.00028.0003.00016.00067.00061.00058.00081.0000.28540.36040.45140.28540.03240.13560.11740.1640
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2070
predicted_3B0.0140
predicted_AB3.8590
predicted_AVG0.2701
predicted_BB0.5100
predicted_H1.0420
predicted_HBP0.0240
predicted_HR0.1510
predicted_OBP0.3580
predicted_R0.5720
predicted_RBI0.5430
predicted_SLG0.4486
predicted_SO0.5510
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21400.20700.2110model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.51003.85904.2268model_form_blend
predicted_AVG0.25200.27010.2599model_form_blend
predicted_BB0.44300.51000.4721model_form_blend
predicted_H1.14001.04201.0974model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.16000.15100.1561model_form_blend
predicted_OBP0.34300.35800.3495model_form_blend
predicted_R0.46600.57200.5121model_form_blend
predicted_RBI0.58000.54300.5639model_form_blend
predicted_SLG0.41900.44860.4319model_form_blend
predicted_SO0.61800.55100.5889model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB1
Hitting_R1
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20261007_CLE@CHW
game_typefull
mlbID800050
playerID800050
playerNameChase DeLauter
posRF
startedTrue
startingPositionRF
teamCLE
teamID8
game_date2026-10-07
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
Jo Adell (666176) · BATTER · DH · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 174
All-history rows before 20261008: 174
System season_avg: 0.2410
Data season_avg (2026 season-to-date): 0.2382
Diff (system - data): 0.0028
System opponent_avg: 0.2000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1610.0000.000Hitting_2B0.2410.000-0.2410.000
predicted_3B0.0190.0000.000Hitting_3B0.0111.000-0.011-1.000
predicted_AB3.7954.0004.000Hitting_AB3.9084.0000.0920.000
predicted_AVG0.2410.2500.250Hitting_AVG0.2380.5000.012-0.250
predicted_BB0.2240.0000.000Hitting_BB0.4021.000-0.402-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.9131.0001.000Hitting_H0.9312.0000.069-1.000
predicted_HR0.1430.0000.000Hitting_HR0.1440.000-0.1440.000
predicted_OBP0.2830.2500.250Hitting_OBP0.3230.600-0.073-0.350
predicted_R0.4351.0001.000Hitting_R0.5170.0000.4831.000
predicted_RBI0.6020.0000.000Hitting_RBI0.7413.000-0.741-3.000
predicted_SLG0.4060.2500.250Hitting_SLG0.4161.000-0.166-0.750
predicted_SO1.0121.0001.000Hitting_SO1.1091.000-0.1090.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_R: 0.4350 -> 1.0000 (boost 0.5650, better)
Biggest Deboostpredicted_RBI: 0.6020 -> 0.0000 (deboost -0.6020, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_BB: 0.2240 -> 0.2966 (boost 0.0726, 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_scaling83535predicted_RBI: 0.6290 -> 1.0000 (boost 0.3710, better)predicted_BB: 0.2959 -> 0.0000 (deboost -0.2959, worse)AB rounded to 4 (raw=3.79), rates preserved: AVG=0.209 HR/AB=0.038
6consistency_constraints10101-predicted_R: 0.4439 -> 0.0000 (deboost -0.4439, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.3403 (boost 0.3403, better)predicted_RBI: 1.0000 -> 0.5815 (deboost -0.4185, 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_allocation92736predicted_RBI: 0.5815 -> 1.0000 (boost 0.4185, better)predicted_BB: 0.3403 -> 0.0000 (deboost -0.3403, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization21111predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final33030predicted_OBP: 0.2750 -> 0.2990 (boost 0.0240, better)-Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "666176",
  "player_name": "Jo Adell",
  "position": "DH",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.161,
        "predicted_3B": 0.019,
        "predicted_AB": 3.795,
        "predicted_AVG": 0.241,
        "predicted_BB": 0.224,
        "predicted_H": 0.913,
        "predicted_HR": 0.143,
        "predicted_OBP": 0.283,
        "predicted_R": 0.435,
        "predicted_RBI": 0.602,
        "predicted_SLG": 0.406,
        "predicted_SO": 1.012
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1426,
        "predicted_3B": 0.0662,
        "predicted_AB": 3.7876,
        "predicted_AVG": 0.2475,
        "predicted_BB": 0.2966,
        "predicted_H": 0.9362,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1439,
        "predicted_OBP": 0.3051,
        "predicted_R": 0.4468,
        "predicted_RBI": 0.6331,
        "predicted_SLG": 0.4338,
        "predicted_SO": 1.0404
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.241,
          "after": 0.2475,
          "delta": 0.0065,
          "percent_delta": 0.027,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.224,
          "after": 0.2966,
          "delta": 0.0726,
          "percent_delta": 0.3241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.283,
          "after": 0.3051,
          "delta": 0.0221,
          "percent_delta": 0.0781,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.406,
          "after": 0.4338,
          "delta": 0.0278,
          "percent_delta": 0.0685,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.224,
          "after": 0.2966,
          "delta": 0.0726,
          "percent_delta": 0.3241,
          "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": 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.1426,
        "predicted_3B": 0.0662,
        "predicted_AB": 3.7876,
        "predicted_AVG": 0.2461,
        "predicted_BB": 0.2959,
        "predicted_H": 0.9323,
        "predicted_HBP": 0.065,
        "predicted_HR": 0.1426,
        "predicted_OBP": 0.3008,
        "predicted_R": 0.4439,
        "predicted_RBI": 0.629,
        "predicted_SLG": 0.4317,
        "predicted_SO": 1.043
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.209 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.1426,
          "after": 0.0,
          "delta": -0.1426,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_3B",
          "before": 0.0662,
          "after": 0.0,
          "delta": -0.0662,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.7876,
          "after": 4.0,
          "delta": 0.2124,
          "percent_delta": 0.0561,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2959,
          "after": 0.0,
          "delta": -0.2959,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9323,
          "after": 1.0,
          "delta": 0.0677,
          "percent_delta": 0.0726,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.065,
          "after": 0.0,
          "delta": -0.065,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1426,
          "after": 0.0,
          "delta": -0.1426,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.629,
          "after": 1.0,
          "delta": 0.371,
          "percent_delta": 0.5898,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.629,
          "after": 1.0,
          "delta": 0.371,
          "percent_delta": 0.5898,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2959,
          "after": 0.0,
          "delta": -0.2959,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_R",
          "before": 0.4439,
          "after": 0.0,
          "delta": -0.4439,
          "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_R",
          "before": 0.4439,
          "after": 0.0,
          "delta": -0.4439,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1802,
        "predicted_3B": 0.0151,
        "predicted_BB": 0.3403,
        "predicted_H": 0.7791,
        "predicted_HR": 0.1466,
        "predicted_RBI": 0.5815,
        "predicted_SO": 1.1938
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1802,
          "delta": 0.1802,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3403,
          "delta": 0.3403,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7791,
          "delta": -0.2209,
          "percent_delta": -0.2209,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1466,
          "delta": 0.1466,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5815,
          "delta": -0.4185,
          "percent_delta": -0.4185,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1938,
          "delta": 0.1938,
          "percent_delta": 0.1938,
          "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.3403,
          "delta": 0.3403,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5815,
          "delta": -0.4185,
          "percent_delta": -0.4185,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.204,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.275,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1802,
          "after": 0.0,
          "delta": -0.1802,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2461,
          "after": 0.204,
          "delta": -0.0421,
          "percent_delta": -0.1711,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3403,
          "after": 0.0,
          "delta": -0.3403,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7791,
          "after": 1.0,
          "delta": 0.2209,
          "percent_delta": 0.2835,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1466,
          "after": 0.0,
          "delta": -0.1466,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3008,
          "after": 0.275,
          "delta": -0.0258,
          "percent_delta": -0.0858,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5815,
          "after": 1.0,
          "delta": 0.4185,
          "percent_delta": 0.7197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4317,
          "after": 0.375,
          "delta": -0.0567,
          "percent_delta": -0.1313,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1938,
          "after": 1.0,
          "delta": -0.1938,
          "percent_delta": -0.1623,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5815,
          "after": 1.0,
          "delta": 0.4185,
          "percent_delta": 0.7197,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3403,
          "after": 0.0,
          "delta": -0.3403,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.204,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.275,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.375,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.216,
        "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.299,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.204,
          "after": 0.216,
          "delta": 0.012,
          "percent_delta": 0.0588,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.275,
          "after": 0.299,
          "delta": 0.024,
          "percent_delta": 0.0873,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.375,
          "after": 0.387,
          "delta": 0.012,
          "percent_delta": 0.032,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.275,
          "after": 0.299,
          "delta": 0.024,
          "percent_delta": 0.0873,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.161,
        "after": 0.0,
        "delta": -0.161,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.795,
        "after": 4.0,
        "delta": 0.205,
        "percent_delta": 0.054,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.241,
        "after": 0.216,
        "delta": -0.025,
        "percent_delta": -0.1037,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.224,
        "after": 0.0,
        "delta": -0.224,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.913,
        "after": 1.0,
        "delta": 0.087,
        "percent_delta": 0.0953,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.065,
        "after": 0.0,
        "delta": -0.065,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.143,
        "after": 0.0,
        "delta": -0.143,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.283,
        "after": 0.299,
        "delta": 0.016,
        "percent_delta": 0.0565,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.435,
        "after": 1.0,
        "delta": 0.565,
        "percent_delta": 1.2989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.602,
        "after": 0.0,
        "delta": -0.602,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.406,
        "after": 0.387,
        "delta": -0.019,
        "percent_delta": -0.0468,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.435,
        "after": 1.0,
        "delta": 0.565,
        "percent_delta": 1.2989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.602,
        "after": 0.0,
        "delta": -0.602,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.161-
predicted_3B0.019-
predicted_AB3.795-
predicted_AVG0.241-
predicted_BB0.224-
predicted_H0.913-
predicted_HR0.143-
predicted_OBP0.283-
predicted_R0.435-
predicted_RBI0.602-
predicted_SLG0.406-
predicted_SO1.012-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.143-0.018
predicted_3B0.0660.047
predicted_AB3.788-0.007
predicted_AVG0.2470.007
predicted_BB0.2970.073
predicted_H0.9360.023
predicted_HBP0.065-
predicted_HR0.1440.001
predicted_OBP0.3050.022
predicted_R0.4470.012
predicted_RBI0.6330.031
predicted_SLG0.4340.028
predicted_SO1.0400.028
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1430.000
predicted_3B0.0660.000
predicted_AB3.7880.000
predicted_AVG0.246-0.001
predicted_BB0.296-0.001
predicted_H0.932-0.004
predicted_HBP0.0650.000
predicted_HR0.143-0.001
predicted_OBP0.301-0.004
predicted_R0.444-0.003
predicted_RBI0.629-0.004
predicted_SLG0.432-0.002
predicted_SO1.0430.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.79), rates preserved: AVG=0.209 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. 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.1800.180
3B0.0150.015
BB0.3400.340
H0.779-0.221
HR0.1470.147
RBI0.582-0.418
SO1.1940.194
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.180
3B0.000-0.015
AB4.0000.000
AVG0.204-
BB0.000-0.340
H1.0000.221
HR0.000-0.147
OBP0.275-
R0.0000.000
RBI1.0000.418
SLG0.375-
SO1.000-0.194
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.143
predicted_3B0.000-0.066
predicted_AB4.0000.212
predicted_AVG0.204-0.042
predicted_BB0.000-0.296
predicted_H1.0000.068
predicted_HR0.000-0.143
predicted_OBP0.275-0.026
predicted_R0.000-0.444
predicted_RBI1.0000.371
predicted_SLG0.375-0.057
predicted_SO1.000-0.043
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI0.000-1.000
SF0.0000.000
SO1.0000.000
13. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.0000.000
RBI0.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: 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-19.0006.0000.0002.0001.0005.0003.0003.0007.0000.31580.40910.68420.31580.05260.26320.15790.3684
last_100.2010-37.0009.0001.0002.0001.0006.0004.0007.00010.0000.24320.36360.45950.24320.02700.16220.18920.2703
season0.60161-611.000147.00026.0003.00023.00097.00070.00036.000163.0000.24060.30040.40590.24060.03760.15880.05890.2668
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1190
predicted_3B0.1270
predicted_AB3.7780
predicted_AVG0.2558
predicted_BB0.3900
predicted_H0.9660
predicted_HBP0.0650
predicted_HR0.1450
predicted_OBP0.3335
predicted_R0.4620
predicted_RBI0.6730
predicted_SLG0.4695
predicted_SO1.0770
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16100.11900.1426model_form_blend
predicted_3B0.01900.12700.0662model_form_blend
predicted_AB3.79503.77803.7876model_form_blend
predicted_AVG0.24100.25580.2475model_form_blend
predicted_BB0.22400.39000.2966model_form_blend
predicted_H0.91300.96600.9362model_form_blend
predicted_HBP-0.06500.0650form_only
predicted_HR0.14300.14500.1439model_form_blend
predicted_OBP0.28300.33350.3051model_form_blend
predicted_R0.43500.46200.4468model_form_blend
predicted_RBI0.60200.67300.6331model_form_blend
predicted_SLG0.40600.46950.4338model_form_blend
predicted_SO1.01201.07701.0404model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B1
Hitting_AB4
Hitting_AVG0.5
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI3
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB4
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20261007_CLE@CHW
game_typefull
mlbID666176
playerID666176
playerNameJo Adell
posRF
startedTrue
startingPositionDH
teamCLE
teamID8
game_date2026-10-07
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
Nathaniel Lowe (663993) · BATTER · 1B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 140
All-history rows before 20261008: 140
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2357
Diff (system - data): 0.0113
System opponent_avg: 0.1880

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1850.0000.000Hitting_2B0.1860.000-0.1860.000
predicted_3B0.0001.0001.000Hitting_3B0.0000.0001.0001.000
predicted_AB3.1683.0003.000Hitting_AB3.4862.000-0.4861.000
predicted_AVG0.2500.6670.667Hitting_AVG0.2360.0000.4310.667
predicted_BB0.3281.0001.000Hitting_BB0.3293.0000.671-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6902.0002.000Hitting_H0.8210.0001.1792.000
predicted_HR0.0901.0001.000Hitting_HR0.1360.0000.8641.000
predicted_OBP0.3150.7500.750Hitting_OBP0.2950.6000.4550.150
predicted_R0.3032.0002.000Hitting_R0.3501.0001.6501.000
predicted_RBI0.5102.0002.000Hitting_RBI0.7000.0001.3002.000
predicted_SLG0.3832.3332.333Hitting_SLG0.4060.0001.9282.333
predicted_SO0.8241.0001.000Hitting_SO0.8000.0000.2001.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics11
Boosted Metrics8
Deboosted Metrics3
Better Metrics7
Worse Metrics4
Biggest Boostpredicted_R: 0.3030 -> 2.0000 (boost 1.6970, better)
Biggest Deboostpredicted_2B: 0.1850 -> 0.0000 (deboost -0.1850, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend30312-predicted_SO: 0.8240 -> 0.7624 (deboost -0.0616, better)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_AVG: 0.2411 -> 0.2219 (deboost -0.0192, 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_RBI: 0.5516 -> 1.0000 (boost 0.4484, better)predicted_BB: 0.3719 -> 0.0000 (deboost -0.3719, worse)AB rounded to 3 (raw=3.17), rates preserved: AVG=0.188 HR/AB=0.027
6consistency_constraints10101-predicted_R: 0.2801 -> 0.0000 (deboost -0.2801, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_BB: 0.0000 -> 0.4055 (boost 0.4055, better)predicted_RBI: 1.0000 -> 0.5543 (deboost -0.4457, 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_allocation93645predicted_RBI: 0.5543 -> 1.0000 (boost 0.4457, better)predicted_BB: 0.4055 -> 0.0000 (deboost -0.4055, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization66060predicted_R: 0.0000 -> 2.0000 (boost 2.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final33030predicted_AVG: 0.2080 -> 0.2260 (boost 0.0180, better)-Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "663993",
  "player_name": "Nathaniel Lowe",
  "position": "1B",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.185,
        "predicted_3B": 0.0,
        "predicted_AB": 3.168,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.328,
        "predicted_H": 0.69,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.315,
        "predicted_R": 0.303,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.383,
        "predicted_SO": 0.824
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.159,
        "predicted_AVG": 0.2411,
        "predicted_BB": 0.3728,
        "predicted_H": 0.7038,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.0866,
        "predicted_OBP": 0.3148,
        "predicted_R": 0.2819,
        "predicted_RBI": 0.5552,
        "predicted_SLG": 0.3742,
        "predicted_SO": 0.7624
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2411,
          "delta": -0.0089,
          "percent_delta": -0.0356,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.383,
          "after": 0.3742,
          "delta": -0.0088,
          "percent_delta": -0.023,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.824,
          "after": 0.7624,
          "delta": -0.0616,
          "percent_delta": -0.0748,
          "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": 0.824,
          "after": 0.7624,
          "delta": -0.0616,
          "percent_delta": -0.0748,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 119
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.179,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.159,
        "predicted_AVG": 0.2219,
        "predicted_BB": 0.3719,
        "predicted_H": 0.7008,
        "predicted_HBP": 0.031,
        "predicted_HR": 0.0858,
        "predicted_OBP": 0.3038,
        "predicted_R": 0.2801,
        "predicted_RBI": 0.5516,
        "predicted_SLG": 0.3603,
        "predicted_SO": 0.7643
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2411,
          "after": 0.2219,
          "delta": -0.0192,
          "percent_delta": -0.0796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3148,
          "after": 0.3038,
          "delta": -0.011,
          "percent_delta": -0.0349,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3742,
          "after": 0.3603,
          "delta": -0.0139,
          "percent_delta": -0.0371,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.2411,
          "after": 0.2219,
          "delta": -0.0192,
          "percent_delta": -0.0796,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.17), rates preserved: AVG=0.188 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.179,
          "after": 0.0,
          "delta": -0.179,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.159,
          "after": 3.0,
          "delta": -0.159,
          "percent_delta": -0.0503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3719,
          "after": 0.0,
          "delta": -0.3719,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7008,
          "after": 1.0,
          "delta": 0.2992,
          "percent_delta": 0.4269,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0858,
          "after": 0.0,
          "delta": -0.0858,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5516,
          "after": 1.0,
          "delta": 0.4484,
          "percent_delta": 0.8129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7643,
          "after": 1.0,
          "delta": 0.2357,
          "percent_delta": 0.3084,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5516,
          "after": 1.0,
          "delta": 0.4484,
          "percent_delta": 0.8129,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3719,
          "after": 0.0,
          "delta": -0.3719,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_R",
          "before": 0.2801,
          "after": 0.0,
          "delta": -0.2801,
          "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_R",
          "before": 0.2801,
          "after": 0.0,
          "delta": -0.2801,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.162,
        "predicted_3B": 0.0095,
        "predicted_BB": 0.4055,
        "predicted_H": 0.7167,
        "predicted_HR": 0.132,
        "predicted_RBI": 0.5543,
        "predicted_SO": 1.0906
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.162,
          "delta": 0.162,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4055,
          "delta": 0.4055,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7167,
          "delta": -0.2833,
          "percent_delta": -0.2833,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.132,
          "delta": 0.132,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5543,
          "delta": -0.4457,
          "percent_delta": -0.4457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0906,
          "delta": 0.0906,
          "percent_delta": 0.0906,
          "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.4055,
          "delta": 0.4055,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5543,
          "delta": -0.4457,
          "percent_delta": -0.4457,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.208,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.376,
        "predicted_SO": 1.0
      },
      "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_AVG",
          "before": 0.2219,
          "after": 0.208,
          "delta": -0.0139,
          "percent_delta": -0.0626,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4055,
          "after": 0.0,
          "delta": -0.4055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7167,
          "after": 1.0,
          "delta": 0.2833,
          "percent_delta": 0.3953,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.132,
          "after": 0.0,
          "delta": -0.132,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3038,
          "after": 0.297,
          "delta": -0.0068,
          "percent_delta": -0.0224,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5543,
          "after": 1.0,
          "delta": 0.4457,
          "percent_delta": 0.8041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3603,
          "after": 0.376,
          "delta": 0.0157,
          "percent_delta": 0.0436,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0906,
          "after": 1.0,
          "delta": -0.0906,
          "percent_delta": -0.0831,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5543,
          "after": 1.0,
          "delta": 0.4457,
          "percent_delta": 0.8041,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4055,
          "after": 0.0,
          "delta": -0.4055,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.208,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.297,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.376,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "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": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.226,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.313,
        "predicted_R": 2.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 1.0,
        "predicted_TB": 7.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.208,
          "after": 0.226,
          "delta": 0.018,
          "percent_delta": 0.0865,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.297,
          "after": 0.313,
          "delta": 0.016,
          "percent_delta": 0.0539,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.376,
          "after": 0.392,
          "delta": 0.016,
          "percent_delta": 0.0426,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.208,
          "after": 0.226,
          "delta": 0.018,
          "percent_delta": 0.0865,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.185,
        "after": 0.0,
        "delta": -0.185,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.168,
        "after": 3.0,
        "delta": -0.168,
        "percent_delta": -0.053,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.226,
        "delta": -0.024,
        "percent_delta": -0.096,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.328,
        "after": 1.0,
        "delta": 0.672,
        "percent_delta": 2.0488,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.69,
        "after": 2.0,
        "delta": 1.31,
        "percent_delta": 1.8986,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 1.0,
        "delta": 0.91,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.303,
        "after": 2.0,
        "delta": 1.697,
        "percent_delta": 5.6007,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 2.0,
        "delta": 1.49,
        "percent_delta": 2.9216,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.383,
        "after": 0.392,
        "delta": 0.009,
        "percent_delta": 0.0235,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.824,
        "after": 1.0,
        "delta": 0.176,
        "percent_delta": 0.2136,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 8,
      "deboosted_metrics": 3,
      "better_metrics": 7,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_R",
        "before": 0.303,
        "after": 2.0,
        "delta": 1.697,
        "percent_delta": 5.6007,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_2B",
        "before": 0.185,
        "after": 0.0,
        "delta": -0.185,
        "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.185-
predicted_3B0.000-
predicted_AB3.168-
predicted_AVG0.250-
predicted_BB0.328-
predicted_H0.690-
predicted_HR0.090-
predicted_OBP0.315-
predicted_R0.303-
predicted_RBI0.510-
predicted_SLG0.383-
predicted_SO0.824-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.179-0.006
predicted_3B0.0000.000
predicted_AB3.159-0.009
predicted_AVG0.241-0.009
predicted_BB0.3730.045
predicted_H0.7040.014
predicted_HBP0.031-
predicted_HR0.087-0.003
predicted_OBP0.315-0.000
predicted_R0.282-0.021
predicted_RBI0.5550.045
predicted_SLG0.374-0.009
predicted_SO0.762-0.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.1790.000
predicted_3B0.0000.000
predicted_AB3.1590.000
predicted_AVG0.222-0.019
predicted_BB0.372-0.001
predicted_H0.701-0.003
predicted_HBP0.0310.000
predicted_HR0.086-0.001
predicted_OBP0.304-0.011
predicted_R0.280-0.002
predicted_RBI0.552-0.004
predicted_SLG0.360-0.014
predicted_SO0.7640.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.17), rates preserved: AVG=0.188 HR/AB=0.027

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.1620.162
3B0.0090.009
BB0.4060.406
H0.717-0.283
HR0.1320.132
RBI0.554-0.446
SO1.0910.091
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.162
3B0.000-0.009
AB3.0000.000
AVG0.208-
BB0.000-0.406
H1.0000.283
HR0.000-0.132
OBP0.297-
R0.0000.000
RBI1.0000.446
SLG0.376-
SO1.000-0.091
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.179
predicted_3B0.000-0.000
predicted_AB3.000-0.159
predicted_AVG0.208-0.014
predicted_BB0.000-0.372
predicted_H1.0000.299
predicted_HR0.000-0.086
predicted_OBP0.297-0.007
predicted_R0.000-0.280
predicted_RBI1.0000.448
predicted_SLG0.3760.016
predicted_SO1.0000.236
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB3.0000.000
BB1.0001.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R2.0002.000
RBI2.0001.000
SF0.0000.000
SO1.0000.000
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0000.000
AB3.0000.000
BB1.0000.000
H2.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R2.0000.000
RBI2.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-15.0003.0001.0000.0000.0005.0001.0004.0002.0000.20000.33330.26670.20000.00000.33330.26670.1333
last_100.2010-30.0006.0001.0000.0000.0005.0001.0004.0005.0000.20000.29730.23330.20000.00000.16670.13330.1667
season0.60119-377.00093.00022.0000.00016.00063.00036.00039.00098.0000.24670.31530.43240.24670.04240.16710.10350.2600
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1710
predicted_3B0.0010
predicted_AB3.1470
predicted_AVG0.2293
predicted_BB0.4320
predicted_H0.7220
predicted_HBP0.0310
predicted_HR0.0820
predicted_OBP0.3146
predicted_R0.2540
predicted_RBI0.6150
predicted_SLG0.3626
predicted_SO0.6810
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18500.17100.1790model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.16803.14703.1590model_form_blend
predicted_AVG0.25000.22930.2411model_form_blend
predicted_BB0.32800.43200.3728model_form_blend
predicted_H0.69000.72200.7038model_form_blend
predicted_HBP-0.03100.0310form_only
predicted_HR0.09000.08200.0866model_form_blend
predicted_OBP0.31500.31460.3148model_form_blend
predicted_R0.30300.25400.2819model_form_blend
predicted_RBI0.51000.61500.5552model_form_blend
predicted_SLG0.38300.36260.3742model_form_blend
predicted_SO0.82400.68100.7624model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest 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_BB3
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261007_CLE@CHW
game_typefull
mlbID663993
playerID663993
playerNameNathaniel Lowe
pos1B
startedTrue
startingPosition1B
teamCLE
teamID8
game_date2026-10-07
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 20261008: 399
All-history rows before 20261008: 399
System season_avg: 0.2470
Data season_avg (2026 season-to-date): 0.2596
Diff (system - data): -0.0126
System opponent_avg: 0.1670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2180.0000.000Hitting_2B0.2380.000-0.2380.000
predicted_3B0.0180.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB4.2903.0003.000Hitting_AB3.8424.000-0.842-1.000
predicted_AVG0.1680.3330.333Hitting_AVG0.2600.0000.0740.333
predicted_BB0.1181.0001.000Hitting_BB0.1330.0000.8671.000
predicted_CS-0.0000.000BaseRunning_CS0.0330.000-0.0330.000
predicted_H0.7201.0001.000Hitting_H0.9970.0000.0031.000
predicted_HR0.1101.0001.000Hitting_HR0.1700.0000.8301.000
predicted_OBP0.2130.5000.500Hitting_OBP0.2980.0000.2020.500
predicted_R0.4451.0001.000Hitting_R0.4960.0000.5041.000
predicted_RBI0.4502.0002.000Hitting_RBI0.6040.0001.3962.000
predicted_SLG0.3461.3331.333Hitting_SLG0.4620.0000.8711.333
predicted_SO0.8910.0000.000Hitting_SO0.9223.000-0.922-3.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.4500 -> 2.0000 (boost 1.5500, better)
Biggest Deboostpredicted_AB: 4.2900 -> 3.0000 (deboost -1.2900, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42213predicted_SO: 0.8910 -> 0.9836 (boost 0.0926, worse)predicted_AB: 4.2900 -> 4.0497 (deboost -0.2403, worse)Final model input calibrated 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.3414 -> 0.3148 (deboost -0.0266, 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.7045 -> 1.0000 (boost 0.2955, better)predicted_RBI: 0.4467 -> 0.0000 (deboost -0.4467, worse)AB rounded to 4 (raw=4.29), rates preserved: AVG=0.140 HR/AB=0.027
6consistency_constraints10101-predicted_R: 0.3913 -> 0.0000 (deboost -0.3913, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5570 (boost 0.5570, better)predicted_H: 1.0000 -> 0.7769 (deboost -0.2231, 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_allocation107382predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.2439 -> 0.0000 (deboost -0.2439, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization42231predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "682657",
  "player_name": "Angel Martínez",
  "position": "LF",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.218,
        "predicted_3B": 0.018,
        "predicted_AB": 4.29,
        "predicted_AVG": 0.168,
        "predicted_BB": 0.118,
        "predicted_H": 0.72,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.213,
        "predicted_R": 0.445,
        "predicted_RBI": 0.45,
        "predicted_SLG": 0.346,
        "predicted_SO": 0.891
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1991,
        "predicted_3B": 0.015,
        "predicted_AB": 4.0497,
        "predicted_AVG": 0.1754,
        "predicted_BB": 0.112,
        "predicted_H": 0.7075,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1147,
        "predicted_OBP": 0.2128,
        "predicted_R": 0.3938,
        "predicted_RBI": 0.4496,
        "predicted_SLG": 0.3414,
        "predicted_SO": 0.9836
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.29,
          "after": 4.0497,
          "delta": -0.2403,
          "percent_delta": -0.056,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.168,
          "after": 0.1754,
          "delta": 0.0074,
          "percent_delta": 0.044,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.445,
          "after": 0.3938,
          "delta": -0.0512,
          "percent_delta": -0.1151,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.891,
          "after": 0.9836,
          "delta": 0.0926,
          "percent_delta": 0.1039,
          "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.891,
          "after": 0.9836,
          "delta": 0.0926,
          "percent_delta": 0.1039,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.29,
          "after": 4.0497,
          "delta": -0.2403,
          "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": 110
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1991,
        "predicted_3B": 0.015,
        "predicted_AB": 4.0497,
        "predicted_AVG": 0.174,
        "predicted_BB": 0.1117,
        "predicted_H": 0.7045,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1137,
        "predicted_OBP": 0.1961,
        "predicted_R": 0.3913,
        "predicted_RBI": 0.4467,
        "predicted_SLG": 0.3148,
        "predicted_SO": 0.9861
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2128,
          "after": 0.1961,
          "delta": -0.0167,
          "percent_delta": -0.0785,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3414,
          "after": 0.3148,
          "delta": -0.0266,
          "percent_delta": -0.0779,
          "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_SLG",
          "before": 0.3414,
          "after": 0.3148,
          "delta": -0.0266,
          "percent_delta": -0.0779,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.29), rates preserved: AVG=0.140 HR/AB=0.027",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1991,
          "after": 0.0,
          "delta": -0.1991,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1117,
          "after": 0.0,
          "delta": -0.1117,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7045,
          "after": 1.0,
          "delta": 0.2955,
          "percent_delta": 0.4194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1137,
          "after": 0.0,
          "delta": -0.1137,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4467,
          "after": 0.0,
          "delta": -0.4467,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7045,
          "after": 1.0,
          "delta": 0.2955,
          "percent_delta": 0.4194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4467,
          "after": 0.0,
          "delta": -0.4467,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_R",
          "before": 0.3913,
          "after": 0.0,
          "delta": -0.3913,
          "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_R",
          "before": 0.3913,
          "after": 0.0,
          "delta": -0.3913,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1986,
        "predicted_3B": 0.0147,
        "predicted_BB": 0.2439,
        "predicted_H": 0.7769,
        "predicted_HR": 0.1625,
        "predicted_RBI": 0.557,
        "predicted_SO": 1.1057
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1986,
          "delta": 0.1986,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2439,
          "delta": 0.2439,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7769,
          "delta": -0.2231,
          "percent_delta": -0.2231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1625,
          "delta": 0.1625,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.557,
          "delta": 0.557,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.1057,
          "delta": 0.1057,
          "percent_delta": 0.1057,
          "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.557,
          "delta": 0.557,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7769,
          "delta": -0.2231,
          "percent_delta": -0.2231,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.265,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.404,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1986,
          "after": 0.0,
          "delta": -0.1986,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.174,
          "after": 0.21,
          "delta": 0.036,
          "percent_delta": 0.2069,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2439,
          "after": 0.0,
          "delta": -0.2439,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7769,
          "after": 1.0,
          "delta": 0.2231,
          "percent_delta": 0.2872,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1625,
          "after": 1.0,
          "delta": 0.8375,
          "percent_delta": 5.1538,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1961,
          "after": 0.265,
          "delta": 0.0689,
          "percent_delta": 0.3514,
          "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.557,
          "after": 1.0,
          "delta": 0.443,
          "percent_delta": 0.7953,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3148,
          "after": 0.404,
          "delta": 0.0892,
          "percent_delta": 0.2834,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.1057,
          "after": 1.0,
          "delta": -0.1057,
          "percent_delta": -0.0956,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 10,
        "boosted_metrics": 7,
        "deboosted_metrics": 3,
        "better_metrics": 8,
        "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.2439,
          "after": 0.0,
          "delta": -0.2439,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.265,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.404,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Market blend not applied: no props for this hitter",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "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_RBI",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.21,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.265,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.404,
        "predicted_SO": 0.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.218,
        "after": 0.0,
        "delta": -0.218,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.29,
        "after": 3.0,
        "delta": -1.29,
        "percent_delta": -0.3007,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.168,
        "after": 0.21,
        "delta": 0.042,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.118,
        "after": 1.0,
        "delta": 0.882,
        "percent_delta": 7.4746,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.72,
        "after": 1.0,
        "delta": 0.28,
        "percent_delta": 0.3889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 1.0,
        "delta": 0.89,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.213,
        "after": 0.265,
        "delta": 0.052,
        "percent_delta": 0.2441,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.445,
        "after": 1.0,
        "delta": 0.555,
        "percent_delta": 1.2472,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.45,
        "after": 2.0,
        "delta": 1.55,
        "percent_delta": 3.4444,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.346,
        "after": 0.404,
        "delta": 0.058,
        "percent_delta": 0.1676,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.891,
        "after": 0.0,
        "delta": -0.891,
        "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.45,
        "after": 2.0,
        "delta": 1.55,
        "percent_delta": 3.4444,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.29,
        "after": 3.0,
        "delta": -1.29,
        "percent_delta": -0.3007,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.218-
predicted_3B0.018-
predicted_AB4.290-
predicted_AVG0.168-
predicted_BB0.118-
predicted_H0.720-
predicted_HR0.110-
predicted_OBP0.213-
predicted_R0.445-
predicted_RBI0.450-
predicted_SLG0.346-
predicted_SO0.891-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.199-0.019
predicted_3B0.015-0.003
predicted_AB4.050-0.240
predicted_AVG0.1750.007
predicted_BB0.112-0.006
predicted_H0.708-0.012
predicted_HBP0.039-
predicted_HR0.1150.005
predicted_OBP0.213-0.000
predicted_R0.394-0.051
predicted_RBI0.450-0.000
predicted_SLG0.341-0.005
predicted_SO0.9840.093
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1990.000
predicted_3B0.0150.000
predicted_AB4.0500.000
predicted_AVG0.174-0.001
predicted_BB0.112-0.000
predicted_H0.705-0.003
predicted_HBP0.0390.000
predicted_HR0.114-0.001
predicted_OBP0.196-0.017
predicted_R0.391-0.003
predicted_RBI0.447-0.003
predicted_SLG0.315-0.027
predicted_SO0.9860.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.29), rates preserved: AVG=0.140 HR/AB=0.027

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
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.1990.199
3B0.0150.015
BB0.2440.244
H0.777-0.223
HR0.1630.163
RBI0.5570.557
SO1.1060.106
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.199
3B0.000-0.015
AB4.0000.000
AVG0.210-
BB0.000-0.244
H1.0000.223
HR1.0000.838
OBP0.265-
R1.0001.000
RBI1.0000.443
SLG0.404-
SO1.000-0.106
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.199
predicted_3B0.000-0.015
predicted_AB4.000-0.050
predicted_AVG0.2100.036
predicted_BB0.000-0.112
predicted_H1.0000.295
predicted_HR1.0000.886
predicted_OBP0.2650.069
predicted_R1.0000.609
predicted_RBI1.0000.553
predicted_SLG0.4040.089
predicted_SO1.0000.014
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Market blend not applied: no props for this hitter

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.000-
R1.0000.000
RBI2.0001.000
SF0.0000.000
SO0.000-1.000
13. 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
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R1.0000.000
RBI2.0000.000
SF0.0000.000
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 110
Reference playing time: 4.290
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0000.0000.0000.0000.0000.0000.0000.0009.0000.00000.00000.00000.00000.00000.00000.00000.4500
last_100.2010-37.0006.0002.0000.0001.0005.0002.0001.00012.0000.16220.18420.29730.16220.02700.13510.02700.3243
season0.60110-401.00099.00024.0002.00018.00062.00049.00013.00098.0000.24690.28200.45140.24690.04490.15460.03240.2444
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1740
predicted_3B0.0110
predicted_AB3.7320
predicted_AVG0.1851
predicted_BB0.1040
predicted_H0.6910
predicted_HBP0.0390
predicted_HR0.1210
predicted_OBP0.2126
predicted_R0.3260
predicted_RBI0.4490
predicted_SLG0.3354
predicted_SO1.1060
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.21800.17400.1991model_form_blend
predicted_3B0.01800.01100.0150model_form_blend
predicted_AB4.29003.73204.0497model_form_blend
predicted_AVG0.16800.18510.1754model_form_blend
predicted_BB0.11800.10400.1120model_form_blend
predicted_H0.72000.69100.7075model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.11000.12100.1147model_form_blend
predicted_OBP0.21300.21260.2128model_form_blend
predicted_R0.44500.32600.3938model_form_blend
predicted_RBI0.45000.44900.4496model_form_blend
predicted_SLG0.34600.33540.3414model_form_blend
predicted_SO0.89101.10600.9836model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR1
R1
RBI2
BB1
SO0
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO3
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261007_CLE@CHW
game_typefull
mlbID682657
playerID682657
playerNameAngel Martínez
posLF
startedTrue
startingPositionLF
teamCLE
teamID8
game_date2026-10-07
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
Travis Bazzana (683953) · BATTER · 2B · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 492
All-history rows before 20261008: 492
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2490
Diff (system - data): -0.0110
System opponent_avg: 0.1960

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1770.0000.000Hitting_2B0.1770.000-0.1770.000
predicted_3B0.0160.0000.000Hitting_3B0.0100.000-0.0100.000
predicted_AB3.6214.0004.000Hitting_AB3.7052.0000.2952.000
predicted_AVG0.2100.0000.000Hitting_AVG0.2490.000-0.2490.000
predicted_BB0.4600.0000.000Hitting_BB0.5062.000-0.506-2.000
predicted_CS-0.0000.000BaseRunning_CS0.0450.000-0.0450.000
predicted_H0.7400.0000.000Hitting_H0.9230.000-0.9230.000
predicted_HR0.0800.0000.000Hitting_HR0.1260.000-0.1260.000
predicted_OBP0.3210.0000.000Hitting_OBP0.3440.500-0.344-0.500
predicted_R0.4520.0000.000Hitting_R0.4702.000-0.470-2.000
predicted_RBI0.2901.0001.000Hitting_RBI0.5200.0000.4801.000
predicted_SB-0.0000.000BaseRunning_SB0.1710.000-0.1710.000
predicted_SLG0.3810.0000.000Hitting_SLG0.4040.000-0.4040.000
predicted_SO0.8631.0001.000Hitting_SO0.8980.0000.1021.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics3
Worse Metrics8
Biggest Boostpredicted_RBI: 0.2900 -> 1.0000 (boost 0.7100, better)
Biggest Deboostpredicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_AVG: 0.2100 -> 0.2172 (boost 0.0072, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.3880 -> 0.3566 (deboost -0.0314, 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_BB: 0.4614 -> 1.0000 (boost 0.5386, better)predicted_AB: 3.5889 -> 3.0000 (deboost -0.5889, worse)AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 HR/AB=0.021
6consistency_constraints10101-predicted_R: 0.4841 -> 0.0000 (deboost -0.4841, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_RBI: 0.0000 -> 0.4356 (boost 0.4356, better)predicted_BB: 1.0000 -> 0.4670 (deboost -0.5330, 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_allocation73434predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.4356 -> 0.0000 (deboost -0.4356, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization52323predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final33030predicted_AVG: 0.2030 -> 0.2160 (boost 0.0130, better)-Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "683953",
  "player_name": "Travis Bazzana",
  "position": "2B",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.177,
        "predicted_3B": 0.016,
        "predicted_AB": 3.621,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.46,
        "predicted_H": 0.74,
        "predicted_HR": 0.08,
        "predicted_OBP": 0.321,
        "predicted_R": 0.452,
        "predicted_RBI": 0.29,
        "predicted_SLG": 0.381,
        "predicted_SO": 0.863
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2069,
        "predicted_3B": 0.039,
        "predicted_AB": 3.5889,
        "predicted_AVG": 0.2172,
        "predicted_BB": 0.4626,
        "predicted_H": 0.7678,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.0774,
        "predicted_OBP": 0.3205,
        "predicted_R": 0.4872,
        "predicted_RBI": 0.2818,
        "predicted_SLG": 0.388,
        "predicted_SO": 0.8608
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.2172,
          "delta": 0.0072,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.381,
          "after": 0.388,
          "delta": 0.007,
          "percent_delta": 0.0184,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.2172,
          "delta": 0.0072,
          "percent_delta": 0.0343,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 124
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2069,
        "predicted_3B": 0.039,
        "predicted_AB": 3.5889,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.4614,
        "predicted_H": 0.7646,
        "predicted_HBP": 0.033,
        "predicted_HR": 0.0767,
        "predicted_OBP": 0.3027,
        "predicted_R": 0.4841,
        "predicted_RBI": 0.28,
        "predicted_SLG": 0.3566,
        "predicted_SO": 0.863
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3205,
          "after": 0.3027,
          "delta": -0.0178,
          "percent_delta": -0.0555,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.388,
          "after": 0.3566,
          "delta": -0.0314,
          "percent_delta": -0.0809,
          "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_SLG",
          "before": 0.388,
          "after": 0.3566,
          "delta": -0.0314,
          "percent_delta": -0.0809,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.62), rates preserved: AVG=0.180 HR/AB=0.021",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2069,
          "after": 0.0,
          "delta": -0.2069,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5889,
          "after": 3.0,
          "delta": -0.5889,
          "percent_delta": -0.1641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4614,
          "after": 1.0,
          "delta": 0.5386,
          "percent_delta": 1.1673,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7646,
          "after": 1.0,
          "delta": 0.2354,
          "percent_delta": 0.3079,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0767,
          "after": 0.0,
          "delta": -0.0767,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.28,
          "after": 0.0,
          "delta": -0.28,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.863,
          "after": 1.0,
          "delta": 0.137,
          "percent_delta": 0.1587,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4614,
          "after": 1.0,
          "delta": 0.5386,
          "percent_delta": 1.1673,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5889,
          "after": 3.0,
          "delta": -0.5889,
          "percent_delta": -0.1641,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.4841,
          "after": 0.0,
          "delta": -0.4841,
          "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_R",
          "before": 0.4841,
          "after": 0.0,
          "delta": -0.4841,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1506,
        "predicted_3B": 0.014,
        "predicted_BB": 0.467,
        "predicted_H": 0.69,
        "predicted_HR": 0.1101,
        "predicted_RBI": 0.4356,
        "predicted_SO": 0.9771
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1506,
          "delta": 0.1506,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.467,
          "delta": -0.533,
          "percent_delta": -0.533,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.69,
          "delta": -0.31,
          "percent_delta": -0.31,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1101,
          "delta": 0.1101,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4356,
          "delta": 0.4356,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "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.4356,
          "delta": 0.4356,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.467,
          "delta": -0.533,
          "percent_delta": -0.533,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.203,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1506,
          "after": 0.0,
          "delta": -0.1506,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.213,
          "after": 0.203,
          "delta": -0.01,
          "percent_delta": -0.0469,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.467,
          "after": 1.0,
          "delta": 0.533,
          "percent_delta": 1.1413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.69,
          "after": 1.0,
          "delta": 0.31,
          "percent_delta": 0.4493,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1101,
          "after": 0.0,
          "delta": -0.1101,
          "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.4356,
          "after": 0.0,
          "delta": -0.4356,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4356,
          "after": 0.0,
          "delta": -0.4356,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.203,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.352,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "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_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.216,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.309,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.363,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.216,
          "delta": 0.013,
          "percent_delta": 0.064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.309,
          "delta": 0.005,
          "percent_delta": 0.0164,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.352,
          "after": 0.363,
          "delta": 0.011,
          "percent_delta": 0.0313,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.203,
          "after": 0.216,
          "delta": 0.013,
          "percent_delta": 0.064,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.177,
        "after": 0.0,
        "delta": -0.177,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.621,
        "after": 4.0,
        "delta": 0.379,
        "percent_delta": 0.1047,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.21,
        "after": 0.216,
        "delta": 0.006,
        "percent_delta": 0.0286,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.46,
        "after": 0.0,
        "delta": -0.46,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 0.0,
        "delta": -0.74,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.08,
        "after": 0.0,
        "delta": -0.08,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.321,
        "after": 0.309,
        "delta": -0.012,
        "percent_delta": -0.0374,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.452,
        "after": 0.0,
        "delta": -0.452,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "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.381,
        "after": 0.363,
        "delta": -0.018,
        "percent_delta": -0.0472,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.863,
        "after": 1.0,
        "delta": 0.137,
        "percent_delta": 0.1587,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 3,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.29,
        "after": 1.0,
        "delta": 0.71,
        "percent_delta": 2.4483,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.74,
        "after": 0.0,
        "delta": -0.74,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.177-
predicted_3B0.016-
predicted_AB3.621-
predicted_AVG0.210-
predicted_BB0.460-
predicted_H0.740-
predicted_HR0.080-
predicted_OBP0.321-
predicted_R0.452-
predicted_RBI0.290-
predicted_SLG0.381-
predicted_SO0.863-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2070.030
predicted_3B0.0390.023
predicted_AB3.589-0.032
predicted_AVG0.2170.007
predicted_BB0.4630.003
predicted_H0.7680.028
predicted_HBP0.033-
predicted_HR0.077-0.003
predicted_OBP0.321-0.001
predicted_R0.4870.035
predicted_RBI0.282-0.008
predicted_SLG0.3880.007
predicted_SO0.861-0.002
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2070.000
predicted_3B0.0390.000
predicted_AB3.5890.000
predicted_AVG0.213-0.004
predicted_BB0.461-0.001
predicted_H0.765-0.003
predicted_HBP0.0330.000
predicted_HR0.077-0.001
predicted_OBP0.303-0.018
predicted_R0.484-0.003
predicted_RBI0.280-0.002
predicted_SLG0.357-0.031
predicted_SO0.8630.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.62), rates preserved: AVG=0.180 HR/AB=0.021

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.0140.014
BB0.467-0.533
H0.690-0.310
HR0.1100.110
RBI0.4360.436
SO0.977-0.023
8. 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.014
AB3.0000.000
AVG0.203-
BB1.0000.533
H1.0000.310
HR0.000-0.110
OBP0.304-
R1.0001.000
RBI0.000-0.436
SLG0.352-
SO1.0000.023
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.207
predicted_3B0.000-0.039
predicted_AB3.000-0.589
predicted_AVG0.203-0.010
predicted_BB1.0000.539
predicted_H1.0000.235
predicted_HR0.000-0.077
predicted_OBP0.3040.001
predicted_R1.0000.516
predicted_RBI0.000-0.280
predicted_SLG0.352-0.005
predicted_SO1.0000.137
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.000-1.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI1.0001.000
SF0.0000.000
SO1.0000.000
13. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 124
Reference playing time: 3.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.0004.0002.0001.0000.0000.0004.0003.0003.0000.23530.35000.47060.23530.00000.00000.17650.1765
last_100.2010-34.0006.0003.0001.0000.0000.0005.0004.00011.0000.17650.26320.32350.17650.00000.00000.11770.3235
season0.60124-449.000107.00022.0002.00015.00055.00056.00057.000107.0000.23830.33010.39640.23830.03340.12250.12700.2383
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2460
predicted_3B0.0690
predicted_AB3.5470
predicted_AVG0.2266
predicted_BB0.4660
predicted_H0.8040
predicted_HBP0.0330
predicted_HR0.0740
predicted_OBP0.3199
predicted_R0.5330
predicted_RBI0.2710
predicted_SLG0.3972
predicted_SO0.8580
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17700.24600.2069model_form_blend
predicted_3B0.01600.06900.0390model_form_blend
predicted_AB3.62103.54703.5889model_form_blend
predicted_AVG0.21000.22660.2172model_form_blend
predicted_BB0.46000.46600.4626model_form_blend
predicted_H0.74000.80400.7678model_form_blend
predicted_HBP-0.03300.0330form_only
predicted_HR0.08000.07400.0774model_form_blend
predicted_OBP0.32100.31990.3205model_form_blend
predicted_R0.45200.53300.4872model_form_blend
predicted_RBI0.29000.27100.2818model_form_blend
predicted_SLG0.38100.39720.3880model_form_blend
predicted_SO0.86300.85800.8608model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI1
BB0
SO1
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest 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_R2
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261007_CLE@CHW
game_typefull
mlbID683953
playerID683953
playerNameTravis Bazzana
pos2B
startedTrue
startingPosition2B
teamCLE
teamID8
game_date2026-10-07
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
Austin Hedges (595978) · BATTER · C · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 246
All-history rows before 20261008: 246
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2648
Diff (system - data): -0.0198
System opponent_avg: 0.3000
System season_avg diverges from 2026 season-to-date by -0.0198. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1330.0000.000Hitting_2B0.1540.000-0.1540.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8803.0003.000Hitting_AB2.9471.0000.0532.000
predicted_AVG0.2150.0000.000Hitting_AVG0.2650.000-0.2650.000
predicted_BB0.3471.0001.000Hitting_BB0.3621.0000.6380.000
predicted_CS-0.0000.000BaseRunning_CS0.0160.000-0.0160.000
predicted_H0.4800.0000.000Hitting_H0.7800.000-0.7800.000
predicted_HR0.0700.0000.000Hitting_HR0.0890.000-0.0890.000
predicted_OBP0.3210.2500.250Hitting_OBP0.3450.500-0.095-0.250
predicted_R0.3330.0000.000Hitting_R0.3700.000-0.3700.000
predicted_RBI0.3000.0000.000Hitting_RBI0.3820.000-0.3820.000
predicted_SLG0.3600.0000.000Hitting_SLG0.4080.000-0.4080.000
predicted_SO0.6131.0001.000Hitting_SO0.6061.0000.3940.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_BB: 0.3470 -> 1.0000 (boost 0.6530, better)
Biggest Deboostpredicted_H: 0.4800 -> 0.0000 (deboost -0.4800, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend44040predicted_BB: 0.3470 -> 0.4114 (boost 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.3766 -> 0.3320 (deboost -0.0446, 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_BB: 0.4104 -> 1.0000 (boost 0.5896, better)predicted_H: 0.5421 -> 0.0000 (deboost -0.5421, worse)AB rounded to 3 (raw=2.89), rates preserved: AVG=0.160 HR/AB=0.030
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3737 -> 0.0000 (deboost -0.3737, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_RBI: 0.0000 -> 0.3652 (boost 0.3652, better)predicted_BB: 1.0000 -> 0.4607 (deboost -0.5393, 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_allocation94536predicted_SO: 0.7668 -> 1.0000 (boost 0.2332, worse)predicted_H: 0.6206 -> 0.0000 (deboost -0.6206, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Market blend not applied: no props for this hitter
12play_by_play_realization11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "595978",
  "player_name": "Austin Hedges",
  "position": "C",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.133,
        "predicted_3B": 0.0,
        "predicted_AB": 2.88,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.347,
        "predicted_H": 0.48,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.321,
        "predicted_R": 0.333,
        "predicted_RBI": 0.3,
        "predicted_SLG": 0.36,
        "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
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1543,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8879,
        "predicted_AVG": 0.2165,
        "predicted_BB": 0.4114,
        "predicted_H": 0.5444,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.088,
        "predicted_OBP": 0.3263,
        "predicted_R": 0.3761,
        "predicted_RBI": 0.3155,
        "predicted_SLG": 0.3766,
        "predicted_SO": 0.6385
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.347,
          "after": 0.4114,
          "delta": 0.0644,
          "percent_delta": 0.1856,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.48,
          "after": 0.5444,
          "delta": 0.0644,
          "percent_delta": 0.1342,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.321,
          "after": 0.3263,
          "delta": 0.0053,
          "percent_delta": 0.0165,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.36,
          "after": 0.3766,
          "delta": 0.0166,
          "percent_delta": 0.0461,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.347,
          "after": 0.4114,
          "delta": 0.0644,
          "percent_delta": 0.1856,
          "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": 75
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1543,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.8879,
        "predicted_AVG": 0.1877,
        "predicted_BB": 0.4104,
        "predicted_H": 0.5421,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.0872,
        "predicted_OBP": 0.2888,
        "predicted_R": 0.3737,
        "predicted_RBI": 0.3135,
        "predicted_SLG": 0.332,
        "predicted_SO": 0.6401
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2165,
          "after": 0.1877,
          "delta": -0.0288,
          "percent_delta": -0.133,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3263,
          "after": 0.2888,
          "delta": -0.0375,
          "percent_delta": -0.1149,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3766,
          "after": 0.332,
          "delta": -0.0446,
          "percent_delta": -0.1184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.3766,
          "after": 0.332,
          "delta": -0.0446,
          "percent_delta": -0.1184,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.89), rates preserved: AVG=0.160 HR/AB=0.030",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1543,
          "after": 0.0,
          "delta": -0.1543,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.8879,
          "after": 3.0,
          "delta": 0.1121,
          "percent_delta": 0.0388,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4104,
          "after": 1.0,
          "delta": 0.5896,
          "percent_delta": 1.4366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5421,
          "after": 0.0,
          "delta": -0.5421,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0872,
          "after": 0.0,
          "delta": -0.0872,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3135,
          "after": 0.0,
          "delta": -0.3135,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6401,
          "after": 1.0,
          "delta": 0.3599,
          "percent_delta": 0.5623,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4104,
          "after": 1.0,
          "delta": 0.5896,
          "percent_delta": 1.4366,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.5421,
          "after": 0.0,
          "delta": -0.5421,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3737,
          "after": 0.0,
          "delta": -0.3737,
          "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.3737,
          "after": 0.0,
          "delta": -0.3737,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1474,
        "predicted_3B": 0.0088,
        "predicted_BB": 0.4607,
        "predicted_H": 0.6206,
        "predicted_HR": 0.0973,
        "predicted_RBI": 0.3652,
        "predicted_SO": 0.7668
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1474,
          "delta": 0.1474,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4607,
          "delta": -0.5393,
          "percent_delta": -0.5393,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6206,
          "delta": -0.3794,
          "percent_delta": -0.3794,
          "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.3652,
          "delta": 0.3652,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7668,
          "delta": -0.2332,
          "percent_delta": -0.2332,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3652,
          "delta": 0.3652,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4607,
          "delta": -0.5393,
          "percent_delta": -0.5393,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.203,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.353,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1474,
          "after": 0.0,
          "delta": -0.1474,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1877,
          "after": 0.203,
          "delta": 0.0153,
          "percent_delta": 0.0815,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4607,
          "after": 0.0,
          "delta": -0.4607,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6206,
          "after": 0.0,
          "delta": -0.6206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "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_OBP",
          "before": 0.2888,
          "after": 0.313,
          "delta": 0.0242,
          "percent_delta": 0.0838,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3652,
          "after": 0.0,
          "delta": -0.3652,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.332,
          "after": 0.353,
          "delta": 0.021,
          "percent_delta": 0.0633,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7668,
          "after": 1.0,
          "delta": 0.2332,
          "percent_delta": 0.3041,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 4,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7668,
          "after": 1.0,
          "delta": 0.2332,
          "percent_delta": 0.3041,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6206,
          "after": 0.0,
          "delta": -0.6206,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.203,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.353,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Market blend not applied: no props for this hitter",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.203,
        "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.313,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.353,
        "predicted_SO": 1.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "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_AB",
        "before": 2.88,
        "after": 3.0,
        "delta": 0.12,
        "percent_delta": 0.0417,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.215,
        "after": 0.203,
        "delta": -0.012,
        "percent_delta": -0.0558,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.347,
        "after": 1.0,
        "delta": 0.653,
        "percent_delta": 1.8818,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "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.321,
        "after": 0.313,
        "delta": -0.008,
        "percent_delta": -0.0249,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.333,
        "after": 0.0,
        "delta": -0.333,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.3,
        "after": 0.0,
        "delta": -0.3,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.36,
        "after": 0.353,
        "delta": -0.007,
        "percent_delta": -0.0194,
        "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": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.347,
        "after": 1.0,
        "delta": 0.653,
        "percent_delta": 1.8818,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.48,
        "after": 0.0,
        "delta": -0.48,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.133-
predicted_3B0.000-
predicted_AB2.880-
predicted_AVG0.215-
predicted_BB0.347-
predicted_H0.480-
predicted_HR0.070-
predicted_OBP0.321-
predicted_R0.333-
predicted_RBI0.300-
predicted_SLG0.360-
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.1540.021
predicted_3B0.0000.000
predicted_AB2.8880.008
predicted_AVG0.2160.002
predicted_BB0.4110.064
predicted_H0.5440.064
predicted_HBP0.010-
predicted_HR0.0880.018
predicted_OBP0.3260.005
predicted_R0.3760.043
predicted_RBI0.3160.016
predicted_SLG0.3770.017
predicted_SO0.6380.025
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1540.000
predicted_3B0.0000.000
predicted_AB2.8880.000
predicted_AVG0.188-0.029
predicted_BB0.410-0.001
predicted_H0.542-0.002
predicted_HBP0.0100.000
predicted_HR0.087-0.001
predicted_OBP0.289-0.037
predicted_R0.374-0.002
predicted_RBI0.314-0.002
predicted_SLG0.332-0.045
predicted_SO0.6400.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.89), rates preserved: AVG=0.160 HR/AB=0.030

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0000.000
CS0.000-
H1.0001.000
HBP0.0000.000
HR0.0000.000
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO1.0000.000
7. 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.0090.009
BB0.461-0.539
H0.621-0.379
HR0.0970.097
RBI0.3650.365
SO0.767-0.233
8. 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.009
AB3.0000.000
AVG0.203-
BB0.000-0.461
H0.000-0.621
HR0.000-0.097
OBP0.313-
R0.0000.000
RBI0.000-0.365
SLG0.353-
SO1.0000.233
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.154
predicted_3B0.000-0.000
predicted_AB3.0000.112
predicted_AVG0.2030.015
predicted_BB0.000-0.410
predicted_H0.000-0.542
predicted_HR0.000-0.087
predicted_OBP0.3130.024
predicted_R0.000-0.374
predicted_RBI0.000-0.314
predicted_SLG0.3530.021
predicted_SO1.0000.360
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Market blend not applied: no props for this hitter

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000
13. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.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: 75
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.0002.0001.0000.0001.0002.0003.0004.0004.0000.15380.35290.46150.15380.07690.15380.30770.3077
last_100.2010-27.0005.0003.0000.0001.0002.0005.0007.0006.0000.18520.35290.40740.18520.03700.07410.25930.2222
season0.6075-216.00053.00010.0000.0006.00025.00025.00026.00046.0000.24540.32650.37500.24540.02780.11570.12040.2130
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1840
predicted_3B0.0010
predicted_AB2.8990
predicted_AVG0.2186
predicted_BB0.5010
predicted_H0.6340
predicted_HBP0.0100
predicted_HR0.1130
predicted_OBP0.3336
predicted_R0.4360
predicted_RBI0.3370
predicted_SLG0.3997
predicted_SO0.6740
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.13300.18400.1543model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.88002.89902.8879model_form_blend
predicted_AVG0.21500.21860.2165model_form_blend
predicted_BB0.34700.50100.4114model_form_blend
predicted_H0.48000.63400.5444model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.07000.11300.0880model_form_blend
predicted_OBP0.32100.33360.3263model_form_blend
predicted_R0.33300.43600.3761model_form_blend
predicted_RBI0.30000.33700.3155model_form_blend
predicted_SLG0.36000.39970.3766model_form_blend
predicted_SO0.61300.67400.6385model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB1
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261003_CHW@CLE
game_typefull
mlbID595978
playerID595978
playerNameAustin Hedges
posC
startedTrue
startingPositionC
teamCLE
teamID8
game_date2026-10-03
sl_k_percent18.2
sl_bb_percent10.1
sl_woba0.313
sl_xwoba0.28
sl_xba0.224
sl_xslg0.314
sl_sweet_spot_percent26.7
sl_barrel_batted_rate4.5
sl_hard_hit_percent32.4
sl_exit_velocity_avg85.8
sl_launch_angle_avg12.4
sl_whiff_percent24.1
sl_swing_percent44.5
Brayan Rocchio (677587) · BATTER · SS · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 571
All-history rows before 20261008: 571
System season_avg: 0.2520
Data season_avg (2026 season-to-date): 0.2504
Diff (system - data): 0.0016
System opponent_avg: 0.1510

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1640.0000.000Hitting_2B0.1650.000-0.1650.000
predicted_3B0.0130.0000.000Hitting_3B0.0120.000-0.0120.000
predicted_AB3.6403.0003.000Hitting_AB3.6024.000-0.602-1.000
predicted_AVG0.2590.0000.000Hitting_AVG0.2500.500-0.250-0.500
predicted_BB0.2431.0001.000Hitting_BB0.2560.0000.7441.000
predicted_CS-0.0000.000BaseRunning_CS0.0350.000-0.0350.000
predicted_H0.9400.0000.000Hitting_H0.9022.000-0.902-2.000
predicted_HR0.1200.0000.000Hitting_HR0.0820.000-0.0820.000
predicted_OBP0.3380.2500.250Hitting_OBP0.3120.500-0.062-0.250
predicted_R0.4210.0000.000Hitting_R0.4360.000-0.4360.000
predicted_RBI0.5300.0000.000Hitting_RBI0.4431.000-0.443-1.000
predicted_SLG0.4450.0000.000Hitting_SLG0.3710.500-0.371-0.500
predicted_SO0.5592.0002.000Hitting_SO0.5800.0001.4202.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.5590 -> 2.0000 (boost 1.4410, worse)
Biggest Deboostpredicted_H: 0.9400 -> 0.0000 (deboost -0.9400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_SLG: 0.4450 -> 0.4665 (boost 0.0215, better)predicted_AB: 3.6400 -> 3.5672 (deboost -0.0728, worse)Final model input calibrated 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.4665 -> 0.4431 (deboost -0.0234, 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.5394 -> 1.0000 (boost 0.4606, worse)predicted_AB: 3.5672 -> 3.0000 (deboost -0.5672, worse)AB rounded to 3 (raw=3.64), rates preserved: AVG=0.224 HR/AB=0.039
6consistency_constraints10101-predicted_R: 0.4668 -> 0.0000 (deboost -0.4668, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4141 (boost 0.4141, better)predicted_SO: 1.0000 -> 0.6334 (deboost -0.3666, 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_allocation91809predicted_SO: 0.6334 -> 1.0000 (boost 0.3666, worse)predicted_H: 0.6725 -> 0.0000 (deboost -0.6725, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization22011predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final33030predicted_OBP: 0.2880 -> 0.3120 (boost 0.0240, better)-Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "677587",
  "player_name": "Brayan Rocchio",
  "position": "SS",
  "team": "CLE",
  "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.013,
        "predicted_AB": 3.64,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.243,
        "predicted_H": 0.94,
        "predicted_HR": 0.12,
        "predicted_OBP": 0.338,
        "predicted_R": 0.421,
        "predicted_RBI": 0.53,
        "predicted_SLG": 0.445,
        "predicted_SO": 0.559
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1788,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.5672,
        "predicted_AVG": 0.2702,
        "predicted_BB": 0.2617,
        "predicted_H": 0.9613,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.1422,
        "predicted_OBP": 0.3411,
        "predicted_R": 0.4698,
        "predicted_RBI": 0.5461,
        "predicted_SLG": 0.4665,
        "predicted_SO": 0.5381
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.64,
          "after": 3.5672,
          "delta": -0.0728,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2702,
          "delta": 0.0112,
          "percent_delta": 0.0432,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.445,
          "after": 0.4665,
          "delta": 0.0215,
          "percent_delta": 0.0483,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.445,
          "after": 0.4665,
          "delta": 0.0215,
          "percent_delta": 0.0483,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.64,
          "after": 3.5672,
          "delta": -0.0728,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 152
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1788,
        "predicted_3B": 0.0108,
        "predicted_AB": 3.5672,
        "predicted_AVG": 0.2684,
        "predicted_BB": 0.261,
        "predicted_H": 0.9573,
        "predicted_HBP": 0.043,
        "predicted_HR": 0.141,
        "predicted_OBP": 0.3182,
        "predicted_R": 0.4668,
        "predicted_RBI": 0.5426,
        "predicted_SLG": 0.4431,
        "predicted_SO": 0.5394
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3411,
          "after": 0.3182,
          "delta": -0.0229,
          "percent_delta": -0.0671,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4665,
          "after": 0.4431,
          "delta": -0.0234,
          "percent_delta": -0.0502,
          "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_SLG",
          "before": 0.4665,
          "after": 0.4431,
          "delta": -0.0234,
          "percent_delta": -0.0502,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.64), rates preserved: AVG=0.224 HR/AB=0.039",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1788,
          "after": 0.0,
          "delta": -0.1788,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5672,
          "after": 3.0,
          "delta": -0.5672,
          "percent_delta": -0.159,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "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.141,
          "after": 0.0,
          "delta": -0.141,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5426,
          "after": 0.0,
          "delta": -0.5426,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5394,
          "after": 1.0,
          "delta": 0.4606,
          "percent_delta": 0.8539,
          "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.5394,
          "after": 1.0,
          "delta": 0.4606,
          "percent_delta": 0.8539,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5672,
          "after": 3.0,
          "delta": -0.5672,
          "percent_delta": -0.159,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_R",
          "before": 0.4668,
          "after": 0.0,
          "delta": -0.4668,
          "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_R",
          "before": 0.4668,
          "after": 0.0,
          "delta": -0.4668,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1578,
        "predicted_3B": 0.0114,
        "predicted_BB": 0.329,
        "predicted_H": 0.6725,
        "predicted_HR": 0.0922,
        "predicted_RBI": 0.4141,
        "predicted_SO": 0.6334
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1578,
          "delta": 0.1578,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.329,
          "delta": 0.329,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6725,
          "delta": -0.3275,
          "percent_delta": -0.3275,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0922,
          "delta": 0.0922,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4141,
          "delta": 0.4141,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6334,
          "delta": -0.3666,
          "percent_delta": -0.3666,
          "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.4141,
          "delta": 0.4141,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.6334,
          "delta": -0.3666,
          "percent_delta": -0.3666,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.209,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.288,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.351,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1578,
          "after": 0.0,
          "delta": -0.1578,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2684,
          "after": 0.209,
          "delta": -0.0594,
          "percent_delta": -0.2213,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.329,
          "after": 0.0,
          "delta": -0.329,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6725,
          "after": 0.0,
          "delta": -0.6725,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0922,
          "after": 0.0,
          "delta": -0.0922,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3182,
          "after": 0.288,
          "delta": -0.0302,
          "percent_delta": -0.0949,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4141,
          "after": 0.0,
          "delta": -0.4141,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4431,
          "after": 0.351,
          "delta": -0.0921,
          "percent_delta": -0.2079,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6334,
          "after": 1.0,
          "delta": 0.3666,
          "percent_delta": 0.5788,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 1,
        "deboosted_metrics": 8,
        "better_metrics": 0,
        "worse_metrics": 9,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.6334,
          "after": 1.0,
          "delta": 0.3666,
          "percent_delta": 0.5788,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6725,
          "after": 0.0,
          "delta": -0.6725,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.209,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.288,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.351,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "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": null
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.231,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.312,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.375,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.209,
          "after": 0.231,
          "delta": 0.022,
          "percent_delta": 0.1053,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.288,
          "after": 0.312,
          "delta": 0.024,
          "percent_delta": 0.0833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.351,
          "after": 0.375,
          "delta": 0.024,
          "percent_delta": 0.0684,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.288,
          "after": 0.312,
          "delta": 0.024,
          "percent_delta": 0.0833,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    }
  ],
  "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_AB",
        "before": 3.64,
        "after": 3.0,
        "delta": -0.64,
        "percent_delta": -0.1758,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.231,
        "delta": -0.028,
        "percent_delta": -0.1081,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.243,
        "after": 1.0,
        "delta": 0.757,
        "percent_delta": 3.1152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.12,
        "after": 0.0,
        "delta": -0.12,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.338,
        "after": 0.312,
        "delta": -0.026,
        "percent_delta": -0.0769,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.421,
        "after": 0.0,
        "delta": -0.421,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.53,
        "after": 0.0,
        "delta": -0.53,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.445,
        "after": 0.375,
        "delta": -0.07,
        "percent_delta": -0.1573,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.559,
        "after": 2.0,
        "delta": 1.441,
        "percent_delta": 2.5778,
        "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.559,
        "after": 2.0,
        "delta": 1.441,
        "percent_delta": 2.5778,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.94,
        "after": 0.0,
        "delta": -0.94,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.164-
predicted_3B0.013-
predicted_AB3.640-
predicted_AVG0.259-
predicted_BB0.243-
predicted_H0.940-
predicted_HR0.120-
predicted_OBP0.338-
predicted_R0.421-
predicted_RBI0.530-
predicted_SLG0.445-
predicted_SO0.559-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1790.015
predicted_3B0.011-0.002
predicted_AB3.567-0.073
predicted_AVG0.2700.011
predicted_BB0.2620.019
predicted_H0.9610.021
predicted_HBP0.043-
predicted_HR0.1420.022
predicted_OBP0.3410.003
predicted_R0.4700.049
predicted_RBI0.5460.016
predicted_SLG0.4670.022
predicted_SO0.538-0.021
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1790.000
predicted_3B0.0110.000
predicted_AB3.5670.000
predicted_AVG0.268-0.002
predicted_BB0.261-0.001
predicted_H0.957-0.004
predicted_HBP0.0430.000
predicted_HR0.141-0.001
predicted_OBP0.318-0.023
predicted_R0.467-0.003
predicted_RBI0.543-0.004
predicted_SLG0.443-0.023
predicted_SO0.5390.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.64), rates preserved: AVG=0.224 HR/AB=0.039

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1580.158
3B0.0110.011
BB0.3290.329
H0.672-0.328
HR0.0920.092
RBI0.4140.414
SO0.633-0.367
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.011
AB3.0000.000
AVG0.209-
BB0.000-0.329
H0.000-0.672
HR0.000-0.092
OBP0.288-
R0.0000.000
RBI0.000-0.414
SLG0.351-
SO1.0000.367
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.179
predicted_3B0.000-0.011
predicted_AB3.000-0.567
predicted_AVG0.209-0.059
predicted_BB0.000-0.261
predicted_H0.000-0.957
predicted_HR0.000-0.141
predicted_OBP0.288-0.030
predicted_R0.000-0.467
predicted_RBI0.000-0.543
predicted_SLG0.351-0.092
predicted_SO1.0000.461
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB1.0001.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO2.0001.000
13. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 152
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.0006.0001.0000.0002.0004.0004.0002.0002.0000.35290.42110.76470.35290.11770.23530.11770.1177
last_100.2010-34.00011.0003.0000.0002.0007.0006.0003.0004.0000.32350.37840.58820.32350.05880.20590.08820.1177
season0.60152-531.000134.00025.0002.00013.00068.00064.00037.00085.0000.25240.31220.38040.25240.02450.12810.06970.1601
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1980
predicted_3B0.0080
predicted_AB3.4730
predicted_AVG0.2848
predicted_BB0.2860
predicted_H0.9890
predicted_HBP0.0430
predicted_HR0.1710
predicted_OBP0.3452
predicted_R0.5330
predicted_RBI0.5670
predicted_SLG0.4943
predicted_SO0.5110
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16400.19800.1788model_form_blend
predicted_3B0.01300.00800.0108model_form_blend
predicted_AB3.64003.47303.5672model_form_blend
predicted_AVG0.25900.28480.2702model_form_blend
predicted_BB0.24300.28600.2617model_form_blend
predicted_H0.94000.98900.9613model_form_blend
predicted_HBP-0.04300.0430form_only
predicted_HR0.12000.17100.1422model_form_blend
predicted_OBP0.33800.34520.3411model_form_blend
predicted_R0.42100.53300.4698model_form_blend
predicted_RBI0.53000.56700.5461model_form_blend
predicted_SLG0.44500.49430.4665model_form_blend
predicted_SO0.55900.51100.5381model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H0
2B0
3B0
HR0
R0
RBI0
BB1
SO2
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP1
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC1
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder9
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedSS
gameID20261007_CLE@CHW
game_typefull
mlbID677587
playerID677587
playerNameBrayan Rocchio
posSS
startedTrue
startingPositionSS
teamCLE
teamID8
game_date2026-10-07
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
Parker Messick (800048) · PITCHER · Starter · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 33
All-history rows before 20261008: 33

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.5452.0001.4551.000
predicted_ER3.0003.0003.000Pitching_ER1.6672.0001.3331.000
predicted_H5.0005.0005.000Pitching_H4.6364.0000.3641.000
predicted_IP5.0005.0005.000Pitching_InningsPitched5.5734.100-0.5730.900
predicted_SO4.0004.0004.000Pitching_SO6.0306.000-2.030-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics6
Boosted Metrics4
Deboosted Metrics2
Better Metrics0
Worse Metrics6
Biggest Boostpredicted_ER: 1.0000 -> 3.0000 (boost 2.0000, worse)
Biggest Deboostpredicted_IP: 6.0000 -> 5.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7pitcher_quality_guardrail11010predicted_SO: 5.0000 -> 6.0000 (boost 1.0000, better)-Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
8market_blend00000--Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
9play_by_play_realization64206predicted_ER: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_SO: 6.0000 -> 4.0000 (deboost -2.0000, worse)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
10current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "800048",
  "player_name": "Parker Messick",
  "position": "Starter",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 5.0,
          "after": 6.0,
          "delta": 1.0,
          "percent_delta": 0.2,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "market_blend",
      "description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
      "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
      }
    },
    {
      "index": 9,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_R": 4.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 3.0,
          "delta": 1.0,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 5.0,
          "delta": -1.0,
          "percent_delta": -0.1667,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 0,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 4.0,
          "delta": -2.0,
          "percent_delta": -0.3333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 3.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 3.0,
        "delta": 1.0,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 5.0,
        "delta": -1.0,
        "percent_delta": -0.1667,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 5.0,
        "after": 4.0,
        "delta": -1.0,
        "percent_delta": -0.2,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 6,
      "boosted_metrics": 4,
      "deboosted_metrics": 2,
      "better_metrics": 0,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 5.0,
        "delta": -1.0,
        "percent_delta": -0.1667,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER1.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO5.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER1.0000.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO6.0001.000
8. market_blend

Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score

MetricValueDelta vs Prev Step
9. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB3.000-
BF24.000-
ER3.000-
H5.000-
HR1.000-
IP5.000-
Pitches97.000-
R4.000-
SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 33
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45523.2008.00025.0006.00026.0002.0003.04231.30990.33801.05630.25351.09860.0845
last_100.351054.00016.00049.00013.00063.0005.0002.66671.14810.29630.90740.24071.16670.0926
season0.2033190.20055.000153.00051.000199.00018.0002.59621.06990.28850.80240.26751.04370.0944
Weighted Prediction From Real Data
MetricValue
predicted_BB1.4030
predicted_ER1.7730
predicted_ERA3.0585
predicted_H4.9970
predicted_HR0.5060
predicted_IP5.1000
predicted_SO5.6780
predicted_WHIP1.2263
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.40301.6451model_form_blend
predicted_ER1.00001.77301.4595model_form_blend
predicted_ERA-3.05853.0585form_only
predicted_H4.00004.99704.5926model_form_blend
predicted_HR0.00000.50600.3008model_form_blend
predicted_IP6.00005.10005.2000model_form_blend
predicted_SO5.00005.67805.4030model_form_blend
predicted_WHIP-1.22631.2263form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.0
H5
R4
ER3
BB3
SO4
HR1
BF24
Pitches97

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced18
Pitching_ER2
Pitching_ERA4.15
Pitching_Flyouts3
Pitching_Groundouts3
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched4.1
Pitching_Pitches87
Pitching_R2
Pitching_SO6
Pitching_Strikes56
Pitching_Wild Pitch0
Pitching_decisionL
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20261003_CHW@CLE
game_typefull
mlbID800048
playerID800048
playerNameParker Messick
posP
startedTrue
startingPositionP
teamCLE
teamID8
game_date2026-10-03
sl_k_percent25.8
sl_bb_percent6.6
sl_woba0.274
sl_xwoba0.275
sl_sweet_spot_percent30.7
sl_barrel_batted_rate5.0
sl_hard_hit_percent34.3
sl_whiff_percent25.5
sl_swing_percent48.6
sl_avg_best_speed76.354216626
sl_avg_hyper_speed93.483966904
Tim Herrin (682120) · PITCHER · Middle Reliever (High Leverage) · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 69
All-history rows before 20261008: 69

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.4060.000-0.4060.000
predicted_ER0.0000.0000.000Pitching_ER0.2750.000-0.2750.000
predicted_H1.0001.0001.000Pitching_H0.6670.0000.3331.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6611.0000.3390.000
predicted_SO1.0001.0001.000Pitching_SO0.8413.0000.159-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics1
Boosted Metrics0
Deboosted Metrics1
Better Metrics0
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization10101-predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "682120",
  "player_name": "Tim Herrin",
  "position": "Middle Reliever (High Leverage)",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "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": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 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": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF4.000-
ER0.000-
H1.000-
HR0.000-
IP1.000-
Pitches14.000-
R0.000-
SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 69
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.1001.0005.0000.0007.0000.0002.07691.15380.23081.15390.00001.61540.0000
last_100.35109.0002.0009.0003.00013.0000.0002.00001.33330.22221.00000.33331.44440.0000
season0.206958.20019.00046.00028.00058.0005.0002.91481.26140.32390.78410.47730.98860.0852
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2610
predicted_ER0.3240
predicted_ERA2.9201
predicted_H1.0140
predicted_HR0.0550
predicted_IP1.0000
predicted_SO1.2850
predicted_WHIP1.2752
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.26100.1374model_form_blend
predicted_ER0.00000.32400.1706model_form_blend
predicted_ERA-2.92012.9201form_only
predicted_H1.00001.01401.0074model_form_blend
predicted_HR0.00000.05500.0290model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.28501.6235model_form_blend
predicted_WHIP-1.27521.2752form_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 used69
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches18
Pitching_R0
Pitching_SO3
Pitching_Strikes13
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder6
allPositionsPlayedP
gameID20261007_CLE@CHW
game_typefull
mlbID682120
playerID682120
playerNameTim Herrin
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-07
sl_k_percent22.5
sl_bb_percent11.7
sl_woba0.308
sl_xwoba0.304
sl_sweet_spot_percent32.7
sl_barrel_batted_rate8.5
sl_hard_hit_percent37.3
sl_whiff_percent30.7
sl_swing_percent46.8
sl_avg_best_speed75.510758684
sl_avg_hyper_speed93.778213026
Erik Sabrowski (681870) · PITCHER · Setup Man · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 62
All-history rows before 20261008: 62

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5321.000-0.532-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2742.000-0.274-2.000
predicted_H1.0001.0001.000Pitching_H0.4521.0000.5480.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.6400.2000.3600.800
predicted_SO2.0002.0002.000Pitching_SO1.2580.0000.7422.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics4
Boosted Metrics0
Deboosted Metrics4
Better Metrics4
Worse Metrics0
Biggest Boost-
Biggest Deboostpredicted_ER: 3.0000 -> 0.0000 (deboost -3.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization40440-predicted_ER: 3.0000 -> 0.0000 (deboost -3.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "681870",
  "player_name": "Erik Sabrowski",
  "position": "Setup Man",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 3.0,
        "predicted_H": 2.0,
        "predicted_HR": 2.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 3.0,
          "after": 0.0,
          "delta": -3.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 0.0,
        "delta": -3.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 0,
      "deboosted_metrics": 4,
      "better_metrics": 4,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 3.0,
        "after": 0.0,
        "delta": -3.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER3.000-
predicted_H2.000-
predicted_HR2.000-
predicted_IP1.000-
predicted_SO2.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF4.000-
ER0.000-
H1.000-
HR0.000-
IP1.000-
Pitches16.000-
R0.000-
SO2.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 60
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.1003.0003.0004.0008.0000.0005.06251.31250.56250.56250.75001.50000.0000
last_100.35109.1004.0003.0007.00012.0000.0003.85711.07140.42860.32140.75001.28570.0000
season0.206050.20016.00026.00029.00078.0003.0002.84211.08550.31580.51320.57241.53950.0592
Weighted Prediction From Real Data
MetricValue
predicted_BB0.6060
predicted_ER0.4820
predicted_ERA4.3341
predicted_H0.6350
predicted_HR0.0560
predicted_IP1.0000
predicted_SO1.2720
predicted_WHIP1.2417
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.60600.7977model_form_blend
predicted_ER3.00000.48201.7074model_form_blend
predicted_ERA-4.33414.3341form_only
predicted_H2.00000.63501.2993model_form_blend
predicted_HR2.00000.05601.0020model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO2.00001.27201.6263model_form_blend
predicted_WHIP-1.24171.2417form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced4
Pitching_ER2
Pitching_ERA11.57
Pitching_Flyouts1
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored1
Pitching_InningsPitched0.2
Pitching_Pitches11
Pitching_R2
Pitching_SO0
Pitching_Strikes4
Pitching_Wild Pitch1
Pitching_decisionL, BS
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261005_CHW@CLE
game_typefull
mlbID681870
playerID681870
playerNameErik Sabrowski
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-05
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
Cade Smith (671922) · PITCHER · Closer · Team CLE
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 72
All-history rows before 20261008: 72

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.2220.000-0.2220.000
predicted_H1.0001.0001.000Pitching_H0.6670.0000.3331.000
predicted_IP2.0002.0002.000Pitching_InningsPitched1.0152.0000.9850.000
predicted_SO3.0003.0003.000Pitching_SO1.5695.0001.431-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics4
Boosted Metrics3
Deboosted Metrics1
Better Metrics3
Worse Metrics1
Biggest Boostpredicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better)
Biggest Deboostpredicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization43131predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, better)predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "671922",
  "player_name": "Cade Smith",
  "position": "Closer",
  "team": "CLE",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.0,
        "predicted_R": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 3,
      "deboosted_metrics": 1,
      "better_metrics": 3,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. 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-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB1.000-
BF8.000-
ER0.000-
H1.000-
HR0.000-
IP2.000-
Pitches34.000-
R0.000-
SO3.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 72
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.2000.0000.0000.0009.0000.0000.00000.00000.00000.00000.00001.58820.0000
last_100.351012.0000.0001.0001.00018.0000.0000.00000.16670.00000.08330.08331.50000.0000
season0.207278.00016.00048.00023.000113.0005.0001.84620.91030.20510.61540.29491.44870.0641
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1710
predicted_ER0.1670
predicted_ERA1.3767
predicted_H0.3810
predicted_HR0.0490
predicted_IP1.0000
predicted_SO1.5120
predicted_WHIP0.5068
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.17100.0940model_form_blend
predicted_ER0.00000.16700.0918model_form_blend
predicted_ERA-1.37671.3767form_only
predicted_H2.00000.38101.1097model_form_blend
predicted_HR0.00000.04900.0269model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.51201.2816model_form_blend
predicted_WHIP-0.50680.5068form_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 date72
Season rows before report date72
Report year2026
Profile rows used72
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H1
R0
ER0
BB1
SO3
HR0
BF8
Pitches34

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced6
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched2.0
Pitching_Pitches19
Pitching_R0
Pitching_SO5
Pitching_Strikes17
Pitching_Wild Pitch0
Pitching_pitchingOrder7
allPositionsPlayedP
gameID20261007_CLE@CHW
game_typefull
mlbID671922
playerID671922
playerNameCade Smith
posP
startedFalse
startingPositionP
teamCLE
teamID8
game_date2026-10-07
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

Home Team: CHW

Home Pitcher Deep Analysis

FieldValue
PitcherHagen Smith
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4816
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP2.2000
Pre ER0
Pre H1
Pre BB1
Pre SO3
Season ERA1.0485
Season WHIP0.9903
Role Avg IP2.5560
Recent Avg IP2.5560
Last Start IP2.2000
Team Form Snapshot
{
  "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.0675,
    "defense_index": 1.0096,
    "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.9327,
    "defense_index": 1.0898,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0675,
    "opponent_offense_edge": -0.0673,
    "defense_strength": 0.0096,
    "opponent_defense_weakness": -0.0898,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "run_prevention": 0.9886,
    "strikeout": 1.0052
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "696146",
    "profile": {
      "available": true,
      "pitcher_id": "696146",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 90.0,
        "k_percent": 37.3,
        "bb_percent": 14.5,
        "woba": 0.211,
        "xwoba": 0.243,
        "sweet_spot_percent": 35.8,
        "barrel_batted_rate": 1.9,
        "hard_hit_percent": 34.0,
        "avg_best_speed": 75.8598,
        "avg_hyper_speed": 93.4182,
        "whiff_percent": 36.2,
        "swing_percent": 42.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": 1.4885,
        "command_and_miss": 1.2621,
        "regression_edge": -0.9143,
        "xwoba_edge": 1.9714,
        "barrel_edge": 1.1778,
        "hard_hit_edge": 0.5571,
        "whiff_edge": 1.5714,
        "bb_edge": -1.325,
        "pitch_design_score": 0.0
      },
      "quality_score": 0.4816,
      "sample_weight": 0.45,
      "run_prevention_factor": 0.9591,
      "strikeout_factor": 1.0674,
      "walk_factor": 1.0477,
      "homer_factor": 0.921,
      "woba_minus_xwoba": -0.032,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "696146",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 2.0,
        "factor": 0.9816,
        "adjusted": 2
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9816,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.0215,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9645,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 4.0,
        "factor": 1.0303,
        "adjusted": 4
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 16.1,
    "ER": 4,
    "H": 7,
    "BB": 11,
    "SO": 21,
    "HR": 0,
    "ERA": 2.204081632653061,
    "WHIP": 1.1020408163265305,
    "K9": 11.57142857142857,
    "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-10-07T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "696146",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.09,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5864,
    "prior_weight": 0.4136
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "696146",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 20,
  "reference_playing_time": 5.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 9.0,
        "ER": 2.0,
        "R": 2.0,
        "H": 5.0,
        "BB": 6.0,
        "SO": 9.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 161.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 1.0,
        "BB": 1.2,
        "SO": 1.8,
        "HR": 0.0,
        "BF": 7.6,
        "Pitches": 32.2
      },
      "rates": {
        "ERA": 2.0,
        "WHIP": 1.2222,
        "ER_per_IP": 0.22222,
        "H_per_IP": 0.55556,
        "BB_per_IP": 0.66667,
        "SO_per_IP": 1.0,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 16.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 7.0,
        "BB": 11.0,
        "SO": 21.0,
        "HR": 0.0,
        "BF": 67.0,
        "Pitches": 276.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.4,
        "R": 0.4,
        "H": 0.7,
        "BB": 1.1,
        "SO": 2.1,
        "HR": 0.0,
        "BF": 6.7,
        "Pitches": 27.6
      },
      "rates": {
        "ERA": 2.2041,
        "WHIP": 1.102,
        "ER_per_IP": 0.2449,
        "H_per_IP": 0.42857,
        "BB_per_IP": 0.67347,
        "SO_per_IP": 1.28571,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 20,
      "totals": {
        "IP": 34.1,
        "ER": 4.0,
        "R": 4.0,
        "H": 13.0,
        "BB": 21.0,
        "SO": 47.0,
        "HR": 0.0,
        "BF": 136.0,
        "Pitches": 575.0
      },
      "per_game": {
        "IP": 1.2,
        "ER": 0.2,
        "R": 0.2,
        "H": 0.65,
        "BB": 1.05,
        "SO": 2.35,
        "HR": 0.0,
        "BF": 6.8,
        "Pitches": 28.75
      },
      "rates": {
        "ERA": 1.0485,
        "WHIP": 0.9903,
        "ER_per_IP": 0.1165,
        "H_per_IP": 0.37864,
        "BB_per_IP": 0.61165,
        "SO_per_IP": 1.36893,
        "HR_per_IP": 0.0
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.0,
    "predicted_ER": 1.02,
    "predicted_H": 2.09,
    "predicted_BB": 1.654,
    "predicted_SO": 3.273,
    "predicted_HR": 0.186,
    "predicted_ERA": 3.0147,
    "predicted_WHIP": 1.2294
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5247,
  "form_weight": 0.4753,
  "form_reliability": 0.5864,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 7.09,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.5864,
    "prior_weight": 0.4136
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 5.0,
      "form": 3.0,
      "final": 4.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.02,
      "final": 1.5343,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 2.09,
      "final": 2.5675,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.654,
      "final": 1.3108,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 3.0,
      "form": 3.273,
      "final": 3.1297,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.186,
      "final": 0.0884,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.0147,
      "final": 3.0147,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2294,
      "final": 1.2294,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJordan Hicks
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.4937
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.2800
Avg Velo94.9903
Avg Spin2069.2367
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO2
Season ERA3.8250
Season WHIP1.5000
Role Avg IP0.9510
Recent Avg IP1.2000
Last Start IP0
Team Form Snapshot
{
  "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.0675,
    "defense_index": 1.0096,
    "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.9327,
    "defense_index": 1.0898,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0675,
    "opponent_offense_edge": -0.0673,
    "defense_strength": 0.0096,
    "opponent_defense_weakness": -0.0898,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "run_prevention": 0.9886,
    "strikeout": 1.0052
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "663855",
    "profile": {
      "available": true,
      "pitcher_id": "663855",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 164.0,
        "k_percent": 29.6,
        "bb_percent": 15.3,
        "woba": 0.309,
        "xwoba": 0.262,
        "sweet_spot_percent": 27.1,
        "barrel_batted_rate": 1.7,
        "hard_hit_percent": 33.1,
        "avg_best_speed": 78.2319,
        "avg_hyper_speed": 93.4981,
        "whiff_percent": 28.2,
        "swing_percent": 44.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.9121,
        "command_and_miss": 0.3271,
        "regression_edge": 1.3429,
        "xwoba_edge": 1.4286,
        "barrel_edge": 1.2222,
        "hard_hit_edge": 0.6857,
        "whiff_edge": 0.4286,
        "bb_edge": -1.525,
        "pitch_design_score": 0.28
      },
      "quality_score": 0.4937,
      "sample_weight": 0.656,
      "run_prevention_factor": 0.958,
      "strikeout_factor": 1.0394,
      "walk_factor": 1.08,
      "homer_factor": 0.8898,
      "woba_minus_xwoba": 0.047,
      "regression_flag": "positive_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "663855",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9724,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9724,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 1.0525,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9277,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.0258,
        "adjusted": 2
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 10.0,
    "ER": 6,
    "H": 13,
    "BB": 4,
    "SO": 14,
    "HR": 2,
    "ERA": 5.4,
    "WHIP": 1.7,
    "K9": 12.6,
    "HR9": 1.8,
    "games_pitched": 10,
    "quality_starts": 0,
    "dominant_form": false,
    "struggling_form": true
  },
  "fielding": {
    "errors": 0,
    "assists": 0,
    "games_fielded": 10,
    "error_prone": false
  },
  "games_count": 10,
  "latest_game_date": "2026-08-25T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "663855",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 19,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 19,
    "pitch_usage": 0.0,
    "release_speed": 94.99032641703893,
    "release_spin_rate": 2069.2367121559296,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_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": 94.99032641703893,
      "release_spin_rate": 2069.2367121559296,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 94.9903,
    "release_spin_rate": 2069.2367,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.28,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 2.0,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.26,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6229,
    "prior_weight": 0.3771
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "663855",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 42,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 6.0,
        "BB": 3.0,
        "SO": 9.0,
        "HR": 1.0,
        "BF": 27.0,
        "Pitches": 103.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.8,
        "R": 0.8,
        "H": 1.2,
        "BB": 0.6,
        "SO": 1.8,
        "HR": 0.2,
        "BF": 5.4,
        "Pitches": 20.6
      },
      "rates": {
        "ERA": 6.0,
        "WHIP": 1.5,
        "ER_per_IP": 0.66667,
        "H_per_IP": 1.0,
        "BB_per_IP": 0.5,
        "SO_per_IP": 1.5,
        "HR_per_IP": 0.16667
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 10.0,
        "ER": 6.0,
        "R": 6.0,
        "H": 13.0,
        "BB": 4.0,
        "SO": 14.0,
        "HR": 2.0,
        "BF": 47.0,
        "Pitches": 183.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.6,
        "R": 0.6,
        "H": 1.3,
        "BB": 0.4,
        "SO": 1.4,
        "HR": 0.2,
        "BF": 4.7,
        "Pitches": 18.3
      },
      "rates": {
        "ERA": 5.4,
        "WHIP": 1.7,
        "ER_per_IP": 0.6,
        "H_per_IP": 1.3,
        "BB_per_IP": 0.4,
        "SO_per_IP": 1.4,
        "HR_per_IP": 0.2
      }
    },
    "season": {
      "games": 42,
      "totals": {
        "IP": 40.0,
        "ER": 17.0,
        "R": 17.0,
        "H": 35.0,
        "BB": 25.0,
        "SO": 49.0,
        "HR": 3.0,
        "BF": 178.0,
        "Pitches": 695.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.4048,
        "R": 0.4048,
        "H": 0.8333,
        "BB": 0.5952,
        "SO": 1.1667,
        "HR": 0.0714,
        "BF": 4.2381,
        "Pitches": 16.5476
      },
      "rates": {
        "ERA": 3.825,
        "WHIP": 1.5,
        "ER_per_IP": 0.425,
        "H_per_IP": 0.875,
        "BB_per_IP": 0.625,
        "SO_per_IP": 1.225,
        "HR_per_IP": 0.075
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.617,
    "predicted_H": 1.142,
    "predicted_BB": 0.491,
    "predicted_SO": 1.346,
    "predicted_HR": 0.17,
    "predicted_ERA": 5.0786,
    "predicted_WHIP": 1.4927
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5093,
  "form_weight": 0.4907,
  "form_reliability": 0.6229,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.26,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6229,
    "prior_weight": 0.3771
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 0.617,
      "final": 1.3214,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 2.0,
      "form": 1.142,
      "final": 1.579,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.491,
      "final": 0.2409,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.346,
      "final": 1.1698,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.17,
      "final": 0.5927,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 5.0786,
      "final": 5.0786,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4927,
      "final": 1.4927,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherBryan Hudson
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.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 ER1
Pre H1
Pre BB2
Pre SO1
Season ERA2.6173
Season WHIP1.1633
Role Avg IP0.9600
Recent Avg IP0.8670
Last Start IP0
Team Form Snapshot
{
  "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.0675,
    "defense_index": 1.0096,
    "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.9327,
    "defense_index": 1.0898,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0675,
    "opponent_offense_edge": -0.0673,
    "defense_strength": 0.0096,
    "opponent_defense_weakness": -0.0898,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "run_prevention": 0.9886,
    "strikeout": 1.0052
  },
  "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
      },
      "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
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
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.491,
    "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": "20261008",
  "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.4403,
    "predicted_WHIP": 1.2653
  }
}
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.491,
    "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.4403,
      "final": 3.4403,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2653,
      "final": 1.2653,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherAnthony Kay
RoleSetup Man
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 IP2
Pre ER2
Pre H2
Pre BB2
Pre SO1
Season ERA4.3875
Season WHIP1.3750
Role Avg IP2.2500
Recent Avg IP2.2500
Last Start IP0
Team Form Snapshot
{
  "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.0675,
    "defense_index": 1.0096,
    "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.9327,
    "defense_index": 1.0898,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0675,
    "opponent_offense_edge": -0.0673,
    "defense_strength": 0.0096,
    "opponent_defense_weakness": -0.0898,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "run_prevention": 0.9886,
    "strikeout": 1.0052
  },
  "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
      },
      "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": 1.0,
        "factor": 1.0293,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 2.0,
        "factor": 1.0293,
        "adjusted": 2
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.974,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0474,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 0.0,
        "factor": 0.9674,
        "adjusted": 0
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
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": "20261008",
  "season_year": 2026,
  "rows_used": 35,
  "reference_playing_time": 1.333,
  "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.1,
    "predicted_ER": 1.596,
    "predicted_H": 3.507,
    "predicted_BB": 1.375,
    "predicted_SO": 2.685,
    "predicted_HR": 0.364,
    "predicted_ERA": 4.2376,
    "predicted_WHIP": 1.4402
  }
}
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": 1.1,
      "form": 3.1,
      "final": 2.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 1.596,
      "final": 0.9531,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 3.507,
      "final": 2.0943,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.375,
      "final": 0.8211,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 2.685,
      "final": 2.0063,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.364,
      "final": 0.2174,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 4.2376,
      "final": 4.2376,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.4402,
      "final": 1.4402,
      "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 IP2.1000
Pre ER1
Pre H1
Pre BB0
Pre SO1
Season ERA2.3964
Season WHIP1.0296
Role Avg IP1.3870
Recent Avg IP1.6000
Last Start IP0
Team Form Snapshot
{
  "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.0675,
    "defense_index": 1.0096,
    "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.9327,
    "defense_index": 1.0898,
    "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
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0062,
    "offense_edge": 0.0675,
    "opponent_offense_edge": -0.0673,
    "defense_strength": 0.0096,
    "opponent_defense_weakness": -0.0898,
    "recent_win_pct_edge": -0.1
  },
  "player_factors": {
    "ip": 1.0027,
    "run_prevention": 0.9886,
    "strikeout": 1.0052
  },
  "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
      },
      "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
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
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.633,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6994,
    "prior_weight": 0.3006
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "691799",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 41,
  "reference_playing_time": 0.667,
  "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.278,
    "predicted_H": 0.785,
    "predicted_BB": 0.367,
    "predicted_SO": 1.343,
    "predicted_HR": 0.088,
    "predicted_ERA": 2.0183,
    "predicted_WHIP": 0.9306
  }
}
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.6994,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 11.633,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6994,
    "prior_weight": 0.3006
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 1.1,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.278,
      "final": 0.6224,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.785,
      "final": 0.8876,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.367,
      "final": 0.1919,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 1.343,
      "final": 1.1794,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.088,
      "final": 0.046,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.0183,
      "final": 2.0183,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9306,
      "final": 0.9306,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
Chase Meidroth (805367) · BATTER · 2B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 625
All-history rows before 20261008: 625
System season_avg: 0.2790
Data season_avg (2026 season-to-date): 0.2786
Diff (system - data): 0.0004
System opponent_avg: 0.2670

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2030.0000.000Hitting_2B0.2051.000-0.205-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2504.0004.000Hitting_AB3.7734.0000.2270.000
predicted_AVG0.2670.2500.250Hitting_AVG0.2790.250-0.0290.000
predicted_BB0.3861.0001.000Hitting_BB0.4340.0000.5661.000
predicted_CS-0.0000.000BaseRunning_CS0.0100.000-0.0100.000
predicted_H1.1301.0001.000Hitting_H1.0511.000-0.0510.000
predicted_HR0.1300.0000.000Hitting_HR0.1140.000-0.1140.000
predicted_OBP0.3630.4000.400Hitting_OBP0.3560.2500.0440.150
predicted_R0.5891.0001.000Hitting_R0.6261.0000.3740.000
predicted_RBI0.6400.0000.000Hitting_RBI0.4340.000-0.4340.000
predicted_SB-0.0000.000BaseRunning_SB0.0260.000-0.0260.000
predicted_SLG0.4650.2500.250Hitting_SLG0.4230.500-0.173-0.250
predicted_SO0.9241.0001.000Hitting_SO0.9392.0000.061-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_BB: 0.3860 -> 1.0000 (boost 0.6140, better)
Biggest Deboostpredicted_RBI: 0.6400 -> 0.0000 (deboost -0.6400, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AVG: 0.2670 -> 0.2919 (boost 0.0249, better)predicted_AB: 4.2500 -> 4.0205 (deboost -0.2295, worse)Final model input calibrated 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.4866 -> 0.4484 (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_scaling62415predicted_RBI: 0.6574 -> 1.0000 (boost 0.3426, better)predicted_BB: 0.3537 -> 0.0000 (deboost -0.3537, worse)AB rounded to 4 (raw=4.25), rates preserved: AVG=0.260 HR/AB=0.034
6bvp_blend00000--Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)
7consistency_constraints11010predicted_R: 0.6028 -> 1.0000 (boost 0.3972, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine53232predicted_BB: 0.0000 -> 0.3898 (boost 0.3898, better)predicted_RBI: 1.0000 -> 0.4156 (deboost -0.5844, 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_allocation83535predicted_2B: 0.2049 -> 1.0000 (boost 0.7951, better)predicted_RBI: 0.4156 -> 0.0000 (deboost -0.4156, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization10101-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final22020predicted_OBP: 0.3230 -> 0.3310 (boost 0.0080, better)-Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "805367",
  "player_name": "Chase Meidroth",
  "position": "2B",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.203,
        "predicted_3B": 0.0,
        "predicted_AB": 4.25,
        "predicted_AVG": 0.267,
        "predicted_BB": 0.386,
        "predicted_H": 1.13,
        "predicted_HR": 0.13,
        "predicted_OBP": 0.363,
        "predicted_R": 0.589,
        "predicted_RBI": 0.64,
        "predicted_SLG": 0.465,
        "predicted_SO": 0.924
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2104,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0205,
        "predicted_AVG": 0.2919,
        "predicted_BB": 0.3528,
        "predicted_H": 1.1632,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.1444,
        "predicted_OBP": 0.3701,
        "predicted_R": 0.6061,
        "predicted_RBI": 0.661,
        "predicted_SLG": 0.4866,
        "predicted_SO": 0.9271
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.25,
          "after": 4.0205,
          "delta": -0.2295,
          "percent_delta": -0.054,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2919,
          "delta": 0.0249,
          "percent_delta": 0.0933,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.363,
          "after": 0.3701,
          "delta": 0.0071,
          "percent_delta": 0.0196,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.465,
          "after": 0.4866,
          "delta": 0.0216,
          "percent_delta": 0.0465,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.267,
          "after": 0.2919,
          "delta": 0.0249,
          "percent_delta": 0.0933,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.25,
          "after": 4.0205,
          "delta": -0.2295,
          "percent_delta": -0.054,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 158
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2104,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0205,
        "predicted_AVG": 0.2882,
        "predicted_BB": 0.3537,
        "predicted_H": 1.1589,
        "predicted_HBP": 0.023,
        "predicted_HR": 0.1442,
        "predicted_OBP": 0.3458,
        "predicted_R": 0.6028,
        "predicted_RBI": 0.6574,
        "predicted_SLG": 0.4484,
        "predicted_SO": 0.9248
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3701,
          "after": 0.3458,
          "delta": -0.0243,
          "percent_delta": -0.0657,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4866,
          "after": 0.4484,
          "delta": -0.0382,
          "percent_delta": -0.0785,
          "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_SLG",
          "before": 0.4866,
          "after": 0.4484,
          "delta": -0.0382,
          "percent_delta": -0.0785,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.25), rates preserved: AVG=0.260 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.2104,
          "after": 0.0,
          "delta": -0.2104,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3537,
          "after": 0.0,
          "delta": -0.3537,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1589,
          "after": 1.0,
          "delta": -0.1589,
          "percent_delta": -0.1371,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1442,
          "after": 0.0,
          "delta": -0.1442,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6574,
          "after": 1.0,
          "delta": 0.3426,
          "percent_delta": 0.5211,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9248,
          "after": 1.0,
          "delta": 0.0752,
          "percent_delta": 0.0813,
          "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.6574,
          "after": 1.0,
          "delta": 0.3426,
          "percent_delta": 0.5211,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3537,
          "after": 0.0,
          "delta": -0.3537,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=15.0, weight=0.133, BvP AVG=0.267)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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": {
        "model_expectation": 0.8667,
        "bvp": 0.1333
      }
    },
    {
      "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_R",
          "before": 0.6028,
          "after": 1.0,
          "delta": 0.3972,
          "percent_delta": 0.6589,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.6028,
          "after": 1.0,
          "delta": 0.3972,
          "percent_delta": 0.6589,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.2049,
        "predicted_3B": 0.0075,
        "predicted_BB": 0.3898,
        "predicted_H": 0.9429,
        "predicted_HR": 0.1107,
        "predicted_RBI": 0.4156,
        "predicted_SO": 1.0256
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2049,
          "delta": 0.2049,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3898,
          "delta": 0.3898,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9429,
          "delta": -0.0571,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1107,
          "delta": 0.1107,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4156,
          "delta": -0.5844,
          "percent_delta": -0.5844,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.3898,
          "delta": 0.3898,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4156,
          "delta": -0.5844,
          "percent_delta": -0.5844,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.248,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.323,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2049,
          "after": 1.0,
          "delta": 0.7951,
          "percent_delta": 3.8804,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2882,
          "after": 0.248,
          "delta": -0.0402,
          "percent_delta": -0.1395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3898,
          "after": 1.0,
          "delta": 0.6102,
          "percent_delta": 1.5654,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9429,
          "after": 1.0,
          "delta": 0.0571,
          "percent_delta": 0.0606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1107,
          "after": 0.0,
          "delta": -0.1107,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3458,
          "after": 0.323,
          "delta": -0.0228,
          "percent_delta": -0.0659,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4156,
          "after": 0.0,
          "delta": -0.4156,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4484,
          "after": 0.393,
          "delta": -0.0554,
          "percent_delta": -0.1236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.2049,
          "after": 1.0,
          "delta": 0.7951,
          "percent_delta": 3.8804,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4156,
          "after": 0.0,
          "delta": -0.4156,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.248,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.323,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.393,
        "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
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 14,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 15,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.254,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.331,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.393,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.248,
          "after": 0.254,
          "delta": 0.006,
          "percent_delta": 0.0242,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.331,
          "delta": 0.008,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.323,
          "after": 0.331,
          "delta": 0.008,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.203,
        "after": 0.0,
        "delta": -0.203,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.25,
        "after": 4.0,
        "delta": -0.25,
        "percent_delta": -0.0588,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.267,
        "after": 0.254,
        "delta": -0.013,
        "percent_delta": -0.0487,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.386,
        "after": 1.0,
        "delta": 0.614,
        "percent_delta": 1.5907,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.13,
        "after": 1.0,
        "delta": -0.13,
        "percent_delta": -0.115,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.13,
        "after": 0.0,
        "delta": -0.13,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.363,
        "after": 0.331,
        "delta": -0.032,
        "percent_delta": -0.0882,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.589,
        "after": 1.0,
        "delta": 0.411,
        "percent_delta": 0.6978,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.465,
        "after": 0.393,
        "delta": -0.072,
        "percent_delta": -0.1548,
        "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": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.386,
        "after": 1.0,
        "delta": 0.614,
        "percent_delta": 1.5907,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.64,
        "after": 0.0,
        "delta": -0.64,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.203-
predicted_3B0.000-
predicted_AB4.250-
predicted_AVG0.267-
predicted_BB0.386-
predicted_H1.130-
predicted_HR0.130-
predicted_OBP0.363-
predicted_R0.589-
predicted_RBI0.640-
predicted_SLG0.465-
predicted_SO0.924-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2100.007
predicted_3B0.0000.000
predicted_AB4.021-0.229
predicted_AVG0.2920.025
predicted_BB0.353-0.033
predicted_H1.1630.033
predicted_HBP0.023-
predicted_HR0.1440.014
predicted_OBP0.3700.007
predicted_R0.6060.017
predicted_RBI0.6610.021
predicted_SLG0.4870.022
predicted_SO0.9270.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.2100.000
predicted_3B0.0000.000
predicted_AB4.0210.000
predicted_AVG0.288-0.004
predicted_BB0.3540.001
predicted_H1.159-0.004
predicted_HBP0.0230.000
predicted_HR0.144-0.000
predicted_OBP0.346-0.024
predicted_R0.603-0.003
predicted_RBI0.657-0.004
predicted_SLG0.448-0.038
predicted_SO0.925-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.25), rates preserved: AVG=0.260 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=15.0, weight=0.133, BvP AVG=0.267)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
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.2050.205
3B0.0070.007
BB0.3900.390
H0.943-0.057
HR0.1110.111
RBI0.416-0.584
SO1.0260.026
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.795
3B0.000-0.007
AB4.0000.000
AVG0.248-
BB1.0000.610
H1.0000.057
HR0.000-0.111
OBP0.323-
R1.0000.000
RBI0.000-0.416
SLG0.393-
SO1.000-0.026
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.790
predicted_3B0.000-0.000
predicted_AB4.000-0.021
predicted_AVG0.248-0.040
predicted_BB1.0000.646
predicted_H1.000-0.159
predicted_HR0.000-0.144
predicted_OBP0.323-0.023
predicted_R1.0000.397
predicted_RBI0.000-0.657
predicted_SLG0.393-0.055
predicted_SO1.0000.075
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
13. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.000-1.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000
14. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R1.0000.000
RBI0.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: 158
Reference playing time: 4.250
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-19.0007.0001.0000.0001.0005.0003.0001.0005.0000.36840.40000.57890.36840.05260.26320.05260.2632
last_100.2010-37.00016.0003.0000.0003.00012.0008.0002.0009.0000.43240.46150.75680.43240.08110.32430.05410.2432
season0.60158-585.000163.00032.0000.00017.00068.00093.00061.000146.0000.27860.35060.42050.27860.02910.11620.10430.2496
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2200
predicted_3B0.0010
predicted_AB3.7250
predicted_AVG0.3239
predicted_BB0.3100
predicted_H1.2060
predicted_HBP0.0230
predicted_HR0.1630
predicted_OBP0.3793
predicted_R0.6280
predicted_RBI0.6880
predicted_SLG0.5145
predicted_SO0.9310
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.20300.22000.2104model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.25003.72504.0205model_form_blend
predicted_AVG0.26700.32390.2919model_form_blend
predicted_BB0.38600.31000.3528model_form_blend
predicted_H1.13001.20601.1632model_form_blend
predicted_HBP-0.02300.0230form_only
predicted_HR0.13000.16300.1444model_form_blend
predicted_OBP0.36300.37930.3701model_form_blend
predicted_R0.58900.62800.6061model_form_blend
predicted_RBI0.64000.68800.6610model_form_blend
predicted_SLG0.46500.51450.4866model_form_blend
predicted_SO0.92400.93100.9271model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H1
2B0
3B0
HR0
R1
RBI0
BB1
SO1
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB2
Hitting_battingOrder5
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261007_CLE@CHW
game_typefull
mlbID805367
playerID805367
playerNameChase Meidroth
pos2B
startedTrue
startingPosition2B
teamCHW
teamID6
game_date2026-10-07
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
Randal Grichuk (545341) · BATTER · LF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 231
All-history rows before 20261008: 231
System season_avg: 0.2870
Data season_avg (2026 season-to-date): 0.3101
Diff (system - data): -0.0231
System opponent_avg: 0.4170
System season_avg diverges from 2026 season-to-date by -0.0231. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2271.0001.000Hitting_2B0.2770.0000.7231.000
predicted_3B0.0180.0000.000Hitting_3B0.0300.000-0.0300.000
predicted_AB2.5005.0005.000Hitting_AB2.7924.0002.2081.000
predicted_AVG0.2870.6000.600Hitting_AVG0.3100.2500.2900.350
predicted_BB0.1090.0000.000Hitting_BB0.1210.000-0.1210.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7183.0003.000Hitting_H0.8661.0002.1342.000
predicted_HR0.1360.0000.000Hitting_HR0.1600.000-0.1600.000
predicted_OBP0.3170.6000.600Hitting_OBP0.3420.2500.2580.350
predicted_R0.3731.0001.000Hitting_R0.3900.0000.6101.000
predicted_RBI0.4180.0000.000Hitting_RBI0.5280.000-0.5280.000
predicted_SLG0.5560.8000.800Hitting_SLG0.6030.2500.1970.550
predicted_SO0.5820.0000.000Hitting_SO0.6021.000-0.602-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics4
Deboosted Metrics7
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_AB: 2.5000 -> 5.0000 (boost 2.5000, better)
Biggest Deboostpredicted_SO: 0.5820 -> 0.0000 (deboost -0.5820, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_AB: 2.5000 -> 2.5600 (boost 0.0600, 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_scaling74334predicted_AB: 2.5600 -> 4.0000 (boost 1.4400, better)predicted_2B: 0.2050 -> 0.0000 (deboost -0.2050, worse)AB rounded to 4 (raw=2.56), rates preserved: AVG=0.275 HR/AB=0.057
6bvp_blend00000--Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)
7consistency_constraints10101-predicted_R: 0.3902 -> 0.0000 (deboost -0.3902, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine43131predicted_2B: 0.0000 -> 0.2553 (boost 0.2553, better)predicted_RBI: 1.0000 -> 0.5360 (deboost -0.4640, 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_allocation72525predicted_2B: 0.2553 -> 1.0000 (boost 0.7447, better)predicted_BB: 0.2269 -> 0.0000 (deboost -0.2269, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization53241predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_SLG: 0.4730 -> 0.4310 (deboost -0.0420, worse)Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "545341",
  "player_name": "Randal Grichuk",
  "position": "LF",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.227,
        "predicted_3B": 0.018,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.287,
        "predicted_BB": 0.109,
        "predicted_H": 0.718,
        "predicted_HR": 0.136,
        "predicted_OBP": 0.317,
        "predicted_R": 0.373,
        "predicted_RBI": 0.418,
        "predicted_SLG": 0.556,
        "predicted_SO": 0.582
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.205,
        "predicted_3B": 0.015,
        "predicted_AB": 2.56,
        "predicted_AVG": 0.2889,
        "predicted_BB": 0.1263,
        "predicted_H": 0.74,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.1449,
        "predicted_OBP": 0.3215,
        "predicted_R": 0.3924,
        "predicted_RBI": 0.4362,
        "predicted_SLG": 0.5512,
        "predicted_SO": 0.5824
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.56,
          "delta": 0.06,
          "percent_delta": 0.024,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.56,
          "delta": 0.06,
          "percent_delta": 0.024,
          "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": 116
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.205,
        "predicted_3B": 0.015,
        "predicted_AB": 2.56,
        "predicted_AVG": 0.288,
        "predicted_BB": 0.1266,
        "predicted_H": 0.7373,
        "predicted_HBP": 0.007,
        "predicted_HR": 0.1447,
        "predicted_OBP": 0.3215,
        "predicted_R": 0.3902,
        "predicted_RBI": 0.4338,
        "predicted_SLG": 0.5494,
        "predicted_SO": 0.5809
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=2.56), rates preserved: AVG=0.275 HR/AB=0.057",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.205,
          "after": 0.0,
          "delta": -0.205,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.56,
          "after": 4.0,
          "delta": 1.44,
          "percent_delta": 0.5625,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1266,
          "after": 0.0,
          "delta": -0.1266,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7373,
          "after": 1.0,
          "delta": 0.2627,
          "percent_delta": 0.3563,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1447,
          "after": 0.0,
          "delta": -0.1447,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4338,
          "after": 1.0,
          "delta": 0.5662,
          "percent_delta": 1.3052,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5809,
          "after": 1.0,
          "delta": 0.4191,
          "percent_delta": 0.7215,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.56,
          "after": 4.0,
          "delta": 1.44,
          "percent_delta": 0.5625,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.205,
          "after": 0.0,
          "delta": -0.205,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)",
      "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": [],
      "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
      }
    },
    {
      "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_R",
          "before": 0.3902,
          "after": 0.0,
          "delta": -0.3902,
          "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_R",
          "before": 0.3902,
          "after": 0.0,
          "delta": -0.3902,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.2553,
        "predicted_3B": 0.0187,
        "predicted_BB": 0.2269,
        "predicted_H": 0.9623,
        "predicted_HR": 0.1671,
        "predicted_RBI": 0.536,
        "predicted_SO": 0.9572
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2553,
          "delta": 0.2553,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2269,
          "delta": 0.2269,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1671,
          "delta": 0.1671,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.536,
          "delta": -0.464,
          "percent_delta": -0.464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.2553,
          "delta": 0.2553,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.536,
          "delta": -0.464,
          "percent_delta": -0.464,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.259,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.308,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.473,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.2553,
          "after": 1.0,
          "delta": 0.7447,
          "percent_delta": 2.917,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.288,
          "after": 0.259,
          "delta": -0.029,
          "percent_delta": -0.1007,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2269,
          "after": 0.0,
          "delta": -0.2269,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1671,
          "after": 0.0,
          "delta": -0.1671,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3215,
          "after": 0.308,
          "delta": -0.0135,
          "percent_delta": -0.042,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.536,
          "after": 1.0,
          "delta": 0.464,
          "percent_delta": 0.8657,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5494,
          "after": 0.473,
          "delta": -0.0764,
          "percent_delta": -0.1391,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.2553,
          "after": 1.0,
          "delta": 0.7447,
          "percent_delta": 2.917,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.2269,
          "after": 0.0,
          "delta": -0.2269,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.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.308,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.473,
        "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
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "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_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 14,
      "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_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 15,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.277,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.431,
        "predicted_SO": 0.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.227,
          "delta": -0.032,
          "percent_delta": -0.1236,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.308,
          "after": 0.277,
          "delta": -0.031,
          "percent_delta": -0.1006,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.473,
          "after": 0.431,
          "delta": -0.042,
          "percent_delta": -0.0888,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.473,
          "after": 0.431,
          "delta": -0.042,
          "percent_delta": -0.0888,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.227,
        "after": 1.0,
        "delta": 0.773,
        "percent_delta": 3.4053,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 5.0,
        "delta": 2.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.287,
        "after": 0.227,
        "delta": -0.06,
        "percent_delta": -0.2091,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.109,
        "after": 0.0,
        "delta": -0.109,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.718,
        "after": 3.0,
        "delta": 2.282,
        "percent_delta": 3.1783,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.136,
        "after": 0.0,
        "delta": -0.136,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.317,
        "after": 0.277,
        "delta": -0.04,
        "percent_delta": -0.1262,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.373,
        "after": 1.0,
        "delta": 0.627,
        "percent_delta": 1.681,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.418,
        "after": 0.0,
        "delta": -0.418,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.556,
        "after": 0.431,
        "delta": -0.125,
        "percent_delta": -0.2248,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.582,
        "after": 0.0,
        "delta": -0.582,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 4,
      "deboosted_metrics": 7,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 5.0,
        "delta": 2.5,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.582,
        "after": 0.0,
        "delta": -0.582,
        "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.227-
predicted_3B0.018-
predicted_AB2.500-
predicted_AVG0.287-
predicted_BB0.109-
predicted_H0.718-
predicted_HR0.136-
predicted_OBP0.317-
predicted_R0.373-
predicted_RBI0.418-
predicted_SLG0.556-
predicted_SO0.582-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.205-0.022
predicted_3B0.015-0.003
predicted_AB2.5600.060
predicted_AVG0.2890.002
predicted_BB0.1260.017
predicted_H0.7400.022
predicted_HBP0.007-
predicted_HR0.1450.009
predicted_OBP0.3220.005
predicted_R0.3920.019
predicted_RBI0.4360.018
predicted_SLG0.551-0.005
predicted_SO0.5820.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.2050.000
predicted_3B0.0150.000
predicted_AB2.5600.000
predicted_AVG0.288-0.001
predicted_BB0.1270.000
predicted_H0.737-0.003
predicted_HBP0.0070.000
predicted_HR0.145-0.000
predicted_OBP0.3220.000
predicted_R0.390-0.002
predicted_RBI0.434-0.002
predicted_SLG0.549-0.002
predicted_SO0.581-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=2.56), rates preserved: AVG=0.275 HR/AB=0.057

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

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

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.2550.255
3B0.0190.019
BB0.2270.227
H0.962-0.038
HR0.1670.167
RBI0.536-0.464
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.745
3B0.000-0.019
AB4.0000.000
AVG0.259-
BB0.000-0.227
H1.0000.038
HR0.000-0.167
OBP0.308-
R0.0000.000
RBI1.0000.464
SLG0.473-
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_2B1.0000.795
predicted_3B0.000-0.015
predicted_AB4.0001.440
predicted_AVG0.259-0.029
predicted_BB0.000-0.127
predicted_H1.0000.263
predicted_HR0.000-0.145
predicted_OBP0.308-0.014
predicted_R0.000-0.390
predicted_RBI1.0000.566
predicted_SLG0.473-0.076
predicted_SO1.0000.419
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
13. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB5.0001.000
BB0.0000.000
H3.0002.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0001.000
RBI0.000-1.000
SF0.0000.000
SO0.000-1.000
14. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H3.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R1.0000.000
RBI0.0000.000
SF0.0000.000
SO0.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 116
Reference playing time: 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.0004.0000.0000.0001.0002.0002.0001.0003.0000.30770.35710.53850.30770.07690.15380.07690.2308
last_100.2010-29.0009.0002.0000.0002.0007.0006.0002.0005.0000.31030.34380.58620.31030.06900.24140.06900.1724
season0.60116-275.00079.00025.0002.00015.00046.00041.00012.00064.0000.28730.31620.55640.28730.05460.16730.04360.2327
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1750
predicted_3B0.0110
predicted_AB2.6420
predicted_AVG0.2915
predicted_BB0.1500
predicted_H0.7700
predicted_HBP0.0070
predicted_HR0.1570
predicted_OBP0.3276
predicted_R0.4190
predicted_RBI0.4610
predicted_SLG0.5446
predicted_SO0.5830
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.22700.17500.2050model_form_blend
predicted_3B0.01800.01100.0150model_form_blend
predicted_AB2.50002.64202.5600model_form_blend
predicted_AVG0.28700.29150.2889model_form_blend
predicted_BB0.10900.15000.1263model_form_blend
predicted_H0.71800.77000.7400model_form_blend
predicted_HBP-0.00700.0070form_only
predicted_HR0.13600.15700.1449model_form_blend
predicted_OBP0.31700.32760.3215model_form_blend
predicted_R0.37300.41900.3924model_form_blend
predicted_RBI0.41800.46100.4362model_form_blend
predicted_SLG0.55600.54460.5512model_form_blend
predicted_SO0.58200.58300.5824model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB5
H3
2B1
3B0
HR0
R1
RBI0
BB0
SO0
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261007_CLE@CHW
game_typefull
mlbID545341
playerID545341
playerNameRandal Grichuk
posDH
startedTrue
startingPositionLF
teamCHW
teamID6
game_date2026-10-07
sl_k_percent21.8
sl_bb_percent3.9
sl_woba0.37
sl_xwoba0.335
sl_xba0.278
sl_xslg0.478
sl_sweet_spot_percent37.7
sl_barrel_batted_rate11.2
sl_hard_hit_percent49.8
sl_exit_velocity_avg91.3
sl_launch_angle_avg17.1
sl_whiff_percent24.0
sl_swing_percent53.0
Miguel Vargas (678246) · BATTER · 3B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 676
All-history rows before 20261008: 676
System season_avg: 0.2480
Data season_avg (2026 season-to-date): 0.2523
Diff (system - data): -0.0043
System opponent_avg: 0.1430

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1900.0000.000Hitting_2B0.2090.000-0.2090.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB4.2504.0004.000Hitting_AB3.8114.0000.1890.000
predicted_AVG0.2330.2500.250Hitting_AVG0.2520.250-0.0020.000
predicted_BB0.6501.0001.000Hitting_BB0.6431.0000.3570.000
predicted_CS-0.0000.000BaseRunning_CS0.0150.000-0.0150.000
predicted_H0.9901.0001.000Hitting_H0.9621.0000.0380.000
predicted_HR0.1400.0000.000Hitting_HR0.2160.000-0.2160.000
predicted_OBP0.3950.4000.400Hitting_OBP0.3640.4000.0360.000
predicted_R0.6691.0001.000Hitting_R0.7090.0000.2911.000
predicted_RBI0.5100.0000.000Hitting_RBI0.5860.000-0.5860.000
predicted_SLG0.3960.2500.250Hitting_SLG0.4800.250-0.2300.000
predicted_SO0.8041.0001.000Hitting_SO0.8142.0000.186-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.6500 -> 1.0000 (boost 0.3500, better)
Biggest Deboostpredicted_RBI: 0.5100 -> 0.0000 (deboost -0.5100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_BB: 0.6500 -> 0.7324 (boost 0.0824, better)predicted_AB: 4.2500 -> 3.9716 (deboost -0.2784, worse)Final model input calibrated 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.3840 -> 0.3492 (deboost -0.0348, 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_BB: 0.7342 -> 1.0000 (boost 0.2658, better)predicted_RBI: 0.4758 -> 0.0000 (deboost -0.4758, worse)AB rounded to 4 (raw=4.25), rates preserved: AVG=0.204 HR/AB=0.031
6bvp_blend00000--Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)
7consistency_constraints11010predicted_R: 0.6679 -> 1.0000 (boost 0.3321, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_RBI: 0.0000 -> 0.4950 (boost 0.4950, better)predicted_BB: 1.0000 -> 0.5654 (deboost -0.4346, 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_allocation94536predicted_BB: 0.5654 -> 1.0000 (boost 0.4346, better)predicted_RBI: 0.4950 -> 0.0000 (deboost -0.4950, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization00000--Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final22020predicted_SLG: 0.4160 -> 0.4240 (boost 0.0080, better)-Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "678246",
  "player_name": "Miguel Vargas",
  "position": "3B",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.19,
        "predicted_3B": 0.006,
        "predicted_AB": 4.25,
        "predicted_AVG": 0.233,
        "predicted_BB": 0.65,
        "predicted_H": 0.99,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.395,
        "predicted_R": 0.669,
        "predicted_RBI": 0.51,
        "predicted_SLG": 0.396,
        "predicted_SO": 0.804
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1562,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.9716,
        "predicted_AVG": 0.2295,
        "predicted_BB": 0.7324,
        "predicted_H": 0.9124,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1308,
        "predicted_OBP": 0.384,
        "predicted_R": 0.6716,
        "predicted_RBI": 0.4784,
        "predicted_SLG": 0.3789,
        "predicted_SO": 0.8312
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.25,
          "after": 3.9716,
          "delta": -0.2784,
          "percent_delta": -0.0655,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.65,
          "after": 0.7324,
          "delta": 0.0824,
          "percent_delta": 0.1268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.99,
          "after": 0.9124,
          "delta": -0.0776,
          "percent_delta": -0.0784,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.395,
          "after": 0.384,
          "delta": -0.011,
          "percent_delta": -0.0278,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.396,
          "after": 0.3789,
          "delta": -0.0171,
          "percent_delta": -0.0432,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.65,
          "after": 0.7324,
          "delta": 0.0824,
          "percent_delta": 0.1268,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.25,
          "after": 3.9716,
          "delta": -0.2784,
          "percent_delta": -0.0655,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 163
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1562,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.9716,
        "predicted_AVG": 0.2289,
        "predicted_BB": 0.7342,
        "predicted_H": 0.909,
        "predicted_HBP": 0.025,
        "predicted_HR": 0.1306,
        "predicted_OBP": 0.3492,
        "predicted_R": 0.6679,
        "predicted_RBI": 0.4758,
        "predicted_SLG": 0.3695,
        "predicted_SO": 0.8291
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.384,
          "after": 0.3492,
          "delta": -0.0348,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3789,
          "after": 0.3695,
          "delta": -0.0094,
          "percent_delta": -0.0248,
          "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_OBP",
          "before": 0.384,
          "after": 0.3492,
          "delta": -0.0348,
          "percent_delta": -0.0906,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.25), rates preserved: AVG=0.204 HR/AB=0.031",
      "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.1562,
          "after": 0.0,
          "delta": -0.1562,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.7342,
          "after": 1.0,
          "delta": 0.2658,
          "percent_delta": 0.362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.909,
          "after": 1.0,
          "delta": 0.091,
          "percent_delta": 0.1001,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1306,
          "after": 0.0,
          "delta": -0.1306,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4758,
          "after": 0.0,
          "delta": -0.4758,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8291,
          "after": 1.0,
          "delta": 0.1709,
          "percent_delta": 0.2061,
          "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.7342,
          "after": 1.0,
          "delta": 0.2658,
          "percent_delta": 0.362,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4758,
          "after": 0.0,
          "delta": -0.4758,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.143)",
      "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": [],
      "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
      }
    },
    {
      "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_R",
          "before": 0.6679,
          "after": 1.0,
          "delta": 0.3321,
          "percent_delta": 0.4972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.6679,
          "after": 1.0,
          "delta": 0.3321,
          "percent_delta": 0.4972,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1679,
        "predicted_3B": 0.0091,
        "predicted_BB": 0.5654,
        "predicted_H": 0.7961,
        "predicted_HR": 0.1855,
        "predicted_RBI": 0.495,
        "predicted_SO": 0.8327
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1679,
          "delta": 0.1679,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5654,
          "delta": -0.4346,
          "percent_delta": -0.4346,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7961,
          "delta": -0.2039,
          "percent_delta": -0.2039,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1855,
          "delta": 0.1855,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.495,
          "delta": 0.495,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8327,
          "delta": -0.1673,
          "percent_delta": -0.1673,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 3,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.495,
          "delta": 0.495,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5654,
          "delta": -0.4346,
          "percent_delta": -0.4346,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.215,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.416,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1679,
          "after": 0.0,
          "delta": -0.1679,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2289,
          "after": 0.215,
          "delta": -0.0139,
          "percent_delta": -0.0607,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5654,
          "after": 1.0,
          "delta": 0.4346,
          "percent_delta": 0.7687,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7961,
          "after": 1.0,
          "delta": 0.2039,
          "percent_delta": 0.2561,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1855,
          "after": 0.0,
          "delta": -0.1855,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3492,
          "after": 0.325,
          "delta": -0.0242,
          "percent_delta": -0.0693,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.495,
          "after": 0.0,
          "delta": -0.495,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3695,
          "after": 0.416,
          "delta": 0.0465,
          "percent_delta": 0.1258,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8327,
          "after": 1.0,
          "delta": 0.1673,
          "percent_delta": 0.2009,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 4,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.5654,
          "after": 1.0,
          "delta": 0.4346,
          "percent_delta": 0.7687,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.495,
          "after": 0.0,
          "delta": -0.495,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.215,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.325,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.416,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "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_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      }
    },
    {
      "index": 14,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 15,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.221,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.328,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.424,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.215,
          "after": 0.221,
          "delta": 0.006,
          "percent_delta": 0.0279,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.424,
          "delta": 0.008,
          "percent_delta": 0.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.416,
          "after": 0.424,
          "delta": 0.008,
          "percent_delta": 0.0192,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.19,
        "after": 0.0,
        "delta": -0.19,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.25,
        "after": 4.0,
        "delta": -0.25,
        "percent_delta": -0.0588,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.233,
        "after": 0.221,
        "delta": -0.012,
        "percent_delta": -0.0515,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.65,
        "after": 1.0,
        "delta": 0.35,
        "percent_delta": 0.5385,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.395,
        "after": 0.328,
        "delta": -0.067,
        "percent_delta": -0.1696,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.669,
        "after": 1.0,
        "delta": 0.331,
        "percent_delta": 0.4948,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.396,
        "after": 0.424,
        "delta": 0.028,
        "percent_delta": 0.0707,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.804,
        "after": 1.0,
        "delta": 0.196,
        "percent_delta": 0.2438,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.65,
        "after": 1.0,
        "delta": 0.35,
        "percent_delta": 0.5385,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.51,
        "after": 0.0,
        "delta": -0.51,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.190-
predicted_3B0.006-
predicted_AB4.250-
predicted_AVG0.233-
predicted_BB0.650-
predicted_H0.990-
predicted_HR0.140-
predicted_OBP0.395-
predicted_R0.669-
predicted_RBI0.510-
predicted_SLG0.396-
predicted_SO0.804-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.156-0.034
predicted_3B0.005-0.001
predicted_AB3.972-0.278
predicted_AVG0.230-0.004
predicted_BB0.7320.082
predicted_H0.912-0.078
predicted_HBP0.025-
predicted_HR0.131-0.009
predicted_OBP0.384-0.011
predicted_R0.6720.003
predicted_RBI0.478-0.032
predicted_SLG0.379-0.017
predicted_SO0.8310.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.1560.000
predicted_3B0.0050.000
predicted_AB3.9720.000
predicted_AVG0.229-0.001
predicted_BB0.7340.002
predicted_H0.909-0.003
predicted_HBP0.0250.000
predicted_HR0.131-0.000
predicted_OBP0.349-0.035
predicted_R0.668-0.004
predicted_RBI0.476-0.003
predicted_SLG0.369-0.009
predicted_SO0.829-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.25), rates preserved: AVG=0.204 HR/AB=0.031

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

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.1680.168
3B0.0090.009
BB0.565-0.435
H0.796-0.204
HR0.1850.185
RBI0.4950.495
SO0.833-0.167
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.168
3B0.000-0.009
AB4.0000.000
AVG0.215-
BB1.0000.435
H1.0000.204
HR0.000-0.185
OBP0.325-
R1.0000.000
RBI0.000-0.495
SLG0.416-
SO1.0000.167
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.005
predicted_AB4.0000.028
predicted_AVG0.215-0.014
predicted_BB1.0000.266
predicted_H1.0000.091
predicted_HR0.000-0.131
predicted_OBP0.325-0.024
predicted_R1.0000.332
predicted_RBI0.000-0.476
predicted_SLG0.4160.046
predicted_SO1.0000.171
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
13. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.000-
R1.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000
14. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R1.0000.000
RBI0.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: 163
Reference playing time: 4.250
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-17.0003.0000.0000.0000.0000.0003.0006.0005.0000.17650.39130.17650.17650.00000.00000.35290.2941
last_100.2010-35.0007.0000.0000.0000.0005.0008.00011.0009.0000.20000.38300.20000.20000.00000.14290.31430.2571
season0.60163-605.000150.00031.0001.00033.00093.000109.000106.000131.0000.24790.36280.46610.24790.05460.15370.17520.2165
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1130
predicted_3B0.0040
predicted_AB3.6150
predicted_AVG0.2250
predicted_BB0.8380
predicted_H0.8130
predicted_HBP0.0250
predicted_HR0.1190
predicted_OBP0.3699
predicted_R0.6750
predicted_RBI0.4380
predicted_SLG0.3570
predicted_SO0.8660
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.19000.11300.1562model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.25003.61503.9716model_form_blend
predicted_AVG0.23300.22500.2295model_form_blend
predicted_BB0.65000.83800.7324model_form_blend
predicted_H0.99000.81300.9124model_form_blend
predicted_HBP-0.02500.0250form_only
predicted_HR0.14000.11900.1308model_form_blend
predicted_OBP0.39500.36990.3840model_form_blend
predicted_R0.66900.67500.6716model_form_blend
predicted_RBI0.51000.43800.4784model_form_blend
predicted_SLG0.39600.35700.3789model_form_blend
predicted_SO0.80400.86600.8312model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB4
H1
2B0
3B0
HR0
R1
RBI0
BB1
SO1
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB1
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261007_CLE@CHW
game_typefull
mlbID678246
playerID678246
playerNameMiguel Vargas
pos3B
startedTrue
startingPosition3B
teamCHW
teamID6
game_date2026-10-07
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
Munetaka Murakami (808959) · BATTER · 1B · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 518
All-history rows before 20261008: 518
System season_avg: 0.2070
Data season_avg (2026 season-to-date): 0.2106
Diff (system - data): -0.0036
System opponent_avg: 0.2240

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1210.0000.000Hitting_2B0.1310.000-0.1310.000
predicted_3B0.0080.0000.000Hitting_3B0.0080.000-0.0080.000
predicted_AB3.5913.0003.000Hitting_AB3.6854.000-0.685-1.000
predicted_AVG0.2070.3330.333Hitting_AVG0.2110.0000.1230.333
predicted_BB0.7052.0002.000Hitting_BB0.7760.0001.2242.000
predicted_CS-0.0000.000BaseRunning_CS0.0250.000-0.0250.000
predicted_H0.7421.0001.000Hitting_H0.7760.0000.2241.000
predicted_HR0.2731.0001.000Hitting_HR0.2920.0000.7081.000
predicted_OBP0.3370.6000.600Hitting_OBP0.3530.0000.2470.600
predicted_R0.6441.0001.000Hitting_R0.7080.0000.2921.000
predicted_RBI0.6141.0001.000Hitting_RBI0.6220.0000.3781.000
predicted_SLG0.4731.3331.333Hitting_SLG0.4880.0000.8461.333
predicted_SO1.5682.0002.000Hitting_SO1.5813.0000.419-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_BB: 0.7050 -> 2.0000 (boost 1.2950, better)
Biggest Deboostpredicted_AB: 3.5910 -> 3.0000 (deboost -0.5910, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52314predicted_AB: 3.5910 -> 3.6716 (boost 0.0806, better)predicted_BB: 0.7050 -> 0.6183 (deboost -0.0867, worse)Final model input calibrated 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_scaling75243predicted_SO: 1.6179 -> 2.0000 (boost 0.3821, worse)predicted_HR: 0.2662 -> 0.0000 (deboost -0.2662, worse)AB rounded to 4 (raw=3.67), rates preserved: AVG=0.200 HR/AB=0.072
6consistency_constraints11010predicted_R: 0.6314 -> 1.0000 (boost 0.3686, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine62433predicted_HR: 0.0000 -> 0.2174 (boost 0.2174, better)predicted_BB: 1.0000 -> 0.5334 (deboost -0.4666, 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_allocation85344predicted_HR: 0.2174 -> 1.0000 (boost 0.7826, better)predicted_2B: 0.1454 -> 0.0000 (deboost -0.1454, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization21111predicted_BB: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final30303-predicted_AVG: 0.2080 -> 0.1960 (deboost -0.0120, worse)Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "808959",
  "player_name": "Munetaka Murakami",
  "position": "1B",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.121,
        "predicted_3B": 0.008,
        "predicted_AB": 3.591,
        "predicted_AVG": 0.207,
        "predicted_BB": 0.705,
        "predicted_H": 0.742,
        "predicted_HR": 0.273,
        "predicted_OBP": 0.337,
        "predicted_R": 0.644,
        "predicted_RBI": 0.614,
        "predicted_SLG": 0.473,
        "predicted_SO": 1.568
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1188,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6716,
        "predicted_AVG": 0.2103,
        "predicted_BB": 0.6183,
        "predicted_H": 0.7716,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.2665,
        "predicted_OBP": 0.3233,
        "predicted_R": 0.6349,
        "predicted_RBI": 0.6484,
        "predicted_SLG": 0.4646,
        "predicted_SO": 1.622
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.591,
          "after": 3.6716,
          "delta": 0.0806,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.705,
          "after": 0.6183,
          "delta": -0.0867,
          "percent_delta": -0.123,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.337,
          "after": 0.3233,
          "delta": -0.0137,
          "percent_delta": -0.0407,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.473,
          "after": 0.4646,
          "delta": -0.0084,
          "percent_delta": -0.0178,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.568,
          "after": 1.622,
          "delta": 0.054,
          "percent_delta": 0.0344,
          "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.591,
          "after": 3.6716,
          "delta": 0.0806,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.705,
          "after": 0.6183,
          "delta": -0.0867,
          "percent_delta": -0.123,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1188,
        "predicted_3B": 0.0067,
        "predicted_AB": 3.6716,
        "predicted_AVG": 0.2094,
        "predicted_BB": 0.6198,
        "predicted_H": 0.7687,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.2662,
        "predicted_OBP": 0.3236,
        "predicted_R": 0.6314,
        "predicted_RBI": 0.6448,
        "predicted_SLG": 0.4629,
        "predicted_SO": 1.6179
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.67), rates preserved: AVG=0.200 HR/AB=0.072",
      "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.1188,
          "after": 0.0,
          "delta": -0.1188,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6716,
          "after": 4.0,
          "delta": 0.3284,
          "percent_delta": 0.0894,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.6198,
          "after": 1.0,
          "delta": 0.3802,
          "percent_delta": 0.6134,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7687,
          "after": 1.0,
          "delta": 0.2313,
          "percent_delta": 0.3009,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2662,
          "after": 0.0,
          "delta": -0.2662,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6448,
          "after": 1.0,
          "delta": 0.3552,
          "percent_delta": 0.5509,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6179,
          "after": 2.0,
          "delta": 0.3821,
          "percent_delta": 0.2362,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 5,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.6179,
          "after": 2.0,
          "delta": 0.3821,
          "percent_delta": 0.2362,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2662,
          "after": 0.0,
          "delta": -0.2662,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.6314,
          "after": 1.0,
          "delta": 0.3686,
          "percent_delta": 0.5838,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.6314,
          "after": 1.0,
          "delta": 0.3686,
          "percent_delta": 0.5838,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1454,
        "predicted_3B": 0.0121,
        "predicted_BB": 0.5334,
        "predicted_H": 0.7806,
        "predicted_HR": 0.2174,
        "predicted_RBI": 0.5919,
        "predicted_SO": 1.7037
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1454,
          "delta": 0.1454,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5334,
          "delta": -0.4666,
          "percent_delta": -0.4666,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7806,
          "delta": -0.2194,
          "percent_delta": -0.2194,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2174,
          "delta": 0.2174,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5919,
          "delta": -0.4081,
          "percent_delta": -0.4081,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.7037,
          "delta": -0.2963,
          "percent_delta": -0.1482,
          "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.2174,
          "delta": 0.2174,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5334,
          "delta": -0.4666,
          "percent_delta": -0.4666,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.208,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.311,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.426,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1454,
          "after": 0.0,
          "delta": -0.1454,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5334,
          "after": 1.0,
          "delta": 0.4666,
          "percent_delta": 0.8748,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7806,
          "after": 1.0,
          "delta": 0.2194,
          "percent_delta": 0.2811,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2174,
          "after": 1.0,
          "delta": 0.7826,
          "percent_delta": 3.5998,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3236,
          "after": 0.311,
          "delta": -0.0126,
          "percent_delta": -0.0389,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5919,
          "after": 1.0,
          "delta": 0.4081,
          "percent_delta": 0.6895,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4629,
          "after": 0.426,
          "delta": -0.0369,
          "percent_delta": -0.0797,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.7037,
          "after": 2.0,
          "delta": 0.2963,
          "percent_delta": 0.1739,
          "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_HR",
          "before": 0.2174,
          "after": 1.0,
          "delta": 0.7826,
          "percent_delta": 3.5998,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1454,
          "after": 0.0,
          "delta": -0.1454,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.208,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.311,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.426,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 2.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.196,
        "predicted_BB": 2.0,
        "predicted_CS": 0.0,
        "predicted_FB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.415,
        "predicted_SO": 2.0,
        "predicted_TB": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.208,
          "after": 0.196,
          "delta": -0.012,
          "percent_delta": -0.0577,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.311,
          "after": 0.304,
          "delta": -0.007,
          "percent_delta": -0.0225,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.426,
          "after": 0.415,
          "delta": -0.011,
          "percent_delta": -0.0258,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.208,
          "after": 0.196,
          "delta": -0.012,
          "percent_delta": -0.0577,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.121,
        "after": 0.0,
        "delta": -0.121,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.591,
        "after": 3.0,
        "delta": -0.591,
        "percent_delta": -0.1646,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.207,
        "after": 0.196,
        "delta": -0.011,
        "percent_delta": -0.0531,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.705,
        "after": 2.0,
        "delta": 1.295,
        "percent_delta": 1.8369,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.742,
        "after": 1.0,
        "delta": 0.258,
        "percent_delta": 0.3477,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.273,
        "after": 1.0,
        "delta": 0.727,
        "percent_delta": 2.663,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.337,
        "after": 0.304,
        "delta": -0.033,
        "percent_delta": -0.0979,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.644,
        "after": 1.0,
        "delta": 0.356,
        "percent_delta": 0.5528,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.614,
        "after": 1.0,
        "delta": 0.386,
        "percent_delta": 0.6287,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.473,
        "after": 0.415,
        "delta": -0.058,
        "percent_delta": -0.1226,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.568,
        "after": 2.0,
        "delta": 0.432,
        "percent_delta": 0.2755,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.705,
        "after": 2.0,
        "delta": 1.295,
        "percent_delta": 1.8369,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 3.591,
        "after": 3.0,
        "delta": -0.591,
        "percent_delta": -0.1646,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.121-
predicted_3B0.008-
predicted_AB3.591-
predicted_AVG0.207-
predicted_BB0.705-
predicted_H0.742-
predicted_HR0.273-
predicted_OBP0.337-
predicted_R0.644-
predicted_RBI0.614-
predicted_SLG0.473-
predicted_SO1.568-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.119-0.002
predicted_3B0.007-0.001
predicted_AB3.6720.081
predicted_AVG0.2100.003
predicted_BB0.618-0.087
predicted_H0.7720.030
predicted_HBP0.029-
predicted_HR0.267-0.007
predicted_OBP0.323-0.014
predicted_R0.635-0.009
predicted_RBI0.6480.034
predicted_SLG0.465-0.008
predicted_SO1.6220.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.1190.000
predicted_3B0.0070.000
predicted_AB3.6720.000
predicted_AVG0.209-0.001
predicted_BB0.6200.002
predicted_H0.769-0.003
predicted_HBP0.0290.000
predicted_HR0.266-0.000
predicted_OBP0.3240.000
predicted_R0.631-0.004
predicted_RBI0.645-0.004
predicted_SLG0.463-0.002
predicted_SO1.618-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.67), rates preserved: AVG=0.200 HR/AB=0.072

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1450.145
3B0.0120.012
BB0.533-0.467
H0.781-0.219
HR0.2170.217
RBI0.592-0.408
SO1.704-0.296
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.145
3B0.000-0.012
AB4.0000.000
AVG0.208-
BB1.0000.467
H1.0000.219
HR1.0000.783
OBP0.311-
R1.0000.000
RBI1.0000.408
SLG0.426-
SO2.0000.296
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.119
predicted_3B0.000-0.007
predicted_AB4.0000.328
predicted_AVG0.208-0.001
predicted_BB1.0000.380
predicted_H1.0000.231
predicted_HR1.0000.734
predicted_OBP0.311-0.013
predicted_R1.0000.369
predicted_RBI1.0000.355
predicted_SLG0.426-0.037
predicted_SO2.0000.382
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB2.0001.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA5.000-
R1.0000.000
RBI1.0000.000
SF0.0000.000
SO2.0000.000
13. 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
BB2.0000.000
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA5.0000.000
R1.0000.000
RBI1.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 132
Reference playing time: 3.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.0004.0000.0000.0001.0004.0003.0001.00011.0000.20000.22730.35000.20000.05000.20000.05000.5500
last_100.2010-41.00010.0002.0000.0003.0009.0006.0002.00018.0000.24390.27270.51220.24390.07320.21950.04880.4390
season0.60132-474.00098.00016.0001.00036.00081.00085.00093.000207.0000.20680.34260.47260.20670.07600.17090.19620.4367
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1160
predicted_3B0.0050
predicted_AB3.7760
predicted_AVG0.2146
predicted_BB0.5060
predicted_H0.8100
predicted_HBP0.0290
predicted_HR0.2580
predicted_OBP0.3055
predicted_R0.6230
predicted_RBI0.6930
predicted_SLG0.4536
predicted_SO1.6920
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12100.11600.1188model_form_blend
predicted_3B0.00800.00500.0067model_form_blend
predicted_AB3.59103.77603.6716model_form_blend
predicted_AVG0.20700.21460.2103model_form_blend
predicted_BB0.70500.50600.6183model_form_blend
predicted_H0.74200.81000.7716model_form_blend
predicted_HBP-0.02900.0290form_only
predicted_HR0.27300.25800.2665model_form_blend
predicted_OBP0.33700.30550.3233model_form_blend
predicted_R0.64400.62300.6349model_form_blend
predicted_RBI0.61400.69300.6484model_form_blend
predicted_SLG0.47300.45360.4646model_form_blend
predicted_SO1.56801.69201.6220model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA5
AB3
H1
2B0
3B0
HR1
R1
RBI1
BB2
SO2
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO3
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261007_CLE@CHW
game_typefull
mlbID808959
playerID808959
playerNameMunetaka Murakami
posIF
startedTrue
startingPosition1B
teamCHW
teamID6
game_date2026-10-07
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
Tommy Pham (502054) · BATTER · DH · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 15
All-history rows before 20261008: 15
System season_avg: 0.0910
Data season_avg (2026 season-to-date): 0.1667
Diff (system - data): -0.0757
System opponent_avg: 0.1640
System season_avg diverges from 2026 season-to-date by -0.0757. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0000.0000.000Hitting_2B0.0000.0000.0000.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.5004.0004.000Hitting_AB2.4001.0001.6003.000
predicted_AVG0.1780.0000.000Hitting_AVG0.1670.000-0.1670.000
predicted_BB0.3790.0000.000Hitting_BB0.4670.000-0.4670.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.1000.0000.000Hitting_H0.4000.000-0.4000.000
predicted_HR0.0300.0000.000Hitting_HR0.2670.000-0.2670.000
predicted_OBP0.2350.0000.000Hitting_OBP0.3020.000-0.3020.000
predicted_R0.3030.0000.000Hitting_R0.4670.000-0.4670.000
predicted_RBI0.0801.0001.000Hitting_RBI0.8000.0000.2001.000
predicted_SLG0.2450.0000.000Hitting_SLG0.5000.000-0.5000.000
predicted_SO0.9091.0001.000Hitting_SO0.8000.0000.2001.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics9
Boosted Metrics6
Deboosted Metrics3
Better Metrics5
Worse Metrics4
Biggest Boostpredicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better)
Biggest Deboostpredicted_BB: 0.3790 -> 0.0000 (deboost -0.3790, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend65151predicted_H: 0.1000 -> 0.2094 (boost 0.1094, better)predicted_AVG: 0.1780 -> 0.1712 (deboost -0.0068, worse)Final model input calibrated 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.2543 -> 0.1442 (deboost -0.1101, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling52314predicted_AB: 2.6014 -> 3.0000 (boost 0.3986, better)predicted_BB: 0.3874 -> 0.0000 (deboost -0.3874, worse)AB rounded to 3 (raw=2.60), rates preserved: AVG=0.077 HR/AB=0.019
6consistency_constraints10101-predicted_R: 0.3333 -> 0.0000 (deboost -0.3333, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine55050predicted_H: 0.0000 -> 0.6777 (boost 0.6777, 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_allocation83535predicted_SLG: 0.1442 -> 0.3770 (boost 0.2328, better)predicted_H: 0.6777 -> 0.0000 (deboost -0.6777, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization22020predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final30303-predicted_SLG: 0.3770 -> 0.3620 (deboost -0.0150, worse)Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "502054",
  "player_name": "Tommy Pham",
  "position": "DH",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 2.5,
        "predicted_AVG": 0.178,
        "predicted_BB": 0.379,
        "predicted_H": 0.1,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.235,
        "predicted_R": 0.303,
        "predicted_RBI": 0.08,
        "predicted_SLG": 0.245,
        "predicted_SO": 0.909
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0186,
        "predicted_3B": 0.0016,
        "predicted_AB": 2.6014,
        "predicted_AVG": 0.1712,
        "predicted_BB": 0.3864,
        "predicted_H": 0.2094,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0483,
        "predicted_OBP": 0.2452,
        "predicted_R": 0.3351,
        "predicted_RBI": 0.1474,
        "predicted_SLG": 0.2543,
        "predicted_SO": 0.8621
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.5,
          "after": 2.6014,
          "delta": 0.1014,
          "percent_delta": 0.0406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.178,
          "after": 0.1712,
          "delta": -0.0068,
          "percent_delta": -0.0382,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.1,
          "after": 0.2094,
          "delta": 0.1094,
          "percent_delta": 1.094,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.235,
          "after": 0.2452,
          "delta": 0.0102,
          "percent_delta": 0.0434,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.08,
          "after": 0.1474,
          "delta": 0.0674,
          "percent_delta": 0.8425,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.245,
          "after": 0.2543,
          "delta": 0.0093,
          "percent_delta": 0.038,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.1,
          "after": 0.2094,
          "delta": 0.1094,
          "percent_delta": 1.094,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AVG",
          "before": 0.178,
          "after": 0.1712,
          "delta": -0.0068,
          "percent_delta": -0.0382,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 16
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0186,
        "predicted_3B": 0.0016,
        "predicted_AB": 2.6014,
        "predicted_AVG": 0.0802,
        "predicted_BB": 0.3874,
        "predicted_H": 0.2086,
        "predicted_HBP": 0.011,
        "predicted_HR": 0.0482,
        "predicted_OBP": 0.1994,
        "predicted_R": 0.3333,
        "predicted_RBI": 0.1466,
        "predicted_SLG": 0.1442,
        "predicted_SO": 0.8599
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.1712,
          "after": 0.0802,
          "delta": -0.091,
          "percent_delta": -0.5315,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2452,
          "after": 0.1994,
          "delta": -0.0458,
          "percent_delta": -0.1868,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2543,
          "after": 0.1442,
          "delta": -0.1101,
          "percent_delta": -0.433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.2543,
          "after": 0.1442,
          "delta": -0.1101,
          "percent_delta": -0.433,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.60), rates preserved: AVG=0.077 HR/AB=0.019",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.6014,
          "after": 3.0,
          "delta": 0.3986,
          "percent_delta": 0.1532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3874,
          "after": 0.0,
          "delta": -0.3874,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.2086,
          "after": 0.0,
          "delta": -0.2086,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.1466,
          "after": 0.0,
          "delta": -0.1466,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8599,
          "after": 1.0,
          "delta": 0.1401,
          "percent_delta": 0.1629,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.6014,
          "after": 3.0,
          "delta": 0.3986,
          "percent_delta": 0.1532,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3874,
          "after": 0.0,
          "delta": -0.3874,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.3333,
          "after": 0.0,
          "delta": -0.3333,
          "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_R",
          "before": 0.3333,
          "after": 0.0,
          "delta": -0.3333,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1439,
        "predicted_3B": 0.0108,
        "predicted_BB": 0.3349,
        "predicted_H": 0.6777,
        "predicted_HR": 0.107,
        "predicted_RBI": 0.3727,
        "predicted_SO": 0.986
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1439,
          "delta": 0.1439,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3349,
          "delta": 0.3349,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6777,
          "delta": 0.6777,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.107,
          "delta": 0.107,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3727,
          "delta": 0.3727,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 0.6777,
          "delta": 0.6777,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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_AVG": 0.219,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.377,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1439,
          "after": 0.0,
          "delta": -0.1439,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.0802,
          "after": 0.219,
          "delta": 0.1388,
          "percent_delta": 1.7307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3349,
          "after": 0.0,
          "delta": -0.3349,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6777,
          "after": 0.0,
          "delta": -0.6777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.107,
          "after": 0.0,
          "delta": -0.107,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1994,
          "after": 0.301,
          "delta": 0.1016,
          "percent_delta": 0.5095,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3727,
          "after": 0.0,
          "delta": -0.3727,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.1442,
          "after": 0.377,
          "delta": 0.2328,
          "percent_delta": 1.6144,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.1442,
          "after": 0.377,
          "delta": 0.2328,
          "percent_delta": 1.6144,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6777,
          "after": 0.0,
          "delta": -0.6777,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.219,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.301,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.377,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.207,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.295,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.362,
        "predicted_SO": 1.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.219,
          "after": 0.207,
          "delta": -0.012,
          "percent_delta": -0.0548,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.301,
          "after": 0.295,
          "delta": -0.006,
          "percent_delta": -0.0199,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.377,
          "after": 0.362,
          "delta": -0.015,
          "percent_delta": -0.0398,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.377,
          "after": 0.362,
          "delta": -0.015,
          "percent_delta": -0.0398,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.178,
        "after": 0.207,
        "delta": 0.029,
        "percent_delta": 0.1629,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.379,
        "after": 0.0,
        "delta": -0.379,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.235,
        "after": 0.295,
        "delta": 0.06,
        "percent_delta": 0.2553,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.303,
        "after": 0.0,
        "delta": -0.303,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.08,
        "after": 1.0,
        "delta": 0.92,
        "percent_delta": 11.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.245,
        "after": 0.362,
        "delta": 0.117,
        "percent_delta": 0.4776,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.909,
        "after": 1.0,
        "delta": 0.091,
        "percent_delta": 0.1001,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 9,
      "boosted_metrics": 6,
      "deboosted_metrics": 3,
      "better_metrics": 5,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.5,
        "after": 4.0,
        "delta": 1.5,
        "percent_delta": 0.6,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.379,
        "after": 0.0,
        "delta": -0.379,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.000-
predicted_3B0.000-
predicted_AB2.500-
predicted_AVG0.178-
predicted_BB0.379-
predicted_H0.100-
predicted_HR0.030-
predicted_OBP0.235-
predicted_R0.303-
predicted_RBI0.080-
predicted_SLG0.245-
predicted_SO0.909-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.0190.019
predicted_3B0.0020.002
predicted_AB2.6010.101
predicted_AVG0.171-0.007
predicted_BB0.3860.007
predicted_H0.2090.109
predicted_HBP0.011-
predicted_HR0.0480.018
predicted_OBP0.2450.010
predicted_R0.3350.032
predicted_RBI0.1470.067
predicted_SLG0.2540.009
predicted_SO0.862-0.047
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0190.000
predicted_3B0.0020.000
predicted_AB2.6010.000
predicted_AVG0.080-0.091
predicted_BB0.3870.001
predicted_H0.209-0.001
predicted_HBP0.0110.000
predicted_HR0.048-0.000
predicted_OBP0.199-0.046
predicted_R0.333-0.002
predicted_RBI0.147-0.001
predicted_SLG0.144-0.110
predicted_SO0.860-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.60), rates preserved: AVG=0.077 HR/AB=0.019

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1440.144
3B0.0110.011
BB0.3350.335
H0.6780.678
HR0.1070.107
RBI0.3730.373
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.144
3B0.000-0.011
AB3.0000.000
AVG0.219-
BB0.000-0.335
H0.000-0.678
HR0.000-0.107
OBP0.301-
R0.0000.000
RBI0.000-0.373
SLG0.377-
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.019
predicted_3B0.000-0.002
predicted_AB3.0000.399
predicted_AVG0.2190.139
predicted_BB0.000-0.387
predicted_H0.000-0.209
predicted_HR0.000-0.048
predicted_OBP0.3010.102
predicted_R0.000-0.333
predicted_RBI0.000-0.147
predicted_SLG0.3770.233
predicted_SO1.0000.140
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI1.0001.000
SF0.0000.000
SO1.0000.000
13. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 16
Reference playing time: 3.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-10.0000.0000.0000.0000.0000.0002.0003.0002.0000.00000.23080.00000.00000.00000.00000.30000.2000
last_100.2010-20.0003.0000.0000.0001.0003.0004.0005.0005.0000.15000.32000.30000.15000.05000.15000.25000.2500
season0.6016-33.0003.0000.0000.0001.0003.0004.0005.00012.0000.09090.21050.18180.09090.03030.09090.15150.3636
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0580
predicted_3B0.0050
predicted_AB2.8160
predicted_AVG0.1567
predicted_BB0.4020
predicted_H0.4410
predicted_HBP0.0110
predicted_HR0.0870
predicted_OBP0.2669
predicted_R0.4030
predicted_RBI0.2900
predicted_SLG0.2741
predicted_SO0.7630
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.00000.05800.0186model_form_blend
predicted_3B0.00000.00500.0016model_form_blend
predicted_AB2.50002.81602.6014model_form_blend
predicted_AVG0.17800.15670.1712model_form_blend
predicted_BB0.37900.40200.3864model_form_blend
predicted_H0.10000.44100.2094model_form_blend
predicted_HBP-0.01100.0110form_only
predicted_HR0.03000.08700.0483model_form_blend
predicted_OBP0.23500.26690.2452model_form_blend
predicted_R0.30300.40300.3351model_form_blend
predicted_RBI0.08000.29000.1474model_form_blend
predicted_SLG0.24500.27410.2543model_form_blend
predicted_SO0.90900.76300.8621model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H0
2B0
3B0
HR0
R0
RBI1
BB0
SO1
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedPH
gameID20261005_CHW@CLE
game_typeph
mlbID502054
noteFlied out for Peters in the 6th.
playerID502054
playerNameTommy Pham
posDH
startedFalse
startingPositionPH
teamCHW
teamID6
game_date2026-10-05
sl_k_percent31.4
sl_bb_percent14.3
sl_woba0.209
sl_xwoba0.317
sl_xba0.236
sl_xslg0.354
sl_sweet_spot_percent26.3
sl_barrel_batted_rate5.3
sl_hard_hit_percent52.6
sl_exit_velocity_avg93.6
sl_launch_angle_avg12.7
sl_whiff_percent34.5
sl_swing_percent41.7
Brenton Doyle (686668) · BATTER · CF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 88
All-history rows before 20261008: 88
System season_avg: 0.2310
Data season_avg (2026 season-to-date): 0.2659
Diff (system - data): -0.0349
System opponent_avg: 0.1920
System season_avg diverges from 2026 season-to-date by -0.0349. 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.0920.0000.000Hitting_2B0.0680.000-0.0680.000
predicted_3B0.0130.0000.000Hitting_3B0.0110.000-0.0110.000
predicted_AB2.8424.0004.000Hitting_AB2.8641.0001.1363.000
predicted_AVG0.2310.0000.000Hitting_AVG0.2660.000-0.2660.000
predicted_BB0.1580.0000.000Hitting_BB0.0000.0000.0000.000
predicted_CS-0.0000.000BaseRunning_CS0.0340.000-0.0340.000
predicted_H0.2300.0000.000Hitting_H0.7610.000-0.7610.000
predicted_HR0.0600.0000.000Hitting_HR0.1140.000-0.1140.000
predicted_OBP0.2530.0000.000Hitting_OBP0.2660.000-0.2660.000
predicted_R0.4340.0000.000Hitting_R0.2610.000-0.2610.000
predicted_RBI0.1400.0000.000Hitting_RBI0.3750.000-0.3750.000
predicted_SLG0.4030.0000.000Hitting_SLG0.4170.000-0.4170.000
predicted_SO0.9740.0000.000Hitting_SO0.8750.000-0.8750.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics2
Worse Metrics8
Biggest Boostpredicted_AB: 2.8420 -> 4.0000 (boost 1.1580, better)
Biggest Deboostpredicted_SO: 0.9740 -> 0.0000 (deboost -0.9740, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend65160predicted_H: 0.2300 -> 0.4276 (boost 0.1976, better)predicted_SO: 0.9740 -> 0.9049 (deboost -0.0691, 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.4330 -> 0.3069 (deboost -0.1261, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling72516predicted_AB: 2.8674 -> 3.0000 (boost 0.1326, better)predicted_H: 0.4260 -> 0.0000 (deboost -0.4260, worse)AB rounded to 3 (raw=2.87), rates preserved: AVG=0.142 HR/AB=0.040
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
7consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.4527 -> 0.0000 (deboost -0.4527, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.3420 (boost 0.3420, better)predicted_H: 1.0000 -> 0.7923 (deboost -0.2077, 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_allocation94554predicted_H: 0.7923 -> 1.0000 (boost 0.2077, better)predicted_RBI: 0.3420 -> 0.0000 (deboost -0.3420, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization31221predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_AVG: 0.2270 -> 0.1990 (deboost -0.0280, worse)Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "686668",
  "player_name": "Brenton Doyle",
  "position": "CF",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.092,
        "predicted_3B": 0.013,
        "predicted_AB": 2.842,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.158,
        "predicted_H": 0.23,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.253,
        "predicted_R": 0.434,
        "predicted_RBI": 0.14,
        "predicted_SLG": 0.403,
        "predicted_SO": 0.974
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0883,
        "predicted_3B": 0.0113,
        "predicted_AB": 2.8674,
        "predicted_AVG": 0.236,
        "predicted_BB": 0.1376,
        "predicted_H": 0.4276,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1145,
        "predicted_OBP": 0.2605,
        "predicted_R": 0.4552,
        "predicted_RBI": 0.2286,
        "predicted_SLG": 0.433,
        "predicted_SO": 0.9049
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 0.23,
          "after": 0.4276,
          "delta": 0.1976,
          "percent_delta": 0.8591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.06,
          "after": 0.1145,
          "delta": 0.0545,
          "percent_delta": 0.9083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.253,
          "after": 0.2605,
          "delta": 0.0075,
          "percent_delta": 0.0296,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.14,
          "after": 0.2286,
          "delta": 0.0886,
          "percent_delta": 0.6329,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.403,
          "after": 0.433,
          "delta": 0.03,
          "percent_delta": 0.0744,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.974,
          "after": 0.9049,
          "delta": -0.0691,
          "percent_delta": -0.0709,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 5,
        "deboosted_metrics": 1,
        "better_metrics": 6,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.23,
          "after": 0.4276,
          "delta": 0.1976,
          "percent_delta": 0.8591,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.974,
          "after": 0.9049,
          "delta": -0.0691,
          "percent_delta": -0.0709,
          "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": 76
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0883,
        "predicted_3B": 0.0113,
        "predicted_AB": 2.8674,
        "predicted_AVG": 0.1486,
        "predicted_BB": 0.1379,
        "predicted_H": 0.426,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1144,
        "predicted_OBP": 0.1877,
        "predicted_R": 0.4527,
        "predicted_RBI": 0.2273,
        "predicted_SLG": 0.3069,
        "predicted_SO": 0.9026
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.236,
          "after": 0.1486,
          "delta": -0.0874,
          "percent_delta": -0.3703,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2605,
          "after": 0.1877,
          "delta": -0.0728,
          "percent_delta": -0.2795,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.3069,
          "delta": -0.1261,
          "percent_delta": -0.2912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.433,
          "after": 0.3069,
          "delta": -0.1261,
          "percent_delta": -0.2912,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.87), rates preserved: AVG=0.142 HR/AB=0.040",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0883,
          "after": 0.0,
          "delta": -0.0883,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.8674,
          "after": 3.0,
          "delta": 0.1326,
          "percent_delta": 0.0462,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1379,
          "after": 0.0,
          "delta": -0.1379,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.426,
          "after": 0.0,
          "delta": -0.426,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1144,
          "after": 0.0,
          "delta": -0.1144,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2273,
          "after": 0.0,
          "delta": -0.2273,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9026,
          "after": 1.0,
          "delta": 0.0974,
          "percent_delta": 0.1079,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 2,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 2.8674,
          "after": 3.0,
          "delta": 0.1326,
          "percent_delta": 0.0462,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.426,
          "after": 0.0,
          "delta": -0.426,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.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": {
        "model_expectation": 0.9333,
        "bvp": 0.0667
      }
    },
    {
      "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4527,
          "after": 0.0,
          "delta": -0.4527,
          "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4527,
          "after": 0.0,
          "delta": -0.4527,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "hitter_rate_engine",
      "description": "Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context",
      "stats": {
        "predicted_2B": 0.1549,
        "predicted_3B": 0.0127,
        "predicted_BB": 0.252,
        "predicted_H": 0.7923,
        "predicted_HR": 0.1108,
        "predicted_RBI": 0.342,
        "predicted_SO": 1.3345
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1549,
          "delta": 0.1549,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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.7923,
          "delta": -0.2077,
          "percent_delta": -0.2077,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1108,
          "delta": 0.1108,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.342,
          "delta": 0.342,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3345,
          "delta": 0.3345,
          "percent_delta": 0.3345,
          "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.342,
          "delta": 0.342,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7923,
          "delta": -0.2077,
          "percent_delta": -0.2077,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.373,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1549,
          "after": 0.0,
          "delta": -0.1549,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1486,
          "after": 0.227,
          "delta": 0.0784,
          "percent_delta": 0.5276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "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.7923,
          "after": 1.0,
          "delta": 0.2077,
          "percent_delta": 0.2621,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1108,
          "after": 0.0,
          "delta": -0.1108,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.1877,
          "after": 0.284,
          "delta": 0.0963,
          "percent_delta": 0.5131,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.342,
          "after": 0.0,
          "delta": -0.342,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3069,
          "after": 0.373,
          "delta": 0.0661,
          "percent_delta": 0.2154,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3345,
          "after": 1.0,
          "delta": -0.3345,
          "percent_delta": -0.2507,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 4,
        "deboosted_metrics": 5,
        "better_metrics": 5,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7923,
          "after": 1.0,
          "delta": 0.2077,
          "percent_delta": 0.2621,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.342,
          "after": 0.0,
          "delta": -0.342,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.284,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.373,
        "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
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "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_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 14,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 15,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.199,
        "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.256,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.199,
          "delta": -0.028,
          "percent_delta": -0.1233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.284,
          "after": 0.256,
          "delta": -0.028,
          "percent_delta": -0.0986,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.373,
          "after": 0.345,
          "delta": -0.028,
          "percent_delta": -0.0751,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.227,
          "after": 0.199,
          "delta": -0.028,
          "percent_delta": -0.1233,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.092,
        "after": 0.0,
        "delta": -0.092,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.842,
        "after": 4.0,
        "delta": 1.158,
        "percent_delta": 0.4075,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.231,
        "after": 0.199,
        "delta": -0.032,
        "percent_delta": -0.1385,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.158,
        "after": 0.0,
        "delta": -0.158,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.23,
        "after": 0.0,
        "delta": -0.23,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.434,
        "after": 0.0,
        "delta": -0.434,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.403,
        "after": 0.345,
        "delta": -0.058,
        "percent_delta": -0.1439,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.974,
        "after": 0.0,
        "delta": -0.974,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 2,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.842,
        "after": 4.0,
        "delta": 1.158,
        "percent_delta": 0.4075,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.974,
        "after": 0.0,
        "delta": -0.974,
        "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.092-
predicted_3B0.013-
predicted_AB2.842-
predicted_AVG0.231-
predicted_BB0.158-
predicted_H0.230-
predicted_HR0.060-
predicted_OBP0.253-
predicted_R0.434-
predicted_RBI0.140-
predicted_SLG0.403-
predicted_SO0.974-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.088-0.004
predicted_3B0.011-0.002
predicted_AB2.8670.025
predicted_AVG0.2360.005
predicted_BB0.138-0.020
predicted_H0.4280.198
predicted_HBP0.003-
predicted_HR0.1150.055
predicted_OBP0.2610.008
predicted_R0.4550.021
predicted_RBI0.2290.089
predicted_SLG0.4330.030
predicted_SO0.905-0.069
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0880.000
predicted_3B0.0110.000
predicted_AB2.8670.000
predicted_AVG0.149-0.087
predicted_BB0.1380.000
predicted_H0.426-0.002
predicted_HBP0.0030.000
predicted_HR0.114-0.000
predicted_OBP0.188-0.073
predicted_R0.453-0.003
predicted_RBI0.227-0.001
predicted_SLG0.307-0.126
predicted_SO0.903-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.87), rates preserved: AVG=0.142 HR/AB=0.040

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
H0.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.0001.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.1550.155
3B0.0130.013
BB0.2520.252
H0.792-0.208
HR0.1110.111
RBI0.3420.342
SO1.3350.335
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.155
3B0.000-0.013
AB3.0000.000
AVG0.227-
BB0.000-0.252
H1.0000.208
HR0.000-0.111
OBP0.284-
R0.0000.000
RBI0.000-0.342
SLG0.373-
SO1.000-0.335
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.088
predicted_3B0.000-0.011
predicted_AB3.0000.133
predicted_AVG0.2270.078
predicted_BB0.000-0.138
predicted_H1.0000.574
predicted_HR0.000-0.114
predicted_OBP0.2840.096
predicted_R0.000-0.453
predicted_RBI0.000-0.227
predicted_SLG0.3730.066
predicted_SO1.0000.097
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
13. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO0.000-1.000
14. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.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: 76
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-12.0003.0000.0000.0002.0003.0002.0000.0002.0000.25000.25000.75000.25000.16670.25000.00000.1667
last_100.2010-30.0008.0001.0000.0003.0004.0007.0000.0007.0000.26670.26670.60000.26670.10000.13330.00000.2333
season0.6076-216.00050.0007.0001.0006.00016.00033.00012.00074.0000.23150.27190.35650.23150.02780.07410.05560.3426
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0830
predicted_3B0.0090
predicted_AB2.9030
predicted_AVG0.2429
predicted_BB0.1090
predicted_H0.7050
predicted_HBP0.0030
predicted_HR0.1910
predicted_OBP0.2710
predicted_R0.4850
predicted_RBI0.3530
predicted_SLG0.4750
predicted_SO0.8080
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09200.08300.0883model_form_blend
predicted_3B0.01300.00900.0113model_form_blend
predicted_AB2.84202.90302.8674model_form_blend
predicted_AVG0.23100.24290.2360model_form_blend
predicted_BB0.15800.10900.1376model_form_blend
predicted_H0.23000.70500.4276model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.06000.19100.1145model_form_blend
predicted_OBP0.25300.27100.2605model_form_blend
predicted_R0.43400.48500.4552model_form_blend
predicted_RBI0.14000.35300.2286model_form_blend
predicted_SLG0.40300.47500.4330model_form_blend
predicted_SO0.97400.80800.9049model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB1
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder6
Hitting_substitutionOrder2
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20261005_CHW@CLE
game_typeshort
mlbID686668
playerID686668
playerNameBrenton Doyle
posCF
startedFalse
startingPositionCF
teamCHW
teamID6
game_date2026-10-05
sl_k_percent32.7
sl_bb_percent5.4
sl_woba0.28
sl_xwoba0.245
sl_xba0.203
sl_xslg0.307
sl_sweet_spot_percent26.8
sl_barrel_batted_rate6.7
sl_hard_hit_percent35.5
sl_exit_velocity_avg89.1
sl_launch_angle_avg8.6
sl_whiff_percent32.5
sl_swing_percent54.5
Kyle Teel (691019) · BATTER · C · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 120
All-history rows before 20261008: 120
System season_avg: 0.2140
Data season_avg (2026 season-to-date): 0.2075
Diff (system - data): 0.0065
System opponent_avg: 0.1500

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0930.0000.000Hitting_2B0.1331.000-0.133-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.4904.0004.000Hitting_AB3.5334.0000.4670.000
predicted_AVG0.2220.2500.250Hitting_AVG0.2080.2500.0420.000
predicted_BB0.4190.0000.000Hitting_BB0.5500.000-0.5500.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.7801.0001.000Hitting_H0.7331.0000.2670.000
predicted_HR0.1000.0000.000Hitting_HR0.1670.000-0.1670.000
predicted_OBP0.3090.2500.250Hitting_OBP0.3250.250-0.0750.000
predicted_R0.5350.0000.000Hitting_R0.6000.000-0.6000.000
predicted_RBI0.5601.0001.000Hitting_RBI0.8581.0000.1420.000
predicted_SLG0.3460.2500.250Hitting_SLG0.3870.500-0.137-0.250
predicted_SO1.3951.0001.000Hitting_SO1.5422.000-0.542-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_AB: 3.4900 -> 4.0000 (boost 0.5100, better)
Biggest Deboostpredicted_R: 0.5350 -> 0.0000 (deboost -0.5350, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend11010predicted_AVG: 0.2220 -> 0.2283 (boost 0.0063, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.3506 -> 0.3437 (deboost -0.0069, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82635predicted_RBI: 0.5746 -> 1.0000 (boost 0.4254, better)predicted_AB: 3.5244 -> 3.0000 (deboost -0.5244, worse)AB rounded to 3 (raw=3.52), rates preserved: AVG=0.218 HR/AB=0.028
6consistency_constraints11010predicted_R: 0.5529 -> 1.0000 (boost 0.4471, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64233predicted_SO: 1.0000 -> 1.4822 (boost 0.4822, worse)predicted_RBI: 1.0000 -> 0.5601 (deboost -0.4399, 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_allocation84435predicted_SO: 1.4822 -> 2.0000 (boost 0.5178, worse)predicted_BB: 0.3286 -> 0.0000 (deboost -0.3286, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
11market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
12play_by_play_realization31221predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final30303-predicted_SLG: 0.3740 -> 0.3490 (deboost -0.0250, worse)Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "691019",
  "player_name": "Kyle Teel",
  "position": "C",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.093,
        "predicted_3B": 0.0,
        "predicted_AB": 3.49,
        "predicted_AVG": 0.222,
        "predicted_BB": 0.419,
        "predicted_H": 0.78,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.309,
        "predicted_R": 0.535,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.346,
        "predicted_SO": 1.395
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1051,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.5244,
        "predicted_AVG": 0.2283,
        "predicted_BB": 0.3976,
        "predicted_H": 0.8079,
        "predicted_HBP": 0.089,
        "predicted_HR": 0.1,
        "predicted_OBP": 0.3136,
        "predicted_R": 0.556,
        "predicted_RBI": 0.5778,
        "predicted_SLG": 0.3506,
        "predicted_SO": 1.3986
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2283,
          "delta": 0.0063,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.2283,
          "delta": 0.0063,
          "percent_delta": 0.0284,
          "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": 43
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1051,
        "predicted_3B": 0.0008,
        "predicted_AB": 3.5244,
        "predicted_AVG": 0.2284,
        "predicted_BB": 0.3986,
        "predicted_H": 0.8049,
        "predicted_HBP": 0.089,
        "predicted_HR": 0.0999,
        "predicted_OBP": 0.3068,
        "predicted_R": 0.5529,
        "predicted_RBI": 0.5746,
        "predicted_SLG": 0.3437,
        "predicted_SO": 1.3951
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3136,
          "after": 0.3068,
          "delta": -0.0068,
          "percent_delta": -0.0217,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3506,
          "after": 0.3437,
          "delta": -0.0069,
          "percent_delta": -0.0197,
          "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_SLG",
          "before": 0.3506,
          "after": 0.3437,
          "delta": -0.0069,
          "percent_delta": -0.0197,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.52), rates preserved: AVG=0.218 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1051,
          "after": 0.0,
          "delta": -0.1051,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5244,
          "after": 3.0,
          "delta": -0.5244,
          "percent_delta": -0.1488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3986,
          "after": 0.0,
          "delta": -0.3986,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8049,
          "after": 1.0,
          "delta": 0.1951,
          "percent_delta": 0.2424,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.089,
          "after": 0.0,
          "delta": -0.089,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0999,
          "after": 0.0,
          "delta": -0.0999,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5746,
          "after": 1.0,
          "delta": 0.4254,
          "percent_delta": 0.7403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3951,
          "after": 1.0,
          "delta": -0.3951,
          "percent_delta": -0.2832,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 3,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5746,
          "after": 1.0,
          "delta": 0.4254,
          "percent_delta": 0.7403,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5244,
          "after": 3.0,
          "delta": -0.5244,
          "percent_delta": -0.1488,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.5529,
          "after": 1.0,
          "delta": 0.4471,
          "percent_delta": 0.8086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5529,
          "after": 1.0,
          "delta": 0.4471,
          "percent_delta": 0.8086,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1416,
        "predicted_3B": 0.0118,
        "predicted_BB": 0.3286,
        "predicted_H": 0.772,
        "predicted_HR": 0.115,
        "predicted_RBI": 0.5601,
        "predicted_SO": 1.4822
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1416,
          "delta": 0.1416,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3286,
          "delta": 0.3286,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.772,
          "delta": -0.228,
          "percent_delta": -0.228,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.115,
          "delta": 0.115,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5601,
          "delta": -0.4399,
          "percent_delta": -0.4399,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4822,
          "delta": 0.4822,
          "percent_delta": 0.4822,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4822,
          "delta": 0.4822,
          "percent_delta": 0.4822,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5601,
          "delta": -0.4399,
          "percent_delta": -0.4399,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.374,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1416,
          "after": 0.0,
          "delta": -0.1416,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3286,
          "after": 0.0,
          "delta": -0.3286,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.772,
          "after": 1.0,
          "delta": 0.228,
          "percent_delta": 0.2953,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.115,
          "after": 0.0,
          "delta": -0.115,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3068,
          "after": 0.298,
          "delta": -0.0088,
          "percent_delta": -0.0287,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5601,
          "after": 1.0,
          "delta": 0.4399,
          "percent_delta": 0.7854,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3437,
          "after": 0.374,
          "delta": 0.0303,
          "percent_delta": 0.0882,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4822,
          "after": 2.0,
          "delta": 0.5178,
          "percent_delta": 0.3493,
          "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.4822,
          "after": 2.0,
          "delta": 0.5178,
          "percent_delta": 0.3493,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3286,
          "after": 0.0,
          "delta": -0.3286,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.225,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.374,
        "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
      }
    },
    {
      "index": 10,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 11,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 12,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "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_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 13,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.202,
        "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.289,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.349,
        "predicted_SO": 1.0,
        "predicted_TB": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.225,
          "after": 0.202,
          "delta": -0.023,
          "percent_delta": -0.1022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.298,
          "after": 0.289,
          "delta": -0.009,
          "percent_delta": -0.0302,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.374,
          "after": 0.349,
          "delta": -0.025,
          "percent_delta": -0.0668,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.374,
          "after": 0.349,
          "delta": -0.025,
          "percent_delta": -0.0668,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.093,
        "after": 0.0,
        "delta": -0.093,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.49,
        "after": 4.0,
        "delta": 0.51,
        "percent_delta": 0.1461,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.222,
        "after": 0.202,
        "delta": -0.02,
        "percent_delta": -0.0901,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.419,
        "after": 0.0,
        "delta": -0.419,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.78,
        "after": 1.0,
        "delta": 0.22,
        "percent_delta": 0.2821,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.089,
        "after": 0.0,
        "delta": -0.089,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.1,
        "after": 0.0,
        "delta": -0.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.309,
        "after": 0.289,
        "delta": -0.02,
        "percent_delta": -0.0647,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.535,
        "after": 0.0,
        "delta": -0.535,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 1.0,
        "delta": 0.44,
        "percent_delta": 0.7857,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.395,
        "after": 1.0,
        "delta": -0.395,
        "percent_delta": -0.2832,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.49,
        "after": 4.0,
        "delta": 0.51,
        "percent_delta": 0.1461,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.535,
        "after": 0.0,
        "delta": -0.535,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.093-
predicted_3B0.000-
predicted_AB3.490-
predicted_AVG0.222-
predicted_BB0.419-
predicted_H0.780-
predicted_HR0.100-
predicted_OBP0.309-
predicted_R0.535-
predicted_RBI0.560-
predicted_SLG0.346-
predicted_SO1.395-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1050.012
predicted_3B0.0010.001
predicted_AB3.5240.034
predicted_AVG0.2280.006
predicted_BB0.398-0.021
predicted_H0.8080.028
predicted_HBP0.089-
predicted_HR0.1000.000
predicted_OBP0.3140.005
predicted_R0.5560.021
predicted_RBI0.5780.018
predicted_SLG0.3510.005
predicted_SO1.3990.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.1050.000
predicted_3B0.0010.000
predicted_AB3.5240.000
predicted_AVG0.2280.000
predicted_BB0.3990.001
predicted_H0.805-0.003
predicted_HBP0.0890.000
predicted_HR0.100-0.000
predicted_OBP0.307-0.007
predicted_R0.553-0.003
predicted_RBI0.575-0.003
predicted_SLG0.344-0.007
predicted_SO1.395-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.52), rates preserved: AVG=0.218 HR/AB=0.028

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1420.142
3B0.0120.012
BB0.3290.329
H0.772-0.228
HR0.1150.115
RBI0.560-0.440
SO1.4820.482
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.142
3B0.000-0.012
AB3.0000.000
AVG0.225-
BB0.000-0.329
H1.0000.228
HR0.000-0.115
OBP0.298-
R1.0000.000
RBI1.0000.440
SLG0.374-
SO2.0000.518
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.105
predicted_3B0.000-0.001
predicted_AB3.000-0.524
predicted_AVG0.225-0.003
predicted_BB0.000-0.399
predicted_H1.0000.195
predicted_HR0.000-0.100
predicted_OBP0.298-0.009
predicted_R1.0000.447
predicted_RBI1.0000.425
predicted_SLG0.3740.030
predicted_SO2.0000.605
10. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
11. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
12. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI1.0000.000
SF0.0000.000
SO1.000-1.000
13. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.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: 43
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.0005.0001.0000.0000.0002.0003.0001.0009.0000.23810.27270.28570.23810.00000.09520.04760.4286
last_100.2010-37.00011.0001.0000.0001.0007.0008.0004.00015.0000.29730.38640.40540.29730.02700.18920.10810.4054
season0.6043-140.00030.0004.0000.0005.00028.00023.00018.00060.0000.21430.31900.35000.21430.03570.20000.12860.4286
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1230
predicted_3B0.0020
predicted_AB3.5750
predicted_AVG0.2376
predicted_BB0.3660
predicted_H0.8490
predicted_HBP0.0890
predicted_HR0.1000
predicted_OBP0.3204
predicted_R0.5870
predicted_RBI0.6040
predicted_SLG0.3574
predicted_SO1.4040
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09300.12300.1051model_form_blend
predicted_3B0.00000.00200.0008model_form_blend
predicted_AB3.49003.57503.5244model_form_blend
predicted_AVG0.22200.23760.2283model_form_blend
predicted_BB0.41900.36600.3976model_form_blend
predicted_H0.78000.84900.8079model_form_blend
predicted_HBP-0.08900.0890form_only
predicted_HR0.10000.10000.1000model_form_blend
predicted_OBP0.30900.32040.3136model_form_blend
predicted_R0.53500.58700.5560model_form_blend
predicted_RBI0.56000.60400.5778model_form_blend
predicted_SLG0.34600.35740.3506model_form_blend
predicted_SO1.39501.40401.3986model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB2
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261007_CLE@CHW
game_typefull
mlbID691019
playerID691019
playerNameKyle Teel
posC
startedTrue
startingPositionC
teamCHW
teamID6
game_date2026-10-07
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
Braden Montgomery (695731) · BATTER · RF · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 350
All-history rows before 20261008: 350
System season_avg: 0.2230
Data season_avg (2026 season-to-date): 0.2157
Diff (system - data): 0.0073
System opponent_avg: 0.2890

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1750.0000.000Hitting_2B0.1630.000-0.1630.000
predicted_3B0.0311.0001.000Hitting_3B0.0400.0000.9601.000
predicted_AB3.5154.0004.000Hitting_AB3.6433.0000.3571.000
predicted_AVG0.2230.2500.250Hitting_AVG0.2160.0000.0340.250
predicted_BB0.4020.0000.000Hitting_BB0.4831.000-0.483-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0370.000-0.0370.000
predicted_H0.7841.0001.000Hitting_H0.7860.0000.2141.000
predicted_HR0.0620.0000.000Hitting_HR0.0740.000-0.0740.000
predicted_OBP0.3030.2500.250Hitting_OBP0.3120.250-0.0620.000
predicted_R0.5050.0000.000Hitting_R0.5541.000-0.554-1.000
predicted_RBI0.4120.0000.000Hitting_RBI0.4830.000-0.4830.000
predicted_SLG0.3430.7500.750Hitting_SLG0.3440.0000.4060.750
predicted_SO0.8252.0002.000Hitting_SO0.8342.0001.1660.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics5
Deboosted Metrics7
Better Metrics4
Worse Metrics8
Biggest Boostpredicted_SO: 0.8250 -> 2.0000 (boost 1.1750, worse)
Biggest Deboostpredicted_R: 0.5050 -> 0.0000 (deboost -0.5050, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21102predicted_SO: 0.8250 -> 0.9009 (boost 0.0759, worse)predicted_SLG: 0.3430 -> 0.3377 (deboost -0.0053, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_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_H: 0.7969 -> 1.0000 (boost 0.2031, better)predicted_AB: 3.5296 -> 3.0000 (deboost -0.5296, worse)AB rounded to 3 (raw=3.53), rates preserved: AVG=0.215 HR/AB=0.015
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
7consistency_constraints11010predicted_R: 0.5253 -> 1.0000 (boost 0.4747, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4015 (boost 0.4015, better)predicted_H: 1.0000 -> 0.7386 (deboost -0.2614, 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_allocation84435predicted_H: 0.7386 -> 1.0000 (boost 0.2614, better)predicted_RBI: 0.4015 -> 0.0000 (deboost -0.4015, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization43122predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final30303-predicted_OBP: 0.3040 -> 0.2880 (deboost -0.0160, worse)Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "695731",
  "player_name": "Braden Montgomery",
  "position": "RF",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.175,
        "predicted_3B": 0.031,
        "predicted_AB": 3.515,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.402,
        "predicted_H": 0.784,
        "predicted_HR": 0.062,
        "predicted_OBP": 0.303,
        "predicted_R": 0.505,
        "predicted_RBI": 0.412,
        "predicted_SLG": 0.343,
        "predicted_SO": 0.825
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1793,
        "predicted_3B": 0.0254,
        "predicted_AB": 3.5296,
        "predicted_AVG": 0.2266,
        "predicted_BB": 0.3578,
        "predicted_H": 0.7999,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0543,
        "predicted_OBP": 0.2991,
        "predicted_R": 0.5282,
        "predicted_RBI": 0.3961,
        "predicted_SLG": 0.3377,
        "predicted_SO": 0.9009
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.343,
          "after": 0.3377,
          "delta": -0.0053,
          "percent_delta": -0.0155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.825,
          "after": 0.9009,
          "delta": 0.0759,
          "percent_delta": 0.092,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.825,
          "after": 0.9009,
          "delta": 0.0759,
          "percent_delta": 0.092,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.343,
          "after": 0.3377,
          "delta": -0.0053,
          "percent_delta": -0.0155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 97
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1793,
        "predicted_3B": 0.0254,
        "predicted_AB": 3.5296,
        "predicted_AVG": 0.2258,
        "predicted_BB": 0.3587,
        "predicted_H": 0.7969,
        "predicted_HBP": 0.02,
        "predicted_HR": 0.0542,
        "predicted_OBP": 0.2972,
        "predicted_R": 0.5253,
        "predicted_RBI": 0.3939,
        "predicted_SLG": 0.3371,
        "predicted_SO": 0.8986
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.53), rates preserved: AVG=0.215 HR/AB=0.015",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1793,
          "after": 0.0,
          "delta": -0.1793,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.5296,
          "after": 3.0,
          "delta": -0.5296,
          "percent_delta": -0.15,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3587,
          "after": 0.0,
          "delta": -0.3587,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7969,
          "after": 1.0,
          "delta": 0.2031,
          "percent_delta": 0.2549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0542,
          "after": 0.0,
          "delta": -0.0542,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3939,
          "after": 0.0,
          "delta": -0.3939,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8986,
          "after": 1.0,
          "delta": 0.1014,
          "percent_delta": 0.1128,
          "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.7969,
          "after": 1.0,
          "delta": 0.2031,
          "percent_delta": 0.2549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.5296,
          "after": 3.0,
          "delta": -0.5296,
          "percent_delta": -0.15,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": [],
      "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
      }
    },
    {
      "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_R",
          "before": 0.5253,
          "after": 1.0,
          "delta": 0.4747,
          "percent_delta": 0.9037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5253,
          "after": 1.0,
          "delta": 0.4747,
          "percent_delta": 0.9037,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1563,
        "predicted_3B": 0.0153,
        "predicted_BB": 0.3631,
        "predicted_H": 0.7386,
        "predicted_HR": 0.0955,
        "predicted_RBI": 0.4015,
        "predicted_SO": 0.9104
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1563,
          "delta": 0.1563,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3631,
          "delta": 0.3631,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7386,
          "delta": -0.2614,
          "percent_delta": -0.2614,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0955,
          "delta": 0.0955,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4015,
          "delta": 0.4015,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9104,
          "delta": -0.0896,
          "percent_delta": -0.0896,
          "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.4015,
          "delta": 0.4015,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7386,
          "delta": -0.2614,
          "percent_delta": -0.2614,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.222,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.364,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1563,
          "after": 0.0,
          "delta": -0.1563,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3631,
          "after": 0.0,
          "delta": -0.3631,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7386,
          "after": 1.0,
          "delta": 0.2614,
          "percent_delta": 0.3539,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0955,
          "after": 0.0,
          "delta": -0.0955,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2972,
          "after": 0.304,
          "delta": 0.0068,
          "percent_delta": 0.0229,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4015,
          "after": 0.0,
          "delta": -0.4015,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3371,
          "after": 0.364,
          "delta": 0.0269,
          "percent_delta": 0.0798,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9104,
          "after": 1.0,
          "delta": 0.0896,
          "percent_delta": 0.0984,
          "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_H",
          "before": 0.7386,
          "after": 1.0,
          "delta": 0.2614,
          "percent_delta": 0.3539,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4015,
          "after": 0.0,
          "delta": -0.4015,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.304,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.364,
        "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
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "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": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_3B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 14,
      "step": "simulation_box_score_reference",
      "description": "Attached simulation box score without overwriting model prediction",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 15,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 1.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.214,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.288,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.352,
        "predicted_SO": 2.0,
        "predicted_TB": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.222,
          "after": 0.214,
          "delta": -0.008,
          "percent_delta": -0.036,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.304,
          "after": 0.288,
          "delta": -0.016,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.364,
          "after": 0.352,
          "delta": -0.012,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.304,
          "after": 0.288,
          "delta": -0.016,
          "percent_delta": -0.0526,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.175,
        "after": 0.0,
        "delta": -0.175,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_3B",
        "before": 0.031,
        "after": 1.0,
        "delta": 0.969,
        "percent_delta": 31.2581,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.515,
        "after": 4.0,
        "delta": 0.485,
        "percent_delta": 0.138,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.223,
        "after": 0.214,
        "delta": -0.009,
        "percent_delta": -0.0404,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.402,
        "after": 0.0,
        "delta": -0.402,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.784,
        "after": 1.0,
        "delta": 0.216,
        "percent_delta": 0.2755,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.062,
        "after": 0.0,
        "delta": -0.062,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.303,
        "after": 0.288,
        "delta": -0.015,
        "percent_delta": -0.0495,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.505,
        "after": 0.0,
        "delta": -0.505,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.412,
        "after": 0.0,
        "delta": -0.412,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.343,
        "after": 0.352,
        "delta": 0.009,
        "percent_delta": 0.0262,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.825,
        "after": 2.0,
        "delta": 1.175,
        "percent_delta": 1.4242,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 5,
      "deboosted_metrics": 7,
      "better_metrics": 4,
      "worse_metrics": 8,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.825,
        "after": 2.0,
        "delta": 1.175,
        "percent_delta": 1.4242,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.505,
        "after": 0.0,
        "delta": -0.505,
        "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.175-
predicted_3B0.031-
predicted_AB3.515-
predicted_AVG0.223-
predicted_BB0.402-
predicted_H0.784-
predicted_HR0.062-
predicted_OBP0.303-
predicted_R0.505-
predicted_RBI0.412-
predicted_SLG0.343-
predicted_SO0.825-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1790.004
predicted_3B0.025-0.006
predicted_AB3.5300.015
predicted_AVG0.2270.004
predicted_BB0.358-0.044
predicted_H0.8000.016
predicted_HBP0.020-
predicted_HR0.054-0.008
predicted_OBP0.299-0.004
predicted_R0.5280.023
predicted_RBI0.396-0.016
predicted_SLG0.338-0.005
predicted_SO0.9010.076
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1790.000
predicted_3B0.0250.000
predicted_AB3.5300.000
predicted_AVG0.226-0.001
predicted_BB0.3590.001
predicted_H0.797-0.003
predicted_HBP0.0200.000
predicted_HR0.054-0.000
predicted_OBP0.297-0.002
predicted_R0.525-0.003
predicted_RBI0.394-0.002
predicted_SLG0.337-0.001
predicted_SO0.899-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.53), rates preserved: AVG=0.215 HR/AB=0.015

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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
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.1560.156
3B0.0150.015
BB0.3630.363
H0.739-0.261
HR0.0960.096
RBI0.4020.402
SO0.910-0.090
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.156
3B0.000-0.015
AB3.0000.000
AVG0.222-
BB0.000-0.363
H1.0000.261
HR0.000-0.096
OBP0.304-
R1.0000.000
RBI0.000-0.402
SLG0.364-
SO1.0000.090
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.179
predicted_3B0.000-0.025
predicted_AB3.000-0.530
predicted_AVG0.222-0.004
predicted_BB0.000-0.359
predicted_H1.0000.203
predicted_HR0.000-0.054
predicted_OBP0.3040.007
predicted_R1.0000.475
predicted_RBI0.000-0.394
predicted_SLG0.3640.027
predicted_SO1.0000.101
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
13. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0001.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SF0.0000.000
SO2.0001.000
14. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B1.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 97
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.0003.0001.0000.0000.0002.0003.0001.0008.0000.16670.21050.22220.16670.00000.11110.05560.4444
last_100.2010-35.00011.0002.0000.0000.0002.0007.0001.00010.0000.31430.33330.37140.31430.00000.05710.02860.2857
season0.6097-341.00076.00017.0003.0006.00040.00049.00039.00080.0000.22290.30730.34310.22290.01760.11730.11440.2346
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1850
predicted_3B0.0180
predicted_AB3.5490
predicted_AVG0.2313
predicted_BB0.2990
predicted_H0.8210
predicted_HBP0.0200
predicted_HR0.0440
predicted_OBP0.2940
predicted_R0.5590
predicted_RBI0.3750
predicted_SLG0.3306
predicted_SO1.0020
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17500.18500.1793model_form_blend
predicted_3B0.03100.01800.0254model_form_blend
predicted_AB3.51503.54903.5296model_form_blend
predicted_AVG0.22300.23130.2266model_form_blend
predicted_BB0.40200.29900.3578model_form_blend
predicted_H0.78400.82100.7999model_form_blend
predicted_HBP-0.02000.0200form_only
predicted_HR0.06200.04400.0543model_form_blend
predicted_OBP0.30300.29400.2991model_form_blend
predicted_R0.50500.55900.5282model_form_blend
predicted_RBI0.41200.37500.3961model_form_blend
predicted_SLG0.34300.33060.3377model_form_blend
predicted_SO0.82501.00200.9009model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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
allPositionsPlayedRF
gameID20261007_CLE@CHW
game_typefull
mlbID695731
playerID695731
playerNameBraden Montgomery
posOF
startedTrue
startingPositionRF
teamCHW
teamID6
game_date2026-10-07
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
Colson Montgomery (695657) · BATTER · SS · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 613
All-history rows before 20261008: 613
System season_avg: 0.1990
Data season_avg (2026 season-to-date): 0.2063
Diff (system - data): -0.0073
System opponent_avg: 0.2000

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1600.0000.000Hitting_2B0.1751.000-0.175-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.6994.0004.000Hitting_AB3.8193.0000.1811.000
predicted_AVG0.2230.0000.000Hitting_AVG0.2060.667-0.206-0.667
predicted_BB0.3530.0000.000Hitting_BB0.3740.000-0.3740.000
predicted_CS-0.0000.000BaseRunning_CS0.0070.000-0.0070.000
predicted_H0.8100.0000.000Hitting_H0.7882.000-0.788-2.000
predicted_HR0.1600.0000.000Hitting_HR0.2190.000-0.2190.000
predicted_OBP0.2870.0000.000Hitting_OBP0.2920.667-0.292-0.667
predicted_R0.4620.0000.000Hitting_R0.5060.000-0.5060.000
predicted_RBI0.5200.0000.000Hitting_RBI0.6181.000-0.618-1.000
predicted_SLG0.4010.0000.000Hitting_SLG0.4241.000-0.424-1.000
predicted_SO1.4742.0002.000Hitting_SO1.5020.0000.4982.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics2
Deboosted Metrics10
Better Metrics1
Worse Metrics11
Biggest Boostpredicted_SO: 1.4740 -> 2.0000 (boost 0.5260, worse)
Biggest Deboostpredicted_H: 0.8100 -> 0.0000 (deboost -0.8100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend50505-predicted_AB: 3.6990 -> 3.6177 (deboost -0.0813, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_OBP: 0.2811 -> 0.2714 (deboost -0.0097, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling81726predicted_H: 0.7387 -> 1.0000 (boost 0.2613, better)predicted_AB: 3.6177 -> 3.0000 (deboost -0.6177, worse)AB rounded to 3 (raw=3.70), rates preserved: AVG=0.191 HR/AB=0.046
6bvp_blend00000--Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.4221 -> 0.0000 (deboost -0.4221, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5129 (boost 0.5129, better)predicted_H: 1.0000 -> 0.6754 (deboost -0.3246, 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_allocation83544predicted_RBI: 0.5129 -> 1.0000 (boost 0.4871, better)predicted_H: 0.6754 -> 0.0000 (deboost -0.6754, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12market_blend00000--Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated
13play_by_play_realization32112predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
14simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
15current_json_final20202-predicted_AVG: 0.2100 -> 0.1950 (deboost -0.0150, worse)Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "695657",
  "player_name": "Colson Montgomery",
  "position": "SS",
  "team": "CHW",
  "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.699,
        "predicted_AVG": 0.223,
        "predicted_BB": 0.353,
        "predicted_H": 0.81,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.287,
        "predicted_R": 0.462,
        "predicted_RBI": 0.52,
        "predicted_SLG": 0.401,
        "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
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.6177,
        "predicted_AVG": 0.2068,
        "predicted_BB": 0.3329,
        "predicted_H": 0.7414,
        "predicted_HBP": 0.118,
        "predicted_HR": 0.1696,
        "predicted_OBP": 0.2811,
        "predicted_R": 0.4244,
        "predicted_RBI": 0.4933,
        "predicted_SLG": 0.3947,
        "predicted_SO": 1.4342
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.699,
          "after": 3.6177,
          "delta": -0.0813,
          "percent_delta": -0.022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.223,
          "after": 0.2068,
          "delta": -0.0162,
          "percent_delta": -0.0726,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.81,
          "after": 0.7414,
          "delta": -0.0686,
          "percent_delta": -0.0847,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.287,
          "after": 0.2811,
          "delta": -0.0059,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.401,
          "after": 0.3947,
          "delta": -0.0063,
          "percent_delta": -0.0157,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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": 3.699,
          "after": 3.6177,
          "delta": -0.0813,
          "percent_delta": -0.022,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.6177,
        "predicted_AVG": 0.2042,
        "predicted_BB": 0.3337,
        "predicted_H": 0.7387,
        "predicted_HBP": 0.118,
        "predicted_HR": 0.1694,
        "predicted_OBP": 0.2714,
        "predicted_R": 0.4221,
        "predicted_RBI": 0.4906,
        "predicted_SLG": 0.389,
        "predicted_SO": 1.4306
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2811,
          "after": 0.2714,
          "delta": -0.0097,
          "percent_delta": -0.0345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3947,
          "after": 0.389,
          "delta": -0.0057,
          "percent_delta": -0.0144,
          "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_OBP",
          "before": 0.2811,
          "after": 0.2714,
          "delta": -0.0097,
          "percent_delta": -0.0345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.70), rates preserved: AVG=0.191 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": 1.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_AB",
          "before": 3.6177,
          "after": 3.0,
          "delta": -0.6177,
          "percent_delta": -0.1707,
          "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.7387,
          "after": 1.0,
          "delta": 0.2613,
          "percent_delta": 0.3537,
          "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.1694,
          "after": 0.0,
          "delta": -0.1694,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4906,
          "after": 0.0,
          "delta": -0.4906,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4306,
          "after": 1.0,
          "delta": -0.4306,
          "percent_delta": -0.301,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7387,
          "after": 1.0,
          "delta": 0.2613,
          "percent_delta": 0.3537,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6177,
          "after": 3.0,
          "delta": -0.6177,
          "percent_delta": -0.1707,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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
      }
    },
    {
      "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_R",
          "before": 0.4221,
          "after": 0.0,
          "delta": -0.4221,
          "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_R",
          "before": 0.4221,
          "after": 0.0,
          "delta": -0.4221,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1489,
        "predicted_3B": 0.0072,
        "predicted_BB": 0.2615,
        "predicted_H": 0.6754,
        "predicted_HR": 0.1463,
        "predicted_RBI": 0.5129,
        "predicted_SO": 1.4772
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1489,
          "delta": 0.1489,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2615,
          "delta": 0.2615,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6754,
          "delta": -0.3246,
          "percent_delta": -0.3246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1463,
          "delta": 0.1463,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5129,
          "delta": 0.5129,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.4772,
          "delta": 0.4772,
          "percent_delta": 0.4772,
          "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.5129,
          "delta": 0.5129,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6754,
          "delta": -0.3246,
          "percent_delta": -0.3246,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.21,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.275,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.397,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1489,
          "after": 0.0,
          "delta": -0.1489,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2042,
          "after": 0.21,
          "delta": 0.0058,
          "percent_delta": 0.0284,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2615,
          "after": 0.0,
          "delta": -0.2615,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6754,
          "after": 0.0,
          "delta": -0.6754,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1463,
          "after": 0.0,
          "delta": -0.1463,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5129,
          "after": 1.0,
          "delta": 0.4871,
          "percent_delta": 0.9497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.389,
          "after": 0.397,
          "delta": 0.008,
          "percent_delta": 0.0206,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.4772,
          "after": 1.0,
          "delta": -0.4772,
          "percent_delta": -0.323,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5129,
          "after": 1.0,
          "delta": 0.4871,
          "percent_delta": 0.9497,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6754,
          "after": 0.0,
          "delta": -0.6754,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.21,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.275,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.397,
        "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
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "market_blend",
      "description": "Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated",
      "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
      }
    },
    {
      "index": 13,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "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_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "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": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 14,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 15,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.195,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.277,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.382,
        "predicted_SO": 2.0,
        "predicted_SS": 0.0,
        "predicted_TB": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.21,
          "after": 0.195,
          "delta": -0.015,
          "percent_delta": -0.0714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.397,
          "after": 0.382,
          "delta": -0.015,
          "percent_delta": -0.0378,
          "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_AVG",
          "before": 0.21,
          "after": 0.195,
          "delta": -0.015,
          "percent_delta": -0.0714,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_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.223,
        "after": 0.195,
        "delta": -0.028,
        "percent_delta": -0.1256,
        "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.81,
        "after": 0.0,
        "delta": -0.81,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.118,
        "after": 0.0,
        "delta": -0.118,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.287,
        "after": 0.277,
        "delta": -0.01,
        "percent_delta": -0.0348,
        "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.52,
        "after": 0.0,
        "delta": -0.52,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.401,
        "after": 0.382,
        "delta": -0.019,
        "percent_delta": -0.0474,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.474,
        "after": 2.0,
        "delta": 0.526,
        "percent_delta": 0.3569,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 2,
      "deboosted_metrics": 10,
      "better_metrics": 1,
      "worse_metrics": 11,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.474,
        "after": 2.0,
        "delta": 0.526,
        "percent_delta": 0.3569,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.81,
        "after": 0.0,
        "delta": -0.81,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.160-
predicted_3B0.000-
predicted_AB3.699-
predicted_AVG0.223-
predicted_BB0.353-
predicted_H0.810-
predicted_HR0.160-
predicted_OBP0.287-
predicted_R0.462-
predicted_RBI0.520-
predicted_SLG0.401-
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.618-0.081
predicted_AVG0.207-0.016
predicted_BB0.333-0.020
predicted_H0.741-0.069
predicted_HBP0.118-
predicted_HR0.1700.010
predicted_OBP0.281-0.006
predicted_R0.424-0.038
predicted_RBI0.493-0.027
predicted_SLG0.395-0.006
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.6180.000
predicted_AVG0.204-0.003
predicted_BB0.3340.001
predicted_H0.739-0.003
predicted_HBP0.1180.000
predicted_HR0.169-0.000
predicted_OBP0.271-0.010
predicted_R0.422-0.002
predicted_RBI0.491-0.003
predicted_SLG0.389-0.006
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.70), rates preserved: AVG=0.191 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-
SO1.000-
6. bvp_blend

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1490.149
3B0.0070.007
BB0.2620.262
H0.675-0.325
HR0.1460.146
RBI0.5130.513
SO1.4770.477
9. 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.007
AB3.0000.000
AVG0.210-
BB0.000-0.262
H0.000-0.675
HR0.000-0.146
OBP0.275-
R0.0000.000
RBI1.0000.487
SLG0.397-
SO1.000-0.477
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.618
predicted_AVG0.2100.006
predicted_BB0.000-0.334
predicted_H0.000-0.739
predicted_HR0.000-0.169
predicted_OBP0.2750.004
predicted_R0.000-0.422
predicted_RBI1.0000.509
predicted_SLG0.3970.008
predicted_SO1.000-0.431
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. market_blend

Continuous line blended with the props market: model x (market/model) ** w per stat, w fitted on settled props; lineup integers re-allocated

MetricValueDelta vs Prev Step
13. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.000-1.000
SF0.0000.000
SO2.0001.000
14. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 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.3867
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.69903.51303.6177model_form_blend
predicted_AVG0.22300.18600.2068model_form_blend
predicted_BB0.35300.30700.3329model_form_blend
predicted_H0.81000.65300.7414model_form_blend
predicted_HBP-0.11800.1180form_only
predicted_HR0.16000.18200.1696model_form_blend
predicted_OBP0.28700.27350.2811model_form_blend
predicted_R0.46200.37600.4244model_form_blend
predicted_RBI0.52000.45900.4933model_form_blend
predicted_SLG0.40100.38670.3947model_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
H0
2B0
3B0
HR0
R0
RBI0
BB0
SO2
SF0
HBP0

Latest Real Data Snapshot (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
Hagen Smith (696146) · PITCHER · Starter · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 21
All-history rows before 20261008: 21

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB1.0002.0000.000-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2381.000-0.238-1.000
predicted_H1.0001.0001.000Pitching_H0.6671.0000.3330.000
predicted_IP2.2002.2002.200Pitching_InningsPitched1.4570.2000.7432.000
predicted_SO3.0003.0003.000Pitching_SO2.2381.0000.7622.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics3
Boosted Metrics0
Deboosted Metrics3
Better Metrics2
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_IP: 5.0000 -> 2.2000 (deboost -2.8000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7pitcher_quality_guardrail00000--Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
8market_blend00000--Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score
9play_by_play_realization30321-predicted_IP: 5.0000 -> 2.2000 (deboost -2.8000, worse)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
10current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "696146",
  "player_name": "Hagen Smith",
  "position": "Starter",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "market_blend",
      "description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
      "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
      }
    },
    {
      "index": 9,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.2,
        "predicted_R": 0.0,
        "predicted_SO": 3.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 2.0,
          "after": 0.0,
          "delta": -2.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 2.2,
          "delta": -2.8,
          "percent_delta": -0.56,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_IP",
          "before": 5.0,
          "after": 2.2,
          "delta": -2.8,
          "percent_delta": -0.56,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.2,
        "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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_ER",
        "before": 2.0,
        "after": 0.0,
        "delta": -2.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 1.0,
        "delta": -2.0,
        "percent_delta": -0.6667,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 2.2,
        "delta": -2.8,
        "percent_delta": -0.56,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 0,
      "deboosted_metrics": 3,
      "better_metrics": 2,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 5.0,
        "after": 2.2,
        "delta": -2.8,
        "percent_delta": -0.56,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER2.000-
predicted_H3.000-
predicted_HR0.000-
predicted_IP5.000-
predicted_SO3.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER2.0000.000
predicted_H3.0000.000
predicted_HR0.0000.000
predicted_IP5.0000.000
predicted_SO3.0000.000
8. market_blend

Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score

MetricValueDelta vs Prev Step
9. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB1.000-
BF10.000-
ER0.000-
H1.000-
HR0.000-
IP2.200-
Pitches38.000-
R0.000-
SO3.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 20
Reference playing time: 5.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4559.0002.0005.0006.0009.0000.0002.00001.22220.22220.55560.66671.00000.0000
last_100.351016.1004.0007.00011.00021.0000.0002.20411.10200.24490.42860.67351.28570.0000
season0.202034.1004.00013.00021.00047.0000.0001.04850.99030.11650.37860.61171.36890.0000
Weighted Prediction From Real Data
MetricValue
predicted_BB1.6540
predicted_ER1.0200
predicted_ERA3.0147
predicted_H2.0900
predicted_HR0.1860
predicted_IP3.0000
predicted_SO3.2730
predicted_WHIP1.2294
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.65401.3108model_form_blend
predicted_ER2.00001.02001.5343model_form_blend
predicted_ERA-3.01473.0147form_only
predicted_H3.00002.09002.5675model_form_blend
predicted_HR0.00000.18600.0884model_form_blend
predicted_IP5.00003.00004.0000model_form_blend
predicted_SO3.00003.27303.1297model_form_blend
predicted_WHIP-1.22941.2294form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.2
H1
R0
ER0
BB1
SO3
HR0
BF10
Pitches38

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced5
Pitching_ER1
Pitching_ERA1.42
Pitching_Flyouts0
Pitching_Groundouts1
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored2
Pitching_InningsPitched0.2
Pitching_Pitches21
Pitching_R1
Pitching_SO1
Pitching_Strikes12
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261007_CLE@CHW
game_typefull
mlbID696146
playerID696146
playerNameHagen Smith
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-10-07
sl_k_percent37.3
sl_bb_percent14.5
sl_woba0.211
sl_xwoba0.243
sl_sweet_spot_percent35.8
sl_barrel_batted_rate1.9
sl_hard_hit_percent34.0
sl_whiff_percent36.2
sl_swing_percent42.4
sl_avg_best_speed75.859778846
sl_avg_hyper_speed93.418211538
Jordan Hicks (663855) · PITCHER · Middle Reliever (High Leverage) · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 43
All-history rows before 20261008: 43

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5810.000-0.5810.000
predicted_ER1.0001.0001.000Pitching_ER0.3953.0000.605-2.000
predicted_H1.0001.0001.000Pitching_H0.8374.0000.163-3.000
predicted_IP1.0001.0001.000Pitching_InningsPitched0.7841.0000.2160.000
predicted_SO2.0002.0002.000Pitching_SO1.1402.0000.8600.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics4
Boosted Metrics1
Deboosted Metrics3
Better Metrics4
Worse Metrics0
Biggest Boostpredicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better)
Biggest Deboostpredicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization41340predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better)predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "663855",
  "player_name": "Jordan Hicks",
  "position": "Middle Reliever (High Leverage)",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "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": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 4,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "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
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "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": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 1,
      "deboosted_metrics": 3,
      "better_metrics": 4,
      "worse_metrics": 0,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "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_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER2.000-
predicted_H2.000-
predicted_HR1.000-
predicted_IP1.000-
predicted_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF4.000-
ER1.000-
H1.000-
HR0.000-
IP1.000-
Pitches16.000-
R1.000-
SO2.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.4556.0004.0006.0003.0009.0001.0006.00001.50000.66671.00000.50001.50000.1667
last_100.351010.0006.00013.0004.00014.0002.0005.40001.70000.60001.30000.40001.40000.2000
season0.204240.00017.00035.00025.00049.0003.0003.82501.50000.42500.87500.62501.22500.0750
Weighted Prediction From Real Data
MetricValue
predicted_BB0.4910
predicted_ER0.6170
predicted_ERA5.0786
predicted_H1.1420
predicted_HR0.1700
predicted_IP1.0000
predicted_SO1.3460
predicted_WHIP1.4927
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.49100.2409model_form_blend
predicted_ER2.00000.61701.3214model_form_blend
predicted_ERA-5.07865.0786form_only
predicted_H2.00001.14201.5790model_form_blend
predicted_HR1.00000.17000.5927model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00001.34601.1698model_form_blend
predicted_WHIP-1.49271.4927form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R1
ER1
BB0
SO2
HR0
BF4
Pitches16

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced7
Pitching_ER3
Pitching_ERA3.83
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H4
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches24
Pitching_R3
Pitching_SO2
Pitching_Strikes19
Pitching_Wild Pitch0
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20260825_TEX@CHW
game_typefull
mlbID663855
playerID663855
playerNameJordan Hicks
posP
startedFalse
startingPositionP
teamCHW
teamID6
game_date2026-08-25
game_pk824556.0
sl_k_percent29.6
sl_bb_percent15.3
sl_woba0.309
sl_xwoba0.262
sl_sweet_spot_percent27.1
sl_barrel_batted_rate1.7
sl_hard_hit_percent33.1
sl_whiff_percent28.2
sl_swing_percent44.3
sv_pitch_count24.0
sv_outs_recorded_est3.0
sv_release_speed94.46666666666664
sv_release_spin_rate2106.5
sv_effective_speed94.69583333333333
sv_launch_speed87.17777777777778
sv_launch_angle28.33333333333333
sv_woba_value5.05
sv_woba_denom7.0
sv_delta_run_exp2.059
sv_delta_home_win_exp-0.049
sl_avg_best_speed78.231887586
sl_avg_hyper_speed93.498076
Bryan Hudson (663542) · PITCHER · Middle Reliever (High Leverage) · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 67
All-history rows before 20261008: 67

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB0.2540.0001.7462.000
predicted_ER1.0001.0001.000Pitching_ER0.3282.0000.672-1.000
predicted_H1.0001.0001.000Pitching_H0.9254.0000.075-3.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_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics4
Deboosted Metrics0
Better Metrics0
Worse Metrics4
Biggest Boostpredicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization44004predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse)-Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "663542",
  "player_name": "Bryan Hudson",
  "position": "Middle Reliever (High Leverage)",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 4,
      "deboosted_metrics": 0,
      "better_metrics": 0,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. 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-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB2.000-
BF7.000-
ER1.000-
H1.000-
HR1.000-
IP1.000-
Pitches26.000-
R1.000-
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.4403
predicted_H1.1240
predicted_HR0.1520
predicted_IP1.0000
predicted_SO0.7090
predicted_WHIP1.2653
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.44033.4403form_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.26531.2653form_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
H1
R1
ER1
BB2
SO1
HR1
BF7
Pitches26

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_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
Anthony Kay (641743) · PITCHER · Setup Man · Team CHW
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 36
All-history rows before 20261008: 36

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB2.0002.0002.000Pitching_BB1.6111.0000.3891.000
predicted_ER2.0002.0002.000Pitching_ER2.1670.000-0.1672.000
predicted_H2.0002.0002.000Pitching_H4.5001.000-2.5001.000
predicted_IP2.0002.0002.000Pitching_InningsPitched4.2891.100-2.2890.900
predicted_SO1.0001.0001.000Pitching_SO3.5830.000-2.5831.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics4
Boosted Metrics4
Deboosted Metrics0
Better Metrics1
Worse Metrics3
Biggest Boostpredicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization44013predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, worse)-Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "641743",
  "player_name": "Anthony Kay",
  "position": "Setup Man",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.0,
        "predicted_R": 2.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 2.0,
          "delta": 0.6667,
          "percent_delta": 0.5,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 4,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 2.0,
        "predicted_HR": 0.0,
        "predicted_IP": 2.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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 2.0,
        "delta": 0.6667,
        "percent_delta": 0.5,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 4,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. 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-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB2.000-
BF10.000-
ER2.000-
H2.000-
HR0.000-
IP2.000-
Pitches53.000-
R2.000-
SO1.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: 1.333
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.3750
predicted_ER1.5960
predicted_ERA4.2376
predicted_H3.5070
predicted_HR0.3640
predicted_IP3.1000
predicted_SO2.6850
predicted_WHIP1.4402
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.37500.8211model_form_blend
predicted_ER0.00001.59600.9531model_form_blend
predicted_ERA-4.23764.2376form_only
predicted_H0.00003.50702.0943model_form_blend
predicted_HR0.00000.36400.2174model_form_blend
predicted_IP1.10003.10002.2000model_form_blend
predicted_SO1.00002.68502.0063model_form_blend
predicted_WHIP-1.44021.4402form_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
IP2.0
H2
R2
ER2
BB2
SO1
HR0
BF10
Pitches53

Latest Real Data Snapshot (before report date)

Latest 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 20261008: 41
All-history rows before 20261008: 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_ER1.0001.0001.000Pitching_ER0.3660.0000.6341.000
predicted_H1.0001.0001.000Pitching_H0.9762.0000.024-1.000
predicted_IP2.1002.1002.100Pitching_InningsPitched1.2661.2000.8340.900
predicted_SO1.0001.0001.000Pitching_SO1.8541.000-0.8540.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics2
Boosted Metrics2
Deboosted Metrics0
Better Metrics1
Worse Metrics1
Biggest Boostpredicted_IP: 0.6667 -> 2.1000 (boost 1.4333, better)
Biggest Deboost-
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization22011predicted_IP: 0.6667 -> 2.1000 (boost 1.4333, better)-Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "691799",
  "player_name": "Grant Taylor",
  "position": "Closer",
  "team": "CHW",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.1,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 2.1,
          "delta": 1.4333,
          "percent_delta": 2.15,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 2.1,
          "delta": 1.4333,
          "percent_delta": 2.15,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.1,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 2.1,
        "delta": 1.4333,
        "percent_delta": 2.15,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 2,
      "deboosted_metrics": 0,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 2.1,
        "delta": 1.4333,
        "percent_delta": 2.15,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": null,
      "has_material_change": true,
      "dominant_effect": "boosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF8.000-
ER1.000-
H1.000-
HR1.000-
IP2.100-
Pitches30.000-
R1.000-
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: 0.667
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.3670
predicted_ER0.2780
predicted_ERA2.0183
predicted_H0.7850
predicted_HR0.0880
predicted_IP1.1000
predicted_SO1.3430
predicted_WHIP0.9306
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.36700.1919model_form_blend
predicted_ER1.00000.27800.6224model_form_blend
predicted_ERA-2.01832.0183form_only
predicted_H1.00000.78500.8876model_form_blend
predicted_HR0.00000.08800.0460model_form_blend
predicted_IP0.20001.10001.0000model_form_blend
predicted_SO1.00001.34301.1794model_form_blend
predicted_WHIP-0.93060.9306form_only

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula45% last 5 + 35% last 10 + 20% season
Active form weightslast_5=45%, last_10=35%, season=20%
Model calibration35% raw model + 65% weighted form
Rows before report 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
IP2.1
H1
R1
ER1
BB0
SO1
HR1
BF8
Pitches30

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters 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

20261008_TB@NYY

Prediction Method: enhanced_ml_savant_pitcher_quality_pitcher_opponent_strength
Team Recent Window (Home): 10 games
Team Recent Window (Away): 10 games
Team Recent Period: Latest 10 games from dataset
Enhanced Prediction Target: {"away_runs": 4, "home_runs": 3, "confidence": 0.5051535924999999, "home_win_probability": 0.4948464075000001, "away_win_probability": 0.5051535924999999, "predicted_score_text": "TB 4 - 3 NYY", "uncapped_home_win_probability": 0.492867, "uncapped_away_win_probability": 0.507133, "confidence_shrinkage": {"policy": "starter_quality_shrinkage_v3", "staged_confidence": 0.507133, "discount_factor": 0.7225, "published_confidence": 0.505154, "guardrail_confidence_cap": 0.53, "guardrail_cap_enforced": false, "guardrail_soft_ceiling_applied": false, "confidence_before_ceiling": 0.505154, "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.452828, "incoming_favoured_side": "away", "score_winner_side": "away", "published_home_win_probability": 0.494846, "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": 3, "predicted_score_text": "TB 4 - 3 NYY", "confidence": 0.5051535924999999, "source": "enhanced_prediction_before_inning_simulation"}, "score_source": "enhanced_prediction.pre_simulation_target", "final_prediction_synced": true, "final_prediction_source": "stable_final_prediction_policy", "simulation_usage": "organic_simulation_realized_target", "simulation_score_matches_prediction": true, "simulation_reconciliation": {"pre_simulation_score": {"away_runs": 4, "home_runs": 3, "score_text": "TB 4 - 3 NYY", "winner": "TB"}, "final_simulation_score": {"away_runs": 4, "home_runs": 3, "score_text": "TB 4 - 3 NYY", "winner": "TB"}, "winner_flipped_by_simulation": false, "simulation_would_flip_winner": false, "sim_flipped_pre_winner": false, "sim_flip_trusted": false, "sim_flip_policy": "diagnostic_only_unless_independently_supported", "independent_margin_support": false, "independent_margin_support_evidence": {"pitcher_matchup_edge_home_minus_away": -0.0258, "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": 3, "winner": "TB", "model_winner": "TB", "simulation_winner": "TB", "simulation_winner_agrees": true, "simulation_agreement_scope": "selected_draw_only", "simulation_distribution_agreement": {"available": true, "draw_count": 1, "published_winner": "TB", "published_winner_draw_share": 1.0, "draw_majority_team": "TB", "published_winner_is_draw_majority": true, "sampling": "target_conditioned_selection", "is_unbiased_probability_sample": false, "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."}, "simulation_score_enabled": true, "independent_margin_support": false, "margin_widening_capped": false, "model_margin": 1, "simulation_margin": 1, "simulation_usage": "organic_simulation_realized_target", "score_source": "enhanced_prediction.pre_simulation_target", "simulation_realized_target": true, "model_score": {"away_runs": 4, "home_runs": 3}, "simulation_score": {"away_runs": 4, "home_runs": 3}}, "final_margin_quality_review": {"review_required": false, "pre_margin": 1, "final_margin": 1, "winner_quality_edge": -0.1757, "winner": "TB", "score_reviewed": {"away_runs": 4, "home_runs": 3, "source": "enhanced_prediction.pre_simulation_target"}, "reason": "published margin is directionally supported or within review threshold"}}}
Factors Considered: Historical team performance, Season-to-date run differential, Recent form (latest 10 games), Head-to-head matchup history, Player-level statistics, Baseball Savant hitter xwOBA/xBA/xSLG/contact quality, Baseball Savant pitcher xwOBA/contact/whiff quality, Pitcher splits versus opponent batting strength, Recent-form versus season-quality arbitration, Recent 10-game performance trends, Pitcher recent form analysis, Team hitting/pitching streaks, Low-score probability modeling, Environmental factors, Home field advantage, Game timing factors, Seasonal adjustments, Machine learning models

Game-Level Prediction Audit

LayerScoreWinnerConfidenceSource or usageSynced or matches
Shipped predictionTB 4 - 3 NYYTB0.505enhanced_prediction.pre_simulation_targetTrue
Simulation drawTB 4 - 3 NYYTB-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.4601; empirical=0.5485; weight=0.4500; final=0.4999
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.5052
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 rendered8 stored score steps are rendered below.game.score_evolution.stepstrue

Score Evolution Steps

StepLayerAway RunsHome RunsConfidenceDescription
1historical_ml4.3774.138-Base ML historical model prediction
2variance_applied44-Deterministic baseline target (variance factor 1.0)
3enhanced_prediction430.5052Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail)
4kpi_layer43-Savant KPI blend computed and withheld; baseline kept
5embedded_savant_run_environment43-Target score adjusted by temporal Savant lineup quality versus opposing starter quality
6fundamental_edge_target_review43-Refreshed score target and win probability after Savant/pitcher/team-strength adjustments
7capped_target43-Capped at max 12 realistic runs
8simulation_result43-Final inning-by-inning simulation result

Governors, Guardrails, and Reconciliation

Low Score Analysis
{
  "low_score_probability": 0.6914939126501769,
  "base_low_score_probability": 0.4275618374558304,
  "low_score_signal_threshold": 0.5075618374558304,
  "low_score_signal_strength": 0.2639320751943465,
  "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": 7,
  "score_scale_mode": "control",
  "pre_simulation_expected_total_runs": 6.4,
  "low_score_model_expected_total_runs": 6.4,
  "final_simulation_total_runs": 7,
  "score_source": "enhanced_prediction.pre_simulation_target"
}
Win Probability Calibration
{
  "method": "monotone_reliability_shrinkage",
  "policy": "shrink_toward_even_score_floor_v3",
  "sample_size": 567,
  "near_bucket_sample_size": 567,
  "medium_bucket_sample_size": 789,
  "wide_bucket_sample_size": 893,
  "global_sample_size": 1135,
  "bucket_scope": "near_0.05",
  "sparse_bucket": false,
  "empirical_hit_rate": 0.5485,
  "bayesian_hit_rate": 0.547,
  "prior_strength": 18.0,
  "raw_pick_probability": 0.5,
  "raw_pick_probability_unclamped": 0.483,
  "score_probability_conflict": true,
  "margin_implied_home_probability": 0.4927,
  "margin_implied_pick_probability": 0.5073,
  "score_blend_weight": 0.45,
  "blended_raw_pick_probability": 0.5033,
  "score_implied_floor_pick_probability": 0.5071,
  "max_published_pick_probability": 0.9,
  "uncapped_home_win_probability": 0.517014,
  "uncapped_away_win_probability": 0.482986,
  "calibrated_pick_probability": 0.5071,
  "predicted_side": "away",
  "reliability": 0.969231,
  "shrink_floor": 0.35,
  "empirical_penalty": 1.0,
  "shrinkage_weight": 0.98
}
Empirical Confidence Calibration
{
  "method": "empirical_hit_rate_weighted_v1",
  "applied": true,
  "reason": "raw confidence blended with verified historical bucket hit rate",
  "raw_confidence": 0.4601,
  "sample_size": 567,
  "empirical_hit_rate": 0.5485,
  "empirical_weight": 0.45,
  "empirical_max_weight": 0.45,
  "empirical_sample_scale": 200.0,
  "blended_confidence": 0.49988,
  "published_confidence": 0.505154,
  "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": "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
  },
  "away": {
    "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
  },
  "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.02977446606730336
    },
    {
      "home_runs": 2,
      "away_runs": 3,
      "probability": 0.028291716375412546
    },
    {
      "home_runs": 3,
      "away_runs": 2,
      "probability": 0.027913743424468507
    },
    {
      "home_runs": 3,
      "away_runs": 4,
      "probability": 0.02728175686900735
    },
    {
      "home_runs": 4,
      "away_runs": 3,
      "probability": 0.02677285189521744
    }
  ],
  "home_distribution": {
    "0": 0.09316346975850749,
    "1": 0.13430692565689223,
    "2": 0.1654310887117755,
    "3": 0.17410122001670134,
    "4": 0.156549782210955,
    "5": 0.12027326143197681,
    "6": 0.07894991642777797,
    "7": 0.04427924713997791,
    "8": 0.02121850338921779,
    "9": 0.008687508358355809,
    "10": 0.003039076897862196
  },
  "away_distribution": {
    "0": 0.08932475304197016,
    "1": 0.12911979264795462,
    "2": 0.16033054462105878,
    "3": 0.1710181356824905,
    "4": 0.1567005496365289,
    "5": 0.12333925586552884,
    "6": 0.08339395675466021,
    "7": 0.048436225047839905,
    "8": 0.02416620463792515,
    "9": 0.01035735975013837,
    "10": 0.003813222313904249
  },
  "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.53,
  "winner_flipped": false,
  "reasons": [
    "latest same-matchup result beat the predicted side",
    "predicted side recently lost this matchup by 5+ runs",
    "opponent already produced an 8+ run breakout in this matchup",
    "a prior same-side pick already missed against the actual result",
    "a prior same-side pick missed by 5+ actual runs",
    "latest-series evidence cleared the reversal bar; confidence capped and runs shifted, winner unchanged by design"
  ],
  "signals": {
    "predicted_team": "TB",
    "opponent_team": "NYY",
    "h2h_net_margin": -4,
    "opponent_breakout": true,
    "opponent_blowout_win": true,
    "split_recent_h2h": true,
    "recent_h2h": [
      {
        "date": "2026-09-24",
        "predicted_team_runs": 4,
        "opponent_runs": 6,
        "margin_for_predicted_team": -2,
        "winner": "NYY"
      },
      {
        "date": "2026-09-23",
        "predicted_team_runs": 2,
        "opponent_runs": 9,
        "margin_for_predicted_team": -7,
        "winner": "NYY"
      },
      {
        "date": "2026-09-22",
        "predicted_team_runs": 6,
        "opponent_runs": 1,
        "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": 8,
      "consecutive_same_pick_count": 0,
      "same_pick_actual_loss_count": 1,
      "same_pick_blowout_loss_count": 1,
      "prior_predictions": [
        {
          "date": "20261005",
          "away": "NYY",
          "home": "TB",
          "game_number": 1,
          "predicted_team": "NYY",
          "actual_winner": "TB",
          "actual_margin": 3,
          "raw_pick_probability": 0.5396190000000001,
          "artifact": "20261005_NYY@TB.json",
          "verification": "pregame_official_final"
        },
        {
          "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"
        }
      ]
    },
    "guardrail_predicted_team": "TB",
    "guardrail_opponent_team": "NYY",
    "output_pre_simulation_winner": "TB",
    "output_opponent_team": "NYY",
    "simulation_score_winner": "TB",
    "final_score_winner": "TB",
    "pre_simulation_winner": "TB",
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false
  },
  "hard_flip_suppressed": true,
  "flip_authority": "caps_confidence_and_shifts_runs_only"
}
Season Quality Guardrail
{
  "applied": false,
  "confidence_cap": null,
  "winner_flipped": false,
  "hard_flip_suppressed": false,
  "policy": "recency_uncertainty_shrinkage_v2",
  "reasons": [],
  "signals": {
    "home": {
      "team": "NYY",
      "games": 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
    },
    "away": {
      "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
    }
  }
}
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.49988,
  "final_confidence": 0.5071,
  "calibrated_pick_probability": 0.5071,
  "shrinkage_weight": 0.98,
  "hard_maximum": 0.9,
  "confidence_floor": 0.505,
  "score_gap": 0.1,
  "calibration_sample_size": 567,
  "calibration_empirical_hit_rate": 0.5485,
  "calibration_bayesian_hit_rate": 0.547,
  "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.492867,
    "margin_implied_home_probability": 0.427612,
    "shrinkage_weight": 0.98,
    "side_flipped": false,
    "applied": false,
    "magnitude_pull_suppressed": true,
    "probability_after": 0.492867,
    "aligned_pick_probability": 0.507133
  },
  "starter_experience": {
    "applied": false,
    "min_starter_games": 16,
    "shrink_factor": 1.0
  }
}
Simulation Reconciliation
{
  "pre_simulation_score": {
    "away_runs": 4,
    "home_runs": 3,
    "score_text": "TB 4 - 3 NYY",
    "winner": "TB"
  },
  "final_simulation_score": {
    "away_runs": 4,
    "home_runs": 3,
    "score_text": "TB 4 - 3 NYY",
    "winner": "TB"
  },
  "winner_flipped_by_simulation": false,
  "simulation_would_flip_winner": false,
  "sim_flipped_pre_winner": false,
  "sim_flip_trusted": false,
  "sim_flip_policy": "diagnostic_only_unless_independently_supported",
  "independent_margin_support": false,
  "independent_margin_support_evidence": {
    "pitcher_matchup_edge_home_minus_away": -0.0258,
    "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": 3,
    "winner": "TB",
    "model_winner": "TB",
    "simulation_winner": "TB",
    "simulation_winner_agrees": true,
    "simulation_agreement_scope": "selected_draw_only",
    "simulation_distribution_agreement": {
      "available": true,
      "draw_count": 1,
      "published_winner": "TB",
      "published_winner_draw_share": 1.0,
      "draw_majority_team": "TB",
      "published_winner_is_draw_majority": true,
      "sampling": "target_conditioned_selection",
      "is_unbiased_probability_sample": false,
      "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
    },
    "simulation_score_enabled": true,
    "independent_margin_support": false,
    "margin_widening_capped": false,
    "model_margin": 1,
    "simulation_margin": 1,
    "simulation_usage": "organic_simulation_realized_target",
    "score_source": "enhanced_prediction.pre_simulation_target",
    "simulation_realized_target": true,
    "model_score": {
      "away_runs": 4,
      "home_runs": 3
    },
    "simulation_score": {
      "away_runs": 4,
      "home_runs": 3
    }
  },
  "final_margin_quality_review": {
    "review_required": false,
    "pre_margin": 1,
    "final_margin": 1,
    "winner_quality_edge": -0.1757,
    "winner": "TB",
    "score_reviewed": {
      "away_runs": 4,
      "home_runs": 3,
      "source": "enhanced_prediction.pre_simulation_target"
    },
    "reason": "published margin is directionally supported or within review threshold"
  }
}
Enhanced Prediction Target
{
  "away_runs": 4,
  "home_runs": 3,
  "confidence": 0.5051535924999999,
  "home_win_probability": 0.4948464075000001,
  "away_win_probability": 0.5051535924999999,
  "predicted_score_text": "TB 4 - 3 NYY",
  "uncapped_home_win_probability": 0.492867,
  "uncapped_away_win_probability": 0.507133,
  "confidence_shrinkage": {
    "policy": "starter_quality_shrinkage_v3",
    "staged_confidence": 0.507133,
    "discount_factor": 0.7225,
    "published_confidence": 0.505154,
    "guardrail_confidence_cap": 0.53,
    "guardrail_cap_enforced": false,
    "guardrail_soft_ceiling_applied": false,
    "confidence_before_ceiling": 0.505154,
    "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.452828,
    "incoming_favoured_side": "away",
    "score_winner_side": "away",
    "published_home_win_probability": 0.494846,
    "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": 3,
    "predicted_score_text": "TB 4 - 3 NYY",
    "confidence": 0.5051535924999999,
    "source": "enhanced_prediction_before_inning_simulation"
  },
  "score_source": "enhanced_prediction.pre_simulation_target",
  "final_prediction_synced": true,
  "final_prediction_source": "stable_final_prediction_policy",
  "simulation_usage": "organic_simulation_realized_target",
  "simulation_score_matches_prediction": true,
  "simulation_reconciliation": {
    "pre_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "TB 4 - 3 NYY",
      "winner": "TB"
    },
    "final_simulation_score": {
      "away_runs": 4,
      "home_runs": 3,
      "score_text": "TB 4 - 3 NYY",
      "winner": "TB"
    },
    "winner_flipped_by_simulation": false,
    "simulation_would_flip_winner": false,
    "sim_flipped_pre_winner": false,
    "sim_flip_trusted": false,
    "sim_flip_policy": "diagnostic_only_unless_independently_supported",
    "independent_margin_support": false,
    "independent_margin_support_evidence": {
      "pitcher_matchup_edge_home_minus_away": -0.0258,
      "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": 3,
      "winner": "TB",
      "model_winner": "TB",
      "simulation_winner": "TB",
      "simulation_winner_agrees": true,
      "simulation_agreement_scope": "selected_draw_only",
      "simulation_distribution_agreement": {
        "available": true,
        "draw_count": 1,
        "published_winner": "TB",
        "published_winner_draw_share": 1.0,
        "draw_majority_team": "TB",
        "published_winner_is_draw_majority": true,
        "sampling": "target_conditioned_selection",
        "is_unbiased_probability_sample": false,
        "note": "Draw shares are target-conditioned and diagnostic. A published winner holding a minority share is recorded, not suppressed."
      },
      "simulation_score_enabled": true,
      "independent_margin_support": false,
      "margin_widening_capped": false,
      "model_margin": 1,
      "simulation_margin": 1,
      "simulation_usage": "organic_simulation_realized_target",
      "score_source": "enhanced_prediction.pre_simulation_target",
      "simulation_realized_target": true,
      "model_score": {
        "away_runs": 4,
        "home_runs": 3
      },
      "simulation_score": {
        "away_runs": 4,
        "home_runs": 3
      }
    },
    "final_margin_quality_review": {
      "review_required": false,
      "pre_margin": 1,
      "final_margin": 1,
      "winner_quality_edge": -0.1757,
      "winner": "TB",
      "score_reviewed": {
        "away_runs": 4,
        "home_runs": 3,
        "source": "enhanced_prediction.pre_simulation_target"
      },
      "reason": "published margin is directionally supported or within review threshold"
    }
  }
}

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 TBTrue1.01311.0131190
Home NYYTrue1.03591.0359190

Away Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
DHYandy Díaz-1.06260.8349neutral0.34600.28100.43907.1048.1090.90614.8014.308.20-0.1143
1BJonathan Aranda-1.06320.8421neutral0.34300.25400.43809.904691.1014.4022.5024.4010.30-0.1429
3BJunior Caminero-1.09421.2566neutral0.36400.27300.499013.1049.7092.7010.4024.1018.4011.30-0.3143
LFVictor Mesa Jr.-1.03950.5271neutral0.32900.24900.439010.8042.2089.402125.5020.208.80-0.7429
RFRyan Vilade-1.03380.4503neutral0.32700.25200.42107.1039.9089.201723.6023.409.400
CLiam Hicks-0.9913-0.1157negative_batter_regression0.31900.26100.35803.7027.1084.6014.5011.409.9010.10-0.9429
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

Home Batter Inputs

PosPlayerESPN RankOff FactorQualityRegressionxwOBAxBAxSLGBarrel%HardHit%EVLAWhiff%K%BB%Regression Edge
CFTrent Grisham-1.06460.8608neutral0.33700.24500.42909.6045.3090.6017.5018.2018.4012.600.7429
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
LFCody Bellinger-1.04500.6002neutral0.33500.27100.41106.6037.8089.2017.602015.8010.50-0.0286
SSGeorge Lombard Jr.-1.00010.0012neutral0.29800.24000.38808.2035.1087.108.5025.6026.506-0.1429
CAustin Wells-1.01290.1724neutral0.30200.21100.36307.7042.7089.3020.5027.9026.5012.400.6000
2BAnthony Volpe-0.9854-0.1947neutral0.29100.23200.33404.903787.9012.6025.2022.8010.20-0.1714
RFSpencer Jones-1.07831.0438neutral0.32800.23800.455015.9055.1094.1020.6038.7036.308.700.1429
3BJosé Caballero-0.9542-0.6102neutral0.27800.22700.33304.2025.6083.8013.9027.9024.306.40-0.3429
Raw Savant Batter Quality JSON
{
  "home": {
    "applied": true,
    "offense_factor": 1.0359,
    "raw_average_factor": 1.0359,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "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": "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": "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": "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": "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": "2B",
        "player_id": "683011",
        "player_name": "Anthony Volpe",
        "offense_factor": 0.9854,
        "quality_score": -0.1947,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "683011",
          "espn_rank": null
        },
        "metrics": {
          "pa": 209.0,
          "k_percent": 22.8,
          "bb_percent": 10.2,
          "woba": 0.297,
          "xwoba": 0.291,
          "xba": 0.232,
          "xslg": 0.334,
          "sweet_spot_percent": 33.3,
          "barrel_batted_rate": 4.9,
          "hard_hit_percent": 37.0,
          "exit_velocity_avg": 87.9,
          "launch_angle_avg": 12.6,
          "whiff_percent": 25.2,
          "swing_percent": 45.9
        },
        "components": {
          "expected_quality": -0.2104,
          "regression_edge": -0.1714,
          "xwoba_edge": -0.2286,
          "xba_edge": -0.1143,
          "xslg_edge": -0.4143,
          "barrel_edge": -0.3778,
          "hard_hit_edge": -0.0857,
          "exit_velocity_edge": -0.2,
          "sweet_spot_edge": 0.0,
          "launch_angle_hr_bonus": 0.0
        }
      },
      {
        "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": "3B",
        "player_id": "676609",
        "player_name": "José Caballero",
        "offense_factor": 0.9542,
        "quality_score": -0.6102,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "676609",
          "espn_rank": null
        },
        "metrics": {
          "pa": 423.0,
          "k_percent": 24.3,
          "bb_percent": 6.4,
          "woba": 0.29,
          "xwoba": 0.278,
          "xba": 0.227,
          "xslg": 0.333,
          "sweet_spot_percent": 31.7,
          "barrel_batted_rate": 4.2,
          "hard_hit_percent": 25.6,
          "exit_velocity_avg": 83.8,
          "launch_angle_avg": 13.9,
          "whiff_percent": 27.9,
          "swing_percent": 51.1
        },
        "components": {
          "expected_quality": -0.6537,
          "regression_edge": -0.3429,
          "xwoba_edge": -0.6,
          "xba_edge": -0.2571,
          "xslg_edge": -0.4286,
          "barrel_edge": -0.5333,
          "hard_hit_edge": -1.7143,
          "exit_velocity_edge": -1.84,
          "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.0131,
    "raw_average_factor": 1.0131,
    "team_espn_average_rank": null,
    "coverage_weight": 1.0,
    "covered_batters": 9,
    "missing_batters": 0,
    "players": [
      {
        "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": "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": "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": "LF",
        "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
        }
      },
      {
        "position": "RF",
        "player_id": "668723",
        "player_name": "Ryan Vilade",
        "offense_factor": 1.0338,
        "quality_score": 0.4503,
        "regression_flag": "neutral",
        "espn_rank": {
          "available": false,
          "player_id": "668723",
          "espn_rank": null
        },
        "metrics": {
          "pa": 237.0,
          "k_percent": 23.4,
          "bb_percent": 9.4,
          "woba": 0.327,
          "xwoba": 0.327,
          "xba": 0.252,
          "xslg": 0.421,
          "sweet_spot_percent": 29.9,
          "barrel_batted_rate": 7.1,
          "hard_hit_percent": 39.9,
          "exit_velocity_avg": 89.2,
          "launch_angle_avg": 17.0,
          "whiff_percent": 23.6,
          "swing_percent": 48.7
        },
        "components": {
          "expected_quality": 0.5236,
          "regression_edge": 0.0,
          "xwoba_edge": 0.8,
          "xba_edge": 0.4571,
          "xslg_edge": 0.8286,
          "barrel_edge": 0.1111,
          "hard_hit_edge": 0.3286,
          "exit_velocity_edge": 0.32,
          "sweet_spot_edge": -0.5667,
          "launch_angle_hr_bonus": 0.2
        }
      },
      {
        "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": "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
        }
      }
    ],
    "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 TBDrew RasmussenTrue-0.559710.95241.02170.91200.9183neutral0.27100.2430264.8025.105.9033.80
Home NYYCarlos RodónTrue-0.118510.98991.05431.04000.9883negative_pitcher_regression0.30400.254026.8011.20306.8038.30

Pitch Movement And Arsenal

TeamPitcherMovement AvailablePrimary PitchPitchesVeloSpinAxisHBIVBDropRel XRel ZExtensionArm AngleMovement Score
Away TBDrew RasmussenTrueNone9092.382355000000000.1407
Home NYYCarlos RodónTrueNone8990.562331000000000.0391
Run FactorValue
away_runs_vs_home_pitcher0.9989
home_runs_vs_away_pitcher0.9732
home_pitcher_starter_only_factor0.9899
away_pitcher_starter_only_factor0.9524
home_pitcher_workload_share0.6667
away_pitcher_workload_share0.7037
home_pitcher_quality_edge-0.3149
Raw Savant Pitcher Quality JSON
{
  "applied": true,
  "home_pitcher": {
    "available": true,
    "pitcher_id": "607074",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 311.0,
      "k_percent": 26.8,
      "bb_percent": 11.2,
      "woba": 0.254,
      "xwoba": 0.304,
      "sweet_spot_percent": 38.3,
      "barrel_batted_rate": 6.8,
      "hard_hit_percent": 38.3,
      "avg_best_speed": 80.2099,
      "avg_hyper_speed": 94.0959,
      "whiff_percent": 30.0,
      "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.2558,
      "command_and_miss": 0.4421,
      "regression_edge": -1.4286,
      "xwoba_edge": 0.2286,
      "barrel_edge": 0.0889,
      "hard_hit_edge": -0.0571,
      "whiff_edge": 0.6857,
      "bb_edge": -0.5,
      "pitch_design_score": 0.0391
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "607074",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 89,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 89,
        "pitch_usage": 0.0,
        "release_speed": 90.56273224117,
        "release_spin_rate": 2330.58265906805,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 89,
          "pitch_usage": 0.0,
          "release_speed": 90.56273224117,
          "release_spin_rate": 2330.58265906805,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.5627,
        "release_spin_rate": 2330.5827,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.0391,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 0.2794,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.1185,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9899,
    "strikeout_factor": 1.0543,
    "walk_factor": 1.04,
    "homer_factor": 0.9883,
    "woba_minus_xwoba": -0.05,
    "regression_flag": "negative_pitcher_regression",
    "espn_rank": {
      "available": false,
      "player_id": "607074",
      "espn_rank": null
    }
  },
  "away_pitcher": {
    "available": true,
    "pitcher_id": "656876",
    "player_name": "",
    "source": "all_players_stats.csv embedded Savant pitcher features",
    "source_url": null,
    "metrics": {
      "pa": 645.0,
      "k_percent": 26.0,
      "bb_percent": 4.8,
      "woba": 0.243,
      "xwoba": 0.271,
      "sweet_spot_percent": 32.5,
      "barrel_batted_rate": 5.9,
      "hard_hit_percent": 33.8,
      "avg_best_speed": 77.4285,
      "avg_hyper_speed": 93.597,
      "whiff_percent": 25.1,
      "swing_percent": 50.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.906,
      "command_and_miss": 0.4657,
      "regression_edge": -0.8,
      "xwoba_edge": 1.1714,
      "barrel_edge": 0.2889,
      "hard_hit_edge": 0.5857,
      "whiff_edge": -0.0143,
      "bb_edge": 1.1,
      "pitch_design_score": 0.1407
    },
    "pitch_movement_profile": {
      "available": true,
      "pitcher_id": "656876",
      "player_name": null,
      "source": "all_players_stats.csv embedded Savant pitcher movement features",
      "total_pitches": 90,
      "primary_pitch": {
        "pitch_type": null,
        "pitch_name": null,
        "pitches": 90,
        "pitch_usage": 0.0,
        "release_speed": 92.37588033984052,
        "release_spin_rate": 2355.1143668897917,
        "spin_axis": null,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": null,
        "release_pos_x": null,
        "release_pos_z": null,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "pitch_mix": [
        {
          "pitch_type": null,
          "pitch_name": null,
          "pitches": 90,
          "pitch_usage": 0.0,
          "release_speed": 92.37588033984052,
          "release_spin_rate": 2355.1143668897917,
          "spin_axis": null,
          "horizontal_break_inches": 0.0,
          "induced_vertical_break_inches": 0.0,
          "vertical_break_with_gravity_inches": null,
          "release_pos_x": null,
          "release_pos_z": 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.3759,
        "release_spin_rate": 2355.1144,
        "spin_axis": 0.0,
        "horizontal_break_inches": 0.0,
        "induced_vertical_break_inches": 0.0,
        "vertical_break_with_gravity_inches": 0.0,
        "release_pos_x": 0.0,
        "release_pos_z": 0.0,
        "release_extension": 0.0,
        "arm_angle": 0.0,
        "whiff_percent": 0.0,
        "xwoba": 0.0,
        "hard_hit_percent": 0.0
      },
      "components": {
        "movement_score": 0.1407,
        "horizontal_break_edge": 0.0,
        "induced_vertical_break_edge": 0.0,
        "extension_edge": 0.0,
        "velocity_edge": 1.0047,
        "whiff_edge": 0.0,
        "xwoba_edge": -0.0,
        "hard_hit_edge": -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.5597,
    "sample_weight": 1.0,
    "run_prevention_factor": 0.9524,
    "strikeout_factor": 1.0217,
    "walk_factor": 0.912,
    "homer_factor": 0.9183,
    "woba_minus_xwoba": -0.028,
    "regression_flag": "neutral",
    "espn_rank": {
      "available": false,
      "player_id": "656876",
      "espn_rank": null
    }
  },
  "run_factors": {
    "away_runs_vs_home_pitcher": 0.9989,
    "home_runs_vs_away_pitcher": 0.9732,
    "home_pitcher_starter_only_factor": 0.9899,
    "away_pitcher_starter_only_factor": 0.9524,
    "home_pitcher_workload_share": 0.6667,
    "away_pitcher_workload_share": 0.7037,
    "home_pitcher_quality_edge": -0.3149
  },
  "score_before": {
    "away_runs": 3.0,
    "home_runs": 3.0
  },
  "score_after": {
    "away_runs": 2.9967,
    "home_runs": 2.9196,
    "home_win_probability": 0.4878
  },
  "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 TB5-50.5003.803.2061Laveragestrong
Home NYY5-50.5004.604.5011Waverageaverage

Season Run Differential

TeamRecordWin %Run DiffRD/GameAvailable
Away TB98-640.605860.531True
Home NYY93-680.5781380.857True
Signal--0.3260.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 TB--4----
Game target NYY--3----
Player finalized TB35742417
Player finalized NYY357313311
Player model fractional TB32.076.774.291.054.173.657.20
Player model fractional NYY32.827.224.331.534.692.559.02
Simulation box TB35742417
Simulation box NYY357313311

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 TBStarterDrew Rasmussen5.2028531.960.86True
Away TBLong RelieverIan Seymour211203.891.03True
Away TBSetup ManCam Booser0.2001001.960.86True
Away TBCloserBryan Baker0.2001001.450.95True
Home NYYStarterCarlos Rodón5.1024512.751.01True
Home NYYMiddle RelieverRyan Weathers111102.711.20True
Home NYYMiddle Reliever (High Leverage)Paul Blackburn1.1001101.221.06True
Home NYYMiddle Reliever (High Leverage)John Schreiber1.1001002.221.06True
Market-line comparison is not rendered because no local odds or sportsbook line CSV was found in data/. Add a real odds source before using market deltas as a model feature.

Player Boost/Deboost Impact Summary

SideTeamRolePosPlayerDominantChangedBoostedDeboostedBetterWorseLargest MetricLargest DeltaDirectionEffect
homeNYYpitcherStarterCarlos Rodónworse52314predicted_SO-3.0000deboostworse
awayTBpitcherStarterDrew Rasmussenworse53223predicted_BB2.0000boostworse
awayTBpitcherLong RelieverIan Seymourworse54114predicted_H2.0000boostworse
homeNYYpitcherMiddle RelieverRyan Weathersbetter20220predicted_H-2.0000deboostbetter
awayTBbatterDHYandy Díazworse113847predicted_H1.6400boostbetter
awayTBbatterLFVictor Mesa Jr.better115665predicted_RBI1.5280boostbetter
awayTBbatterRFRyan Viladeworse124839predicted_AB1.2920boostbetter
homeNYYbatterCFTrent Grishambetter108273predicted_SO1.2370boostworse
homeNYYbatterSSGeorge Lombard Jr.worse83535predicted_AB-1.2000deboostworse
homeNYYbatterCAustin Wellsworse116556predicted_AB1.1950boostbetter
awayTBbatter1BJonathan Arandaworse11110011predicted_H-1.1000deboostworse
awayTBbatter2BRichie Palaciosworse1111029predicted_AB1.0670boostbetter
homeNYYbatterDHBen Riceworse101919predicted_RBI-1.0500deboostworse
awayTBpitcherSetup ManCam Booserbetter40431predicted_ER-1.0000deboostbetter
awayTBpitcherCloserBryan Bakerdeboosted20211predicted_H-1.0000deboostbetter
homeNYYbatter1BLuis García Jr.worse1129110predicted_H-1.0000deboostworse
homeNYYpitcherMiddle Reliever (High Leverage)Paul Blackburnworse31212predicted_BB-1.0000deboostbetter
homeNYYpitcherMiddle Reliever (High Leverage)John Schreiberbetter32130predicted_H-1.0000deboostbetter
awayTBbatterCLiam Hicksbetter106473predicted_HR0.9100boostbetter
awayTBbatterSSTaylor Wallsboosted106455predicted_AB0.8660boostbetter
homeNYYbatterRFSpencer Jonesworse1129110predicted_AB0.8260boostbetter
homeNYYbatterLFCody Bellingerworse113847predicted_2B0.8120boostbetter
homeNYYbatter3BJosé Caballeroworse113829predicted_H-0.7580deboostworse
awayTBbatterCFJonny DeLucaworse113829predicted_AB0.6380boostbetter
homeNYYbatter2BAnthony Volpeworse104637predicted_BB0.6320boostbetter
awayTBbatter3BJunior Camineroworse102819predicted_R-0.6200deboostworse

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

Away Team: TB

Away Pitcher Deep Analysis

FieldValue
PitcherDrew Rasmussen
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.5597
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.1407
Avg Velo92.3759
Avg Spin2355.1144
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.2000
Pre ER2
Pre H5
Pre BB3
Pre SO8
Season ERA2.5500
Season WHIP0.8889
Role Avg IP5.8060
Recent Avg IP6.7330
Last Start IP8
Team Form Snapshot
{
  "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.0128,
    "defense_index": 1.118,
    "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.1543
  },
  "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.0233,
    "defense_index": 1.2017,
    "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.1711
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0128,
    "opponent_offense_edge": 0.0233,
    "defense_strength": 0.118,
    "opponent_defense_weakness": -0.2017,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0019,
    "run_prevention": 0.9928,
    "strikeout": 0.9976
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "656876",
    "profile": {
      "available": true,
      "pitcher_id": "656876",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 645.0,
        "k_percent": 26.0,
        "bb_percent": 4.8,
        "woba": 0.243,
        "xwoba": 0.271,
        "sweet_spot_percent": 32.5,
        "barrel_batted_rate": 5.9,
        "hard_hit_percent": 33.8,
        "avg_best_speed": 77.4285,
        "avg_hyper_speed": 93.597,
        "whiff_percent": 25.1,
        "swing_percent": 50.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.906,
        "command_and_miss": 0.4657,
        "regression_edge": -0.8,
        "xwoba_edge": 1.1714,
        "barrel_edge": 0.2889,
        "hard_hit_edge": 0.5857,
        "whiff_edge": -0.0143,
        "bb_edge": 1.1,
        "pitch_design_score": 0.1407
      },
      "quality_score": 0.5597,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9524,
      "strikeout_factor": 1.0217,
      "walk_factor": 0.912,
      "homer_factor": 0.9183,
      "woba_minus_xwoba": -0.028,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "656876",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9524,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 4.0,
        "factor": 0.9524,
        "adjusted": 4
      },
      "predicted_BB": {
        "original": 1.0,
        "factor": 0.912,
        "adjusted": 1
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9183,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 7.0,
        "factor": 1.0217,
        "adjusted": 7
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
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": 62.2,
    "ER": 13,
    "H": 37,
    "BB": 14,
    "SO": 62,
    "HR": 2,
    "ERA": 1.8670212765957446,
    "WHIP": 0.8138297872340425,
    "K9": 8.904255319148936,
    "HR9": 0.28723404255319146,
    "games_pitched": 10,
    "quality_starts": 7,
    "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": "656876",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 90,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 90,
    "pitch_usage": 0.0,
    "release_speed": 92.37588033984052,
    "release_spin_rate": 2355.1143668897917,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 90,
      "pitch_usage": 0.0,
      "release_speed": 92.37588033984052,
      "release_spin_rate": 2355.1143668897917,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.3759,
    "release_spin_rate": 2355.1144,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.1407,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 1.0047,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -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": 31.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8611,
    "prior_weight": 0.1389
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "656876",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 31,
  "reference_playing_time": 6.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 33.2,
        "ER": 3.0,
        "R": 3.0,
        "H": 17.0,
        "BB": 7.0,
        "SO": 35.0,
        "HR": 1.0,
        "BF": 121.0,
        "Pitches": 480.0
      },
      "per_game": {
        "IP": 6.2,
        "ER": 0.6,
        "R": 0.6,
        "H": 3.4,
        "BB": 1.4,
        "SO": 7.0,
        "HR": 0.2,
        "BF": 24.2,
        "Pitches": 96.0
      },
      "rates": {
        "ERA": 0.802,
        "WHIP": 0.7129,
        "ER_per_IP": 0.08911,
        "H_per_IP": 0.50495,
        "BB_per_IP": 0.20792,
        "SO_per_IP": 1.0396,
        "HR_per_IP": 0.0297
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 62.2,
        "ER": 13.0,
        "R": 13.0,
        "H": 37.0,
        "BB": 14.0,
        "SO": 62.0,
        "HR": 2.0,
        "BF": 234.0,
        "Pitches": 941.0
      },
      "per_game": {
        "IP": 6.1,
        "ER": 1.3,
        "R": 1.3,
        "H": 3.7,
        "BB": 1.4,
        "SO": 6.2,
        "HR": 0.2,
        "BF": 23.4,
        "Pitches": 94.1
      },
      "rates": {
        "ERA": 1.867,
        "WHIP": 0.8138,
        "ER_per_IP": 0.20745,
        "H_per_IP": 0.59043,
        "BB_per_IP": 0.2234,
        "SO_per_IP": 0.98936,
        "HR_per_IP": 0.03191
      }
    },
    "season": {
      "games": 31,
      "totals": {
        "IP": 180.0,
        "ER": 51.0,
        "R": 53.0,
        "H": 126.0,
        "BB": 34.0,
        "SO": 184.0,
        "HR": 14.0,
        "BF": 695.0,
        "Pitches": 2761.0
      },
      "per_game": {
        "IP": 5.2,
        "ER": 1.6452,
        "R": 1.7097,
        "H": 4.0645,
        "BB": 1.0968,
        "SO": 5.9355,
        "HR": 0.4516,
        "BF": 22.4194,
        "Pitches": 89.0645
      },
      "rates": {
        "ERA": 2.55,
        "WHIP": 0.8889,
        "ER_per_IP": 0.28333,
        "H_per_IP": 0.7,
        "BB_per_IP": 0.18889,
        "SO_per_IP": 1.02222,
        "HR_per_IP": 0.07778
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 6.1,
    "predicted_ER": 1.379,
    "predicted_H": 4.006,
    "predicted_BB": 1.481,
    "predicted_SO": 6.391,
    "predicted_HR": 0.35,
    "predicted_ERA": 1.955,
    "predicted_WHIP": 0.8643
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4087,
  "form_weight": 0.5913,
  "form_reliability": 0.8611,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 31.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8611,
    "prior_weight": 0.1389
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.1,
      "form": 6.1,
      "final": 6.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.379,
      "final": 1.6328,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 4.006,
      "final": 3.5949,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 1.481,
      "final": 1.2844,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 6.0,
      "form": 6.391,
      "final": 6.2312,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.35,
      "final": 0.6156,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.955,
      "final": 1.955,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8643,
      "final": 0.8643,
      "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
PitcherIan Seymour
RoleLong Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.3363
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.2091
Avg Velo86.1296
Avg Spin1962.9441
HB Inches0
IVB Inches0
Release Extension0
Pre IP2
Pre ER1
Pre H2
Pre BB0
Pre SO1
Season ERA3.8477
Season WHIP1.0762
Role Avg IP1.8920
Recent Avg IP3.9330
Last Start IP0
Team Form Snapshot
{
  "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.0128,
    "defense_index": 1.118,
    "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.1543
  },
  "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.0233,
    "defense_index": 1.2017,
    "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.1711
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0128,
    "opponent_offense_edge": 0.0233,
    "defense_strength": 0.118,
    "opponent_defense_weakness": -0.2017,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0019,
    "run_prevention": 0.9928,
    "strikeout": 0.9976
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "693855",
    "profile": {
      "available": true,
      "pitcher_id": "693855",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 500.0,
        "k_percent": 28.7,
        "bb_percent": 6.5,
        "woba": 0.308,
        "xwoba": 0.291,
        "sweet_spot_percent": 34.4,
        "barrel_batted_rate": 9.9,
        "hard_hit_percent": 36.9,
        "avg_best_speed": 77.1895,
        "avg_hyper_speed": 93.8128,
        "whiff_percent": 29.4,
        "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.1865,
        "command_and_miss": 0.7693,
        "regression_edge": 0.4857,
        "xwoba_edge": 0.6,
        "barrel_edge": -0.6,
        "hard_hit_edge": 0.1429,
        "whiff_edge": 0.6,
        "bb_edge": 0.675,
        "pitch_design_score": -0.2091
      },
      "quality_score": 0.3363,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9714,
      "strikeout_factor": 1.0617,
      "walk_factor": 0.946,
      "homer_factor": 1.0243,
      "woba_minus_xwoba": 0.017,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "693855",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9714,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9714,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.946,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0243,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 3.0,
        "factor": 1.0617,
        "adjusted": 3
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
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": 45.1,
    "ER": 22,
    "H": 43,
    "BB": 6,
    "SO": 56,
    "HR": 13,
    "ERA": 4.367647058823529,
    "WHIP": 1.0808823529411764,
    "K9": 11.117647058823529,
    "HR9": 2.580882352941176,
    "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-10-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "693855",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 77,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 77,
    "pitch_usage": 0.0,
    "release_speed": 86.1295711647252,
    "release_spin_rate": 1962.9440503947853,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 77,
      "pitch_usage": 0.0,
      "release_speed": 86.1295711647252,
      "release_spin_rate": 1962.9440503947853,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": null,
      "release_extension": 0.0,
      "arm_angle": 0.0,
      "whiff_percent": 0.0,
      "xwoba": 0.0,
      "hard_hit_percent": 0.0
    }
  ],
  "summary": {
    "release_speed": 86.1296,
    "release_spin_rate": 1962.9441,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.2091,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -1.4938,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.014,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8485,
    "prior_weight": 0.1515
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "693855",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 47,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 19.1,
        "ER": 7.0,
        "R": 7.0,
        "H": 13.0,
        "BB": 3.0,
        "SO": 22.0,
        "HR": 4.0,
        "BF": 75.0,
        "Pitches": 267.0
      },
      "per_game": {
        "IP": 4.0,
        "ER": 1.4,
        "R": 1.4,
        "H": 2.6,
        "BB": 0.6,
        "SO": 4.4,
        "HR": 0.8,
        "BF": 15.0,
        "Pitches": 53.4
      },
      "rates": {
        "ERA": 3.2586,
        "WHIP": 0.8276,
        "ER_per_IP": 0.36207,
        "H_per_IP": 0.67241,
        "BB_per_IP": 0.15517,
        "SO_per_IP": 1.13793,
        "HR_per_IP": 0.2069
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 45.1,
        "ER": 22.0,
        "R": 24.0,
        "H": 43.0,
        "BB": 6.0,
        "SO": 56.0,
        "HR": 13.0,
        "BF": 188.0,
        "Pitches": 701.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 2.2,
        "R": 2.4,
        "H": 4.3,
        "BB": 0.6,
        "SO": 5.6,
        "HR": 1.3,
        "BF": 18.8,
        "Pitches": 70.1
      },
      "rates": {
        "ERA": 4.3676,
        "WHIP": 1.0809,
        "ER_per_IP": 0.48529,
        "H_per_IP": 0.94853,
        "BB_per_IP": 0.13235,
        "SO_per_IP": 1.23529,
        "HR_per_IP": 0.28676
      }
    },
    "season": {
      "games": 47,
      "totals": {
        "IP": 135.2,
        "ER": 58.0,
        "R": 63.0,
        "H": 110.0,
        "BB": 36.0,
        "SO": 162.0,
        "HR": 26.0,
        "BF": 556.0,
        "Pitches": 2143.0
      },
      "per_game": {
        "IP": 3.0,
        "ER": 1.234,
        "R": 1.3404,
        "H": 2.3404,
        "BB": 0.766,
        "SO": 3.4468,
        "HR": 0.5532,
        "BF": 11.8298,
        "Pitches": 45.5957
      },
      "rates": {
        "ERA": 3.8477,
        "WHIP": 1.0762,
        "ER_per_IP": 0.42752,
        "H_per_IP": 0.81081,
        "BB_per_IP": 0.26536,
        "SO_per_IP": 1.1941,
        "HR_per_IP": 0.19165
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.2,
    "predicted_ER": 1.547,
    "predicted_H": 2.95,
    "predicted_BB": 0.719,
    "predicted_SO": 4.094,
    "predicted_HR": 0.783,
    "predicted_ERA": 3.8949,
    "predicted_WHIP": 1.0265
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.414,
  "form_weight": 0.586,
  "form_reliability": 0.8485,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 28.014,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8485,
    "prior_weight": 0.1515
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 3.2,
      "final": 2.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 1.547,
      "final": 0.9065,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 2.95,
      "final": 1.7287,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.719,
      "final": 0.4213,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 2.0,
      "form": 4.094,
      "final": 3.2271,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.783,
      "final": 0.4588,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 3.8949,
      "final": 3.8949,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0265,
      "final": 1.0265,
      "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
RoleSetup Man
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 IP0.2000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA1.9597
Season WHIP0.7742
Role Avg IP0.9610
Recent Avg IP0.6670
Last Start IP0
Team Form Snapshot
{
  "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.0128,
    "defense_index": 1.118,
    "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.1543
  },
  "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.0233,
    "defense_index": 1.2017,
    "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.1711
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0128,
    "opponent_offense_edge": 0.0233,
    "defense_strength": 0.118,
    "opponent_defense_weakness": -0.2017,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0019,
    "run_prevention": 0.9928,
    "strikeout": 0.9976
  },
  "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
      },
      "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": 0.0,
        "factor": 0.9805,
        "adjusted": 0
      },
      "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
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 7.1,
    "ER": 0,
    "H": 2,
    "BB": 1,
    "SO": 6,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.4090909090909091,
    "K9": 7.363636363636364,
    "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-05T00: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.535,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6306,
    "prior_weight": 0.3694
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "592155",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 43,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 3.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 1.0,
        "BB": 1.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 12.0,
        "Pitches": 46.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.2,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 2.4,
        "Pitches": 9.2
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.6,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.3,
        "BB_per_IP": 0.3,
        "SO_per_IP": 0.9,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 7.1,
        "ER": 0.0,
        "R": 0.0,
        "H": 2.0,
        "BB": 1.0,
        "SO": 6.0,
        "HR": 0.0,
        "BF": 25.0,
        "Pitches": 91.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.2,
        "BB": 0.1,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 2.5,
        "Pitches": 9.1
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.4091,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.27273,
        "BB_per_IP": 0.13636,
        "SO_per_IP": 0.81818,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 43,
      "totals": {
        "IP": 41.1,
        "ER": 9.0,
        "R": 10.0,
        "H": 25.0,
        "BB": 7.0,
        "SO": 45.0,
        "HR": 5.0,
        "BF": 154.0,
        "Pitches": 581.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2093,
        "R": 0.2326,
        "H": 0.5814,
        "BB": 0.1628,
        "SO": 1.0465,
        "HR": 0.1163,
        "BF": 3.5814,
        "Pitches": 13.5116
      },
      "rates": {
        "ERA": 1.9597,
        "WHIP": 0.7742,
        "ER_per_IP": 0.21774,
        "H_per_IP": 0.60484,
        "BB_per_IP": 0.16935,
        "SO_per_IP": 1.08871,
        "HR_per_IP": 0.12097
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.154,
    "predicted_H": 0.415,
    "predicted_BB": 0.196,
    "predicted_SO": 0.651,
    "predicted_HR": 0.05,
    "predicted_ERA": 1.9555,
    "predicted_WHIP": 0.8627
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.5061,
  "form_weight": 0.4939,
  "form_reliability": 0.6306,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 8.535,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.6306,
    "prior_weight": 0.3694
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 1.0,
      "form": 0.154,
      "final": 0.5821,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.415,
      "final": 0.7111,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.196,
      "final": 0.0968,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.651,
      "final": 0.8276,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.05,
      "final": 0.5308,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.9555,
      "final": 1.9555,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.8627,
      "final": 0.8627,
      "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.4514
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 SO1
Season ERA1.2591
Season WHIP0.8394
Role Avg IP0.9900
Recent Avg IP1
Last Start IP0
Team Form Snapshot
{
  "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.0128,
    "defense_index": 1.118,
    "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.1543
  },
  "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.0233,
    "defense_index": 1.2017,
    "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.1711
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": -0.0168,
    "offense_edge": 0.0128,
    "opponent_offense_edge": 0.0233,
    "defense_strength": 0.118,
    "opponent_defense_weakness": -0.2017,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0019,
    "run_prevention": 0.9928,
    "strikeout": 0.9976
  },
  "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.0
      },
      "quality_score": 0.4514,
      "sample_weight": 0.908,
      "run_prevention_factor": 0.9616,
      "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.9651,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9651,
        "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
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
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": 4,
    "BB": 2,
    "SO": 5,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 0.6428571428571429,
    "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-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "641329",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.284,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7265,
    "prior_weight": 0.2735
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "641329",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 65,
  "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": 74.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.8
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.8,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.6,
        "BB_per_IP": 0.2,
        "SO_per_IP": 0.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": 5.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 144.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.5,
        "BB": 0.3,
        "SO": 0.5,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 14.4
      },
      "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.48387,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 65,
      "totals": {
        "IP": 64.1,
        "ER": 9.0,
        "R": 10.0,
        "H": 34.0,
        "BB": 20.0,
        "SO": 65.0,
        "HR": 4.0,
        "BF": 247.0,
        "Pitches": 980.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.1385,
        "R": 0.1538,
        "H": 0.5231,
        "BB": 0.3077,
        "SO": 1.0,
        "HR": 0.0615,
        "BF": 3.8,
        "Pitches": 15.0769
      },
      "rates": {
        "ERA": 1.2591,
        "WHIP": 0.8394,
        "ER_per_IP": 0.1399,
        "H_per_IP": 0.5285,
        "BB_per_IP": 0.31088,
        "SO_per_IP": 1.01036,
        "HR_per_IP": 0.06218
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.0,
    "predicted_ER": 0.161,
    "predicted_H": 0.665,
    "predicted_BB": 0.288,
    "predicted_SO": 0.721,
    "predicted_HR": 0.05,
    "predicted_ERA": 1.4478,
    "predicted_WHIP": 0.9539
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4656,
  "form_weight": 0.5344,
  "form_reliability": 0.7265,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 13.284,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7265,
    "prior_weight": 0.2735
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 1.0,
      "final": 1.0,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.161,
      "final": 0.086,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.665,
      "final": 0.821,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.288,
      "final": 0.1539,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.721,
      "final": 0.8509,
      "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.4478,
      "final": 1.4478,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 0.9539,
      "final": 0.9539,
      "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."
}
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 20261008: 663
All-history rows before 20261008: 663
System season_avg: 0.2940
Data season_avg (2026 season-to-date): 0.2987
Diff (system - data): -0.0047
System opponent_avg: 0.2220

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1681.0001.000Hitting_2B0.1730.0000.8271.000
predicted_3B0.0060.0000.000Hitting_3B0.0090.000-0.0090.000
predicted_AB5.2304.0004.000Hitting_AB4.0754.000-0.0750.000
predicted_AVG0.2590.7500.750Hitting_AVG0.2990.2500.4510.500
predicted_BB0.3680.0000.000Hitting_BB0.3631.000-0.363-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.3603.0003.000Hitting_H1.2171.0001.7832.000
predicted_HR0.1400.0000.000Hitting_HR0.1480.000-0.1480.000
predicted_OBP0.3630.7500.750Hitting_OBP0.3630.4000.3870.350
predicted_R0.6061.0001.000Hitting_R0.6141.0000.3860.000
predicted_RBI0.4900.0000.000Hitting_RBI0.5780.000-0.5780.000
predicted_SLG0.4151.0001.000Hitting_SLG0.4540.2500.5460.750
predicted_SO0.6320.0000.000Hitting_SO0.6411.000-0.641-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_H: 1.3600 -> 3.0000 (boost 1.6400, better)
Biggest Deboostpredicted_AB: 5.2300 -> 4.0000 (deboost -1.2300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend52323predicted_R: 0.6060 -> 0.6699 (boost 0.0639, better)predicted_AB: 5.2300 -> 4.6845 (deboost -0.5455, worse)Final model input calibrated 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.3608 -> 0.3219 (deboost -0.0389, 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.5974 -> 1.0000 (boost 0.4026, worse)predicted_AB: 4.6845 -> 4.0000 (deboost -0.6845, worse)AB rounded to 4 (raw=5.23), rates preserved: AVG=0.208 HR/AB=0.022
6bvp_blend00000--Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)
7consistency_constraints11010predicted_R: 0.6542 -> 1.0000 (boost 0.3458, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5652 (boost 0.5652, better)predicted_SO: 1.0000 -> 0.8444 (deboost -0.1556, 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_allocation85344predicted_BB: 0.4734 -> 1.0000 (boost 0.5266, better)predicted_HR: 0.1766 -> 0.0000 (deboost -0.1766, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization52332predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "650490",
  "player_name": "Yandy Díaz",
  "position": "DH",
  "team": "TB",
  "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.006,
        "predicted_AB": 5.23,
        "predicted_AVG": 0.259,
        "predicted_BB": 0.368,
        "predicted_H": 1.36,
        "predicted_HR": 0.14,
        "predicted_OBP": 0.363,
        "predicted_R": 0.606,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.415,
        "predicted_SO": 0.632
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1649,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.6845,
        "predicted_AVG": 0.2725,
        "predicted_BB": 0.3798,
        "predicted_H": 1.2702,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1168,
        "predicted_OBP": 0.3608,
        "predicted_R": 0.6699,
        "predicted_RBI": 0.4558,
        "predicted_SLG": 0.4077,
        "predicted_SO": 0.5974
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 5.23,
          "after": 4.6845,
          "delta": -0.5455,
          "percent_delta": -0.1043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.259,
          "after": 0.2725,
          "delta": 0.0135,
          "percent_delta": 0.0521,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.36,
          "after": 1.2702,
          "delta": -0.0898,
          "percent_delta": -0.066,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.606,
          "after": 0.6699,
          "delta": 0.0639,
          "percent_delta": 0.1054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.415,
          "after": 0.4077,
          "delta": -0.0073,
          "percent_delta": -0.0176,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.606,
          "after": 0.6699,
          "delta": 0.0639,
          "percent_delta": 0.1054,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 5.23,
          "after": 4.6845,
          "delta": -0.5455,
          "percent_delta": -0.1043,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.1649,
        "predicted_3B": 0.0051,
        "predicted_AB": 4.6845,
        "predicted_AVG": 0.2669,
        "predicted_BB": 0.3798,
        "predicted_H": 1.2505,
        "predicted_HBP": 0.039,
        "predicted_HR": 0.1145,
        "predicted_OBP": 0.3219,
        "predicted_R": 0.6542,
        "predicted_RBI": 0.4451,
        "predicted_SLG": 0.3777,
        "predicted_SO": 0.5974
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2725,
          "after": 0.2669,
          "delta": -0.0056,
          "percent_delta": -0.0206,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3608,
          "after": 0.3219,
          "delta": -0.0389,
          "percent_delta": -0.1078,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4077,
          "after": 0.3777,
          "delta": -0.03,
          "percent_delta": -0.0736,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.3608,
          "after": 0.3219,
          "delta": -0.0389,
          "percent_delta": -0.1078,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=5.23), rates preserved: AVG=0.208 HR/AB=0.022",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1649,
          "after": 0.0,
          "delta": -0.1649,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.6845,
          "after": 4.0,
          "delta": -0.6845,
          "percent_delta": -0.1461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3798,
          "after": 0.0,
          "delta": -0.3798,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.2505,
          "after": 1.0,
          "delta": -0.2505,
          "percent_delta": -0.2003,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1145,
          "after": 0.0,
          "delta": -0.1145,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4451,
          "after": 0.0,
          "delta": -0.4451,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5974,
          "after": 1.0,
          "delta": 0.4026,
          "percent_delta": 0.6739,
          "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.5974,
          "after": 1.0,
          "delta": 0.4026,
          "percent_delta": 0.6739,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.6845,
          "after": 4.0,
          "delta": -0.6845,
          "percent_delta": -0.1461,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.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": {
        "model_expectation": 0.85,
        "bvp": 0.15
      }
    },
    {
      "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_R",
          "before": 0.6542,
          "after": 1.0,
          "delta": 0.3458,
          "percent_delta": 0.5286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.6542,
          "after": 1.0,
          "delta": 0.3458,
          "percent_delta": 0.5286,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1711,
        "predicted_3B": 0.0121,
        "predicted_BB": 0.4734,
        "predicted_H": 0.9377,
        "predicted_HR": 0.1766,
        "predicted_RBI": 0.5652,
        "predicted_SO": 0.8444
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1711,
          "delta": 0.1711,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4734,
          "delta": 0.4734,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9377,
          "delta": -0.0623,
          "percent_delta": -0.0623,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1766,
          "delta": 0.1766,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5652,
          "delta": 0.5652,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8444,
          "delta": -0.1556,
          "percent_delta": -0.1556,
          "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.5652,
          "delta": 0.5652,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8444,
          "delta": -0.1556,
          "percent_delta": -0.1556,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.231,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.41,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1711,
          "after": 0.0,
          "delta": -0.1711,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2669,
          "after": 0.231,
          "delta": -0.0359,
          "percent_delta": -0.1345,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4734,
          "after": 1.0,
          "delta": 0.5266,
          "percent_delta": 1.1124,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9377,
          "after": 1.0,
          "delta": 0.0623,
          "percent_delta": 0.0664,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1766,
          "after": 0.0,
          "delta": -0.1766,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5652,
          "after": 1.0,
          "delta": 0.4348,
          "percent_delta": 0.7693,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3777,
          "after": 0.41,
          "delta": 0.0323,
          "percent_delta": 0.0855,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8444,
          "after": 1.0,
          "delta": 0.1556,
          "percent_delta": 0.1843,
          "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_BB",
          "before": 0.4734,
          "after": 1.0,
          "delta": 0.5266,
          "percent_delta": 1.1124,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.1766,
          "after": 0.0,
          "delta": -0.1766,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.231,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.41,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 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_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": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_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": 2,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "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_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.231,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_DH": 0.0,
        "predicted_H": 3.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.317,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.41,
        "predicted_SO": 0.0,
        "predicted_TB": 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
      }
    }
  ],
  "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_AB",
        "before": 5.23,
        "after": 4.0,
        "delta": -1.23,
        "percent_delta": -0.2352,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.259,
        "after": 0.231,
        "delta": -0.028,
        "percent_delta": -0.1081,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.368,
        "after": 0.0,
        "delta": -0.368,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.36,
        "after": 3.0,
        "delta": 1.64,
        "percent_delta": 1.2059,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.14,
        "after": 0.0,
        "delta": -0.14,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.363,
        "after": 0.317,
        "delta": -0.046,
        "percent_delta": -0.1267,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.606,
        "after": 1.0,
        "delta": 0.394,
        "percent_delta": 0.6502,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.415,
        "after": 0.41,
        "delta": -0.005,
        "percent_delta": -0.012,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.632,
        "after": 0.0,
        "delta": -0.632,
        "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_H",
        "before": 1.36,
        "after": 3.0,
        "delta": 1.64,
        "percent_delta": 1.2059,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 5.23,
        "after": 4.0,
        "delta": -1.23,
        "percent_delta": -0.2352,
        "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.168-
predicted_3B0.006-
predicted_AB5.230-
predicted_AVG0.259-
predicted_BB0.368-
predicted_H1.360-
predicted_HR0.140-
predicted_OBP0.363-
predicted_R0.606-
predicted_RBI0.490-
predicted_SLG0.415-
predicted_SO0.632-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.165-0.003
predicted_3B0.005-0.001
predicted_AB4.684-0.546
predicted_AVG0.2730.014
predicted_BB0.3800.012
predicted_H1.270-0.090
predicted_HBP0.039-
predicted_HR0.117-0.023
predicted_OBP0.361-0.002
predicted_R0.6700.064
predicted_RBI0.456-0.034
predicted_SLG0.408-0.007
predicted_SO0.597-0.035
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1650.000
predicted_3B0.0050.000
predicted_AB4.6840.000
predicted_AVG0.267-0.006
predicted_BB0.3800.000
predicted_H1.250-0.020
predicted_HBP0.0390.000
predicted_HR0.115-0.002
predicted_OBP0.322-0.039
predicted_R0.654-0.016
predicted_RBI0.445-0.011
predicted_SLG0.378-0.030
predicted_SO0.5970.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.23), rates preserved: AVG=0.208 HR/AB=0.022

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

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

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.1710.171
3B0.0120.012
BB0.4730.473
H0.938-0.062
HR0.1770.177
RBI0.5650.565
SO0.844-0.156
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.171
3B0.000-0.012
AB4.0000.000
AVG0.231-
BB1.0000.527
H1.0000.062
HR0.000-0.177
OBP0.317-
R1.0000.000
RBI1.0000.435
SLG0.410-
SO1.0000.156
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.165
predicted_3B0.000-0.005
predicted_AB4.000-0.684
predicted_AVG0.231-0.036
predicted_BB1.0000.620
predicted_H1.000-0.250
predicted_HR0.000-0.115
predicted_OBP0.317-0.005
predicted_R1.0000.346
predicted_RBI1.0000.555
predicted_SLG0.4100.032
predicted_SO1.0000.403
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H3.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.0000.000
RBI0.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: 155
Reference playing time: 5.230
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-20.0007.0001.0000.0000.0000.0006.0002.0001.0000.35000.40910.40000.35000.00000.00000.10000.0500
last_100.2010-40.0009.0001.0000.0000.0004.0008.0005.0006.0000.22500.31110.25000.22500.00000.10000.12500.1500
season0.60155-618.000182.00026.0001.00022.00085.00094.00057.00098.0000.29450.36030.44660.29450.03560.13750.09220.1586
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1610
predicted_3B0.0040
predicted_AB3.9840
predicted_AVG0.2899
predicted_BB0.3950
predicted_H1.1550
predicted_HBP0.0390
predicted_HR0.0870
predicted_OBP0.3579
predicted_R0.7520
predicted_RBI0.4120
predicted_SLG0.3983
predicted_SO0.5530
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16800.16100.1649model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB5.23003.98404.6845model_form_blend
predicted_AVG0.25900.28990.2725model_form_blend
predicted_BB0.36800.39500.3798model_form_blend
predicted_H1.36001.15501.2702model_form_blend
predicted_HBP-0.03900.0390form_only
predicted_HR0.14000.08700.1168model_form_blend
predicted_OBP0.36300.35790.3608model_form_blend
predicted_R0.60600.75200.6699model_form_blend
predicted_RBI0.49000.41200.4558model_form_blend
predicted_SLG0.41500.39830.4077model_form_blend
predicted_SO0.63200.55300.5974model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H3
2B1
3B0
HR0
R1
RBI0
BB0
SO0
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB1
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder1
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedDH
gameID20261005_NYY@TB
game_typefull
mlbID650490
playerID650490
playerNameYandy Díaz
posDH
startedTrue
startingPositionDH
teamTB
teamID27
game_date2026-10-05
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
Jonathan Aranda (666018) · BATTER · 1B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 644
All-history rows before 20261008: 644
System season_avg: 0.2760
Data season_avg (2026 season-to-date): 0.2834
Diff (system - data): -0.0074
System opponent_avg: 0.2380

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1730.0000.000Hitting_2B0.1750.000-0.1750.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.3904.0004.000Hitting_AB3.9075.0000.093-1.000
predicted_AVG0.2500.0000.000Hitting_AVG0.2830.400-0.283-0.400
predicted_BB0.4360.0000.000Hitting_BB0.4600.000-0.4600.000
predicted_CS-0.0000.000BaseRunning_CS0.0080.000-0.0080.000
predicted_H1.1000.0000.000Hitting_H1.1072.000-1.107-2.000
predicted_HR0.2000.0000.000Hitting_HR0.1520.000-0.1520.000
predicted_OBP0.3380.0000.000Hitting_OBP0.3640.400-0.364-0.400
predicted_R0.4810.0000.000Hitting_R0.5171.000-0.517-1.000
predicted_RBI0.5600.0000.000Hitting_RBI0.6540.000-0.6540.000
predicted_SLG0.4390.0000.000Hitting_SLG0.4450.400-0.445-0.400
predicted_SO1.0382.0002.000Hitting_SO1.0670.0000.9332.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics0
Worse Metrics11
Biggest Boostpredicted_SO: 1.0380 -> 2.0000 (boost 0.9620, worse)
Biggest Deboostpredicted_H: 1.1000 -> 0.0000 (deboost -1.1000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend42222predicted_AVG: 0.2500 -> 0.2572 (boost 0.0072, better)predicted_AB: 4.3900 -> 4.0789 (deboost -0.3111, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_OBP: 0.3420 -> 0.3248 (deboost -0.0172, 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_scaling50505-predicted_RBI: 0.5020 -> 0.0000 (deboost -0.5020, worse)AB rounded to 4 (raw=4.39), rates preserved: AVG=0.205 HR/AB=0.042
6bvp_blend11010predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)-Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
7consistency_constraints10101-predicted_R: 0.4479 -> 0.0000 (deboost -0.4479, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_RBI: 0.0000 -> 0.5825 (boost 0.5825, better)predicted_BB: 1.0000 -> 0.4597 (deboost -0.5403, 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_allocation93645predicted_BB: 0.4597 -> 1.0000 (boost 0.5403, better)predicted_SO: 1.3098 -> 1.0000 (deboost -0.3098, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization41304predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "666018",
  "player_name": "Jonathan Aranda",
  "position": "1B",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.173,
        "predicted_3B": 0.0,
        "predicted_AB": 4.39,
        "predicted_AVG": 0.25,
        "predicted_BB": 0.436,
        "predicted_H": 1.1,
        "predicted_HR": 0.2,
        "predicted_OBP": 0.338,
        "predicted_R": 0.481,
        "predicted_RBI": 0.56,
        "predicted_SLG": 0.439,
        "predicted_SO": 1.038
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1778,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0789,
        "predicted_AVG": 0.2572,
        "predicted_BB": 0.4351,
        "predicted_H": 1.0475,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.186,
        "predicted_OBP": 0.342,
        "predicted_R": 0.4587,
        "predicted_RBI": 0.5141,
        "predicted_SLG": 0.4453,
        "predicted_SO": 1.0371
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.39,
          "after": 4.0789,
          "delta": -0.3111,
          "percent_delta": -0.0709,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2572,
          "delta": 0.0072,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.1,
          "after": 1.0475,
          "delta": -0.0525,
          "percent_delta": -0.0477,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.439,
          "after": 0.4453,
          "delta": 0.0063,
          "percent_delta": 0.0144,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.25,
          "after": 0.2572,
          "delta": 0.0072,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.39,
          "after": 4.0789,
          "delta": -0.3111,
          "percent_delta": -0.0709,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1778,
        "predicted_3B": 0.0004,
        "predicted_AB": 4.0789,
        "predicted_AVG": 0.2528,
        "predicted_BB": 0.4351,
        "predicted_H": 1.0313,
        "predicted_HBP": 0.041,
        "predicted_HR": 0.1824,
        "predicted_OBP": 0.3248,
        "predicted_R": 0.4479,
        "predicted_RBI": 0.502,
        "predicted_SLG": 0.4307,
        "predicted_SO": 1.0371
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.342,
          "after": 0.3248,
          "delta": -0.0172,
          "percent_delta": -0.0503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4453,
          "after": 0.4307,
          "delta": -0.0146,
          "percent_delta": -0.0328,
          "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_OBP",
          "before": 0.342,
          "after": 0.3248,
          "delta": -0.0172,
          "percent_delta": -0.0503,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.39), rates preserved: AVG=0.205 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.1778,
          "after": 0.0,
          "delta": -0.1778,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.0789,
          "after": 4.0,
          "delta": -0.0789,
          "percent_delta": -0.0193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4351,
          "after": 0.0,
          "delta": -0.4351,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1824,
          "after": 0.0,
          "delta": -0.1824,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.502,
          "after": 0.0,
          "delta": -0.502,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 0,
        "deboosted_metrics": 5,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.502,
          "after": 0.0,
          "delta": -0.502,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_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.9429,
        "bvp": 0.0571
      }
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.4479,
          "after": 0.0,
          "delta": -0.4479,
          "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_R",
          "before": 0.4479,
          "after": 0.0,
          "delta": -0.4479,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1581,
        "predicted_3B": 0.0104,
        "predicted_BB": 0.4597,
        "predicted_H": 0.86,
        "predicted_HR": 0.1517,
        "predicted_RBI": 0.5825,
        "predicted_SO": 1.3098
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1581,
          "delta": 0.1581,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4597,
          "delta": -0.5403,
          "percent_delta": -0.5403,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.86,
          "delta": -0.14,
          "percent_delta": -0.14,
          "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": 0.0,
          "after": 0.5825,
          "delta": 0.5825,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.3098,
          "delta": 0.3098,
          "percent_delta": 0.3098,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 3,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5825,
          "delta": 0.5825,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.4597,
          "delta": -0.5403,
          "percent_delta": -0.5403,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.223,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1581,
          "after": 0.0,
          "delta": -0.1581,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2528,
          "after": 0.223,
          "delta": -0.0298,
          "percent_delta": -0.1179,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4597,
          "after": 1.0,
          "delta": 0.5403,
          "percent_delta": 1.1753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.86,
          "after": 1.0,
          "delta": 0.14,
          "percent_delta": 0.1628,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1517,
          "after": 0.0,
          "delta": -0.1517,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3248,
          "after": 0.311,
          "delta": -0.0138,
          "percent_delta": -0.0425,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5825,
          "after": 1.0,
          "delta": 0.4175,
          "percent_delta": 0.7167,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4307,
          "after": 0.387,
          "delta": -0.0437,
          "percent_delta": -0.1015,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3098,
          "after": 1.0,
          "delta": -0.3098,
          "percent_delta": -0.2365,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 3,
        "deboosted_metrics": 6,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4597,
          "after": 1.0,
          "delta": 0.5403,
          "percent_delta": 1.1753,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.3098,
          "after": 1.0,
          "delta": -0.3098,
          "percent_delta": -0.2365,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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.223,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.387,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "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": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "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_FB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.311,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.387,
        "predicted_SO": 2.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.173,
        "after": 0.0,
        "delta": -0.173,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.39,
        "after": 4.0,
        "delta": -0.39,
        "percent_delta": -0.0888,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.25,
        "after": 0.223,
        "delta": -0.027,
        "percent_delta": -0.108,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.436,
        "after": 0.0,
        "delta": -0.436,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.2,
        "after": 0.0,
        "delta": -0.2,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.338,
        "after": 0.311,
        "delta": -0.027,
        "percent_delta": -0.0799,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.481,
        "after": 0.0,
        "delta": -0.481,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.439,
        "after": 0.387,
        "delta": -0.052,
        "percent_delta": -0.1185,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.038,
        "after": 2.0,
        "delta": 0.962,
        "percent_delta": 0.9268,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 0,
      "worse_metrics": 11,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 1.038,
        "after": 2.0,
        "delta": 0.962,
        "percent_delta": 0.9268,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.1,
        "after": 0.0,
        "delta": -1.1,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.173-
predicted_3B0.000-
predicted_AB4.390-
predicted_AVG0.250-
predicted_BB0.436-
predicted_H1.100-
predicted_HR0.200-
predicted_OBP0.338-
predicted_R0.481-
predicted_RBI0.560-
predicted_SLG0.439-
predicted_SO1.038-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1780.005
predicted_3B0.0000.000
predicted_AB4.079-0.311
predicted_AVG0.2570.007
predicted_BB0.435-0.001
predicted_H1.048-0.052
predicted_HBP0.041-
predicted_HR0.186-0.014
predicted_OBP0.3420.004
predicted_R0.459-0.022
predicted_RBI0.514-0.046
predicted_SLG0.4450.006
predicted_SO1.037-0.001
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1780.000
predicted_3B0.0000.000
predicted_AB4.0790.000
predicted_AVG0.253-0.004
predicted_BB0.4350.000
predicted_H1.031-0.016
predicted_HBP0.0410.000
predicted_HR0.182-0.004
predicted_OBP0.325-0.017
predicted_R0.448-0.011
predicted_RBI0.502-0.012
predicted_SLG0.431-0.015
predicted_SO1.0370.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.39), rates preserved: AVG=0.205 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. 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.0001.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
7. consistency_constraints

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1580.158
3B0.0100.010
BB0.460-0.540
H0.860-0.140
HR0.1520.152
RBI0.5830.583
SO1.3100.310
9. 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
AVG0.223-
BB1.0000.540
H1.0000.140
HR0.000-0.152
OBP0.311-
R0.0000.000
RBI1.0000.417
SLG0.387-
SO1.000-0.310
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.178
predicted_3B0.000-0.000
predicted_AB4.000-0.079
predicted_AVG0.223-0.030
predicted_BB1.0000.565
predicted_H1.000-0.031
predicted_HR0.000-0.182
predicted_OBP0.311-0.014
predicted_R0.000-0.448
predicted_RBI1.0000.498
predicted_SLG0.387-0.044
predicted_SO1.000-0.037
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 156
Reference playing time: 4.390
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0005.0001.0000.0001.0001.0002.0003.0005.0000.27780.38100.50000.27780.05560.05560.16670.2778
last_100.2010-35.0008.0002.0000.0002.0003.0003.0003.00011.0000.22860.28950.45710.22860.05710.08570.08570.3143
season0.60156-586.000162.00027.0000.00023.00093.00075.00068.000162.0000.27650.35810.44030.27640.03930.15870.11600.2764
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1840
predicted_3B0.0010
predicted_AB3.6790
predicted_AVG0.2664
predicted_BB0.4340
predicted_H0.9800
predicted_HBP0.0410
predicted_HR0.1680
predicted_OBP0.3471
predicted_R0.4300
predicted_RBI0.4550
predicted_SLG0.4535
predicted_SO1.0360
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17300.18400.1778model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB4.39003.67904.0789model_form_blend
predicted_AVG0.25000.26640.2572model_form_blend
predicted_BB0.43600.43400.4351model_form_blend
predicted_H1.10000.98001.0475model_form_blend
predicted_HBP-0.04100.0410form_only
predicted_HR0.20000.16800.1860model_form_blend
predicted_OBP0.33800.34710.3420model_form_blend
predicted_R0.48100.43000.4587model_form_blend
predicted_RBI0.56000.45500.5141model_form_blend
predicted_SLG0.43900.45350.4453model_form_blend
predicted_SO1.03801.03601.0371model_form_blend

Model Data Source Trace

Trace ItemValue
Primary player sourcedata/all_players_stats.csv
Rolling form windowslast 5 games, last 10 games, season-to-date before report date
Blend formula20% last 5 + 20% last 10 + 60% season
Active form weightslast_5=20%, last_10=20%, season=60%
Model calibration55% raw model + 45% weighted form
Rows before report date644
Season rows before report date644
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
SO2
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB5
Hitting_AVG0.4
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261005_NYY@TB
game_typefull
mlbID666018
playerID666018
playerNameJonathan Aranda
pos1B
startedTrue
startingPosition1B
teamTB
teamID27
game_date2026-10-05
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
Junior Caminero (691406) · BATTER · 3B · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 674
All-history rows before 20261008: 674
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2845
Diff (system - data): -0.0075
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.1600.0000.000Hitting_2B0.1631.000-0.163-1.000
predicted_3B0.0060.0000.000Hitting_3B0.0060.000-0.0060.000
predicted_AB4.0804.0004.000Hitting_AB3.8904.0000.1100.000
predicted_AVG0.2560.2500.250Hitting_AVG0.2850.500-0.035-0.250
predicted_BB0.4970.0000.000Hitting_BB0.5360.000-0.5360.000
predicted_CS-0.0000.000BaseRunning_CS0.0210.000-0.0210.000
predicted_H1.0401.0001.000Hitting_H1.1072.000-0.107-1.000
predicted_HR0.2300.0000.000Hitting_HR0.2770.000-0.2770.000
predicted_OBP0.3670.2500.250Hitting_OBP0.3730.500-0.123-0.250
predicted_R0.6200.0000.000Hitting_R0.6711.000-0.671-1.000
predicted_RBI0.6101.0001.000Hitting_RBI0.6720.0000.3281.000
predicted_SLG0.5010.2500.250Hitting_SLG0.5430.750-0.293-0.500
predicted_SO0.7911.0001.000Hitting_SO0.7880.0000.2121.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_RBI: 0.6100 -> 1.0000 (boost 0.3900, better)
Biggest Deboostpredicted_R: 0.6200 -> 0.0000 (deboost -0.6200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32121predicted_AVG: 0.2560 -> 0.2683 (boost 0.0123, better)predicted_AB: 4.0800 -> 3.8544 (deboost -0.2256, worse)Final model input calibrated 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.5064 -> 0.4777 (deboost -0.0287, 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_scaling64233predicted_BB: 0.4878 -> 1.0000 (boost 0.5122, better)predicted_HR: 0.2169 -> 0.0000 (deboost -0.2169, worse)AB rounded to 4 (raw=4.08), rates preserved: AVG=0.216 HR/AB=0.053
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
7consistency_constraints11010predicted_R: 0.6410 -> 1.0000 (boost 0.3590, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine62433predicted_HR: 0.0000 -> 0.2368 (boost 0.2368, better)predicted_RBI: 1.0000 -> 0.5352 (deboost -0.4648, 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_allocation95445predicted_HR: 0.2368 -> 1.0000 (boost 0.7632, better)predicted_2B: 0.1601 -> 0.0000 (deboost -0.1601, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization30303-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "691406",
  "player_name": "Junior Caminero",
  "position": "3B",
  "team": "TB",
  "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.006,
        "predicted_AB": 4.08,
        "predicted_AVG": 0.256,
        "predicted_BB": 0.497,
        "predicted_H": 1.04,
        "predicted_HR": 0.23,
        "predicted_OBP": 0.367,
        "predicted_R": 0.62,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.501,
        "predicted_SO": 0.791
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1683,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.8544,
        "predicted_AVG": 0.2683,
        "predicted_BB": 0.4878,
        "predicted_H": 1.0282,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.2212,
        "predicted_OBP": 0.3677,
        "predicted_R": 0.6564,
        "predicted_RBI": 0.5728,
        "predicted_SLG": 0.5064,
        "predicted_SO": 0.7792
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.08,
          "after": 3.8544,
          "delta": -0.2256,
          "percent_delta": -0.0553,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.256,
          "after": 0.2683,
          "delta": 0.0123,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.501,
          "after": 0.5064,
          "delta": 0.0054,
          "percent_delta": 0.0108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.256,
          "after": 0.2683,
          "delta": 0.0123,
          "percent_delta": 0.048,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.08,
          "after": 3.8544,
          "delta": -0.2256,
          "percent_delta": -0.0553,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 163
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1683,
        "predicted_3B": 0.0051,
        "predicted_AB": 3.8544,
        "predicted_AVG": 0.2626,
        "predicted_BB": 0.4878,
        "predicted_H": 1.0123,
        "predicted_HBP": 0.015,
        "predicted_HR": 0.2169,
        "predicted_OBP": 0.3455,
        "predicted_R": 0.641,
        "predicted_RBI": 0.5593,
        "predicted_SLG": 0.4777,
        "predicted_SO": 0.7792
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2683,
          "after": 0.2626,
          "delta": -0.0057,
          "percent_delta": -0.0212,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3677,
          "after": 0.3455,
          "delta": -0.0222,
          "percent_delta": -0.0604,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.5064,
          "after": 0.4777,
          "delta": -0.0287,
          "percent_delta": -0.0567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.5064,
          "after": 0.4777,
          "delta": -0.0287,
          "percent_delta": -0.0567,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.08), rates preserved: AVG=0.216 HR/AB=0.053",
      "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.1683,
          "after": 0.0,
          "delta": -0.1683,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8544,
          "after": 4.0,
          "delta": 0.1456,
          "percent_delta": 0.0378,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4878,
          "after": 1.0,
          "delta": 0.5122,
          "percent_delta": 1.05,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2169,
          "after": 0.0,
          "delta": -0.2169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5593,
          "after": 1.0,
          "delta": 0.4407,
          "percent_delta": 0.7879,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7792,
          "after": 1.0,
          "delta": 0.2208,
          "percent_delta": 0.2834,
          "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.4878,
          "after": 1.0,
          "delta": 0.5122,
          "percent_delta": 1.05,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.2169,
          "after": 0.0,
          "delta": -0.2169,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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": {
        "model_expectation": 0.9158,
        "bvp": 0.0842
      }
    },
    {
      "index": 7,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.641,
          "after": 1.0,
          "delta": 0.359,
          "percent_delta": 0.5601,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.641,
          "after": 1.0,
          "delta": 0.359,
          "percent_delta": 0.5601,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1601,
        "predicted_3B": 0.0113,
        "predicted_BB": 0.5732,
        "predicted_H": 0.8007,
        "predicted_HR": 0.2368,
        "predicted_RBI": 0.5352,
        "predicted_SO": 0.8893
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1601,
          "delta": 0.1601,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.5732,
          "delta": -0.4268,
          "percent_delta": -0.4268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8007,
          "delta": -0.1993,
          "percent_delta": -0.1993,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2368,
          "delta": 0.2368,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5352,
          "delta": -0.4648,
          "percent_delta": -0.4648,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.8893,
          "delta": -0.1107,
          "percent_delta": -0.1107,
          "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.2368,
          "delta": 0.2368,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5352,
          "delta": -0.4648,
          "percent_delta": -0.4648,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.217,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.327,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.458,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1601,
          "after": 0.0,
          "delta": -0.1601,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2626,
          "after": 0.217,
          "delta": -0.0456,
          "percent_delta": -0.1736,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5732,
          "after": 1.0,
          "delta": 0.4268,
          "percent_delta": 0.7446,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8007,
          "after": 1.0,
          "delta": 0.1993,
          "percent_delta": 0.2489,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2368,
          "after": 1.0,
          "delta": 0.7632,
          "percent_delta": 3.223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3455,
          "after": 0.327,
          "delta": -0.0185,
          "percent_delta": -0.0535,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5352,
          "after": 1.0,
          "delta": 0.4648,
          "percent_delta": 0.8685,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4777,
          "after": 0.458,
          "delta": -0.0197,
          "percent_delta": -0.0412,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8893,
          "after": 1.0,
          "delta": 0.1107,
          "percent_delta": 0.1245,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 5,
        "deboosted_metrics": 4,
        "better_metrics": 4,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2368,
          "after": 1.0,
          "delta": 0.7632,
          "percent_delta": 3.223,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.1601,
          "after": 0.0,
          "delta": -0.1601,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.217,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.327,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.458,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "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_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 0,
        "deboosted_metrics": 3,
        "better_metrics": 0,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.217,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.327,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.458,
        "predicted_SO": 1.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.08,
        "after": 4.0,
        "delta": -0.08,
        "percent_delta": -0.0196,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.256,
        "after": 0.217,
        "delta": -0.039,
        "percent_delta": -0.1523,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.497,
        "after": 0.0,
        "delta": -0.497,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_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.367,
        "after": 0.327,
        "delta": -0.04,
        "percent_delta": -0.109,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.62,
        "after": 0.0,
        "delta": -0.62,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.501,
        "after": 0.458,
        "delta": -0.043,
        "percent_delta": -0.0858,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.791,
        "after": 1.0,
        "delta": 0.209,
        "percent_delta": 0.2642,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 2,
      "deboosted_metrics": 8,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 1.0,
        "delta": 0.39,
        "percent_delta": 0.6393,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.62,
        "after": 0.0,
        "delta": -0.62,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.160-
predicted_3B0.006-
predicted_AB4.080-
predicted_AVG0.256-
predicted_BB0.497-
predicted_H1.040-
predicted_HR0.230-
predicted_OBP0.367-
predicted_R0.620-
predicted_RBI0.610-
predicted_SLG0.501-
predicted_SO0.791-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1680.008
predicted_3B0.005-0.001
predicted_AB3.854-0.226
predicted_AVG0.2680.012
predicted_BB0.488-0.009
predicted_H1.028-0.012
predicted_HBP0.015-
predicted_HR0.221-0.009
predicted_OBP0.3680.001
predicted_R0.6560.036
predicted_RBI0.573-0.037
predicted_SLG0.5060.005
predicted_SO0.779-0.012
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1680.000
predicted_3B0.0050.000
predicted_AB3.8540.000
predicted_AVG0.263-0.006
predicted_BB0.4880.000
predicted_H1.012-0.016
predicted_HBP0.0150.000
predicted_HR0.217-0.004
predicted_OBP0.345-0.022
predicted_R0.641-0.015
predicted_RBI0.559-0.013
predicted_SLG0.478-0.029
predicted_SO0.7790.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.08), rates preserved: AVG=0.216 HR/AB=0.053

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=8.0, weight=0.084, BvP AVG=0.125)

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1600.160
3B0.0110.011
BB0.573-0.427
H0.801-0.199
HR0.2370.237
RBI0.535-0.465
SO0.889-0.111
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.160
3B0.000-0.011
AB4.0000.000
AVG0.217-
BB1.0000.427
H1.0000.199
HR1.0000.763
OBP0.327-
R1.0000.000
RBI1.0000.465
SLG0.458-
SO1.0000.111
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.168
predicted_3B0.000-0.005
predicted_AB4.0000.146
predicted_AVG0.217-0.046
predicted_BB1.0000.512
predicted_H1.000-0.012
predicted_HR1.0000.783
predicted_OBP0.327-0.018
predicted_R1.0000.359
predicted_RBI1.0000.441
predicted_SLG0.458-0.020
predicted_SO1.0000.221
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.000-1.000
H1.0000.000
HBP0.0000.000
HR0.000-1.000
PA4.000-
R0.000-1.000
RBI1.0000.000
SF0.0000.000
SO1.0000.000
12. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.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: 163
Reference playing time: 4.080
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-15.0005.0001.0000.0001.0002.0005.0003.0004.0000.33330.44440.60000.33330.06670.13330.20000.2667
last_100.2010-34.0009.0002.0000.0001.0004.0006.0003.0006.0000.26470.32430.41180.26470.02940.11770.08820.1765
season0.60163-618.000171.00026.0001.00042.000101.000101.00081.000129.0000.27670.36260.52590.27670.06800.16340.13110.2087
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1790
predicted_3B0.0040
predicted_AB3.5650
predicted_AVG0.2841
predicted_BB0.4760
predicted_H1.0130
predicted_HBP0.0150
predicted_HR0.2100
predicted_OBP0.3686
predicted_R0.7030
predicted_RBI0.5250
predicted_SLG0.5134
predicted_SO0.7640
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16000.17900.1683model_form_blend
predicted_3B0.00600.00400.0051model_form_blend
predicted_AB4.08003.56503.8544model_form_blend
predicted_AVG0.25600.28410.2683model_form_blend
predicted_BB0.49700.47600.4878model_form_blend
predicted_H1.04001.01301.0282model_form_blend
predicted_HBP-0.01500.0150form_only
predicted_HR0.23000.21000.2212model_form_blend
predicted_OBP0.36700.36860.3677model_form_blend
predicted_R0.62000.70300.6564model_form_blend
predicted_RBI0.61000.52500.5728model_form_blend
predicted_SLG0.50100.51340.5064model_form_blend
predicted_SO0.79100.76400.7792model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.5
Hitting_BB0
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB3
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
gameID20261005_NYY@TB
game_typefull
mlbID691406
playerID691406
playerNameJunior Caminero
pos3B
startedTrue
startingPosition3B
teamTB
teamID27
game_date2026-10-05
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
Victor Mesa Jr. (683748) · BATTER · LF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 243
All-history rows before 20261008: 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.0003.000Hitting_AB3.4203.000-0.4200.000
predicted_AVG0.2610.3330.333Hitting_AVG0.2620.3330.0710.000
predicted_BB0.3061.0001.000Hitting_BB0.3370.0000.6631.000
predicted_CS-0.0000.000BaseRunning_CS0.0490.000-0.0490.000
predicted_H0.8611.0001.000Hitting_H0.8971.0000.1030.000
predicted_HR0.1941.0001.000Hitting_HR0.2140.0000.7861.000
predicted_OBP0.3230.5000.500Hitting_OBP0.3280.3330.1720.167
predicted_R0.5141.0001.000Hitting_R0.5560.0000.4441.000
predicted_RBI0.4722.0002.000Hitting_RBI0.5270.0001.4732.000
predicted_SLG0.4961.3331.333Hitting_SLG0.5130.3330.8211.000
predicted_SO0.7500.0000.000Hitting_SO0.7241.000-0.724-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_RBI: 0.4720 -> 2.0000 (boost 1.5280, better)
Biggest Deboostpredicted_SO: 0.7500 -> 0.0000 (deboost -0.7500, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend43131predicted_AB: 3.3060 -> 3.4017 (boost 0.0957, better)predicted_SLG: 0.4960 -> 0.4827 (deboost -0.0133, worse)Final model input calibrated 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.4827 -> 0.4747 (deboost -0.0080, 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.4017 -> 4.0000 (boost 0.5983, better)predicted_BB: 0.2976 -> 0.0000 (deboost -0.2976, worse)AB rounded to 4 (raw=3.40), rates preserved: AVG=0.230 HR/AB=0.050
6consistency_constraints11010predicted_R: 0.5073 -> 1.0000 (boost 0.4927, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine53232predicted_BB: 0.0000 -> 0.4156 (boost 0.4156, better)predicted_RBI: 1.0000 -> 0.5097 (deboost -0.4903, 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_allocation81717predicted_H: 0.7864 -> 1.0000 (boost 0.2136, better)predicted_RBI: 0.5097 -> 0.0000 (deboost -0.5097, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization53241predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "683748",
  "player_name": "Victor Mesa Jr.",
  "position": "LF",
  "team": "TB",
  "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.261,
        "predicted_BB": 0.306,
        "predicted_H": 0.861,
        "predicted_HR": 0.194,
        "predicted_OBP": 0.323,
        "predicted_R": 0.514,
        "predicted_RBI": 0.472,
        "predicted_SLG": 0.496,
        "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
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local 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.2683,
        "predicted_BB": 0.2976,
        "predicted_H": 0.9126,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1722,
        "predicted_OBP": 0.3271,
        "predicted_R": 0.5195,
        "predicted_RBI": 0.4766,
        "predicted_SLG": 0.4827,
        "predicted_SO": 0.7911
      },
      "changed_metrics": [
        {
          "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.261,
          "after": 0.2683,
          "delta": 0.0073,
          "percent_delta": 0.028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.861,
          "after": 0.9126,
          "delta": 0.0516,
          "percent_delta": 0.0599,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.496,
          "after": 0.4827,
          "delta": -0.0133,
          "percent_delta": -0.0268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 3,
        "deboosted_metrics": 1,
        "better_metrics": 3,
        "worse_metrics": 1,
        "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": {
          "metric": "predicted_SLG",
          "before": 0.496,
          "after": 0.4827,
          "delta": -0.0133,
          "percent_delta": -0.0268,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 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.2641,
        "predicted_BB": 0.2976,
        "predicted_H": 0.8985,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.1688,
        "predicted_OBP": 0.3233,
        "predicted_R": 0.5073,
        "predicted_RBI": 0.4654,
        "predicted_SLG": 0.4747,
        "predicted_SO": 0.7911
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.4827,
          "after": 0.4747,
          "delta": -0.008,
          "percent_delta": -0.0166,
          "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_SLG",
          "before": 0.4827,
          "after": 0.4747,
          "delta": -0.008,
          "percent_delta": -0.0166,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.40), rates preserved: AVG=0.230 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.14,
          "after": 0.0,
          "delta": -0.14,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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.8985,
          "after": 1.0,
          "delta": 0.1015,
          "percent_delta": 0.113,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1688,
          "after": 0.0,
          "delta": -0.1688,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4654,
          "after": 1.0,
          "delta": 0.5346,
          "percent_delta": 1.1487,
          "direction": "boost",
          "projection_effect": "better",
          "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": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "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_BB",
          "before": 0.2976,
          "after": 0.0,
          "delta": -0.2976,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_R",
          "before": 0.5073,
          "after": 1.0,
          "delta": 0.4927,
          "percent_delta": 0.9712,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5073,
          "after": 1.0,
          "delta": 0.4927,
          "percent_delta": 0.9712,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1579,
        "predicted_3B": 0.0212,
        "predicted_BB": 0.4156,
        "predicted_H": 0.7864,
        "predicted_HR": 0.2009,
        "predicted_RBI": 0.5097,
        "predicted_SO": 1.0145
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1579,
          "delta": 0.1579,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4156,
          "delta": 0.4156,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7864,
          "delta": -0.2136,
          "percent_delta": -0.2136,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2009,
          "delta": 0.2009,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5097,
          "delta": -0.4903,
          "percent_delta": -0.4903,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.4156,
          "delta": 0.4156,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5097,
          "delta": -0.4903,
          "percent_delta": -0.4903,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.213,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.431,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1579,
          "after": 0.0,
          "delta": -0.1579,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2641,
          "after": 0.213,
          "delta": -0.0511,
          "percent_delta": -0.1935,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4156,
          "after": 0.0,
          "delta": -0.4156,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7864,
          "after": 1.0,
          "delta": 0.2136,
          "percent_delta": 0.2716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2009,
          "after": 0.0,
          "delta": -0.2009,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3233,
          "after": 0.299,
          "delta": -0.0243,
          "percent_delta": -0.0752,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5097,
          "after": 0.0,
          "delta": -0.5097,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4747,
          "after": 0.431,
          "delta": -0.0437,
          "percent_delta": -0.0921,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7864,
          "after": 1.0,
          "delta": 0.2136,
          "percent_delta": 0.2716,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5097,
          "after": 0.0,
          "delta": -0.5097,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.213,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.431,
        "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
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "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_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_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_RBI",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.213,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_LF": 0.0,
        "predicted_OBP": 0.299,
        "predicted_R": 1.0,
        "predicted_RBI": 2.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.431,
        "predicted_SO": 0.0,
        "predicted_TB": 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
      }
    }
  ],
  "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_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.261,
        "after": 0.213,
        "delta": -0.048,
        "percent_delta": -0.1839,
        "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.861,
        "after": 1.0,
        "delta": 0.139,
        "percent_delta": 0.1614,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.194,
        "after": 1.0,
        "delta": 0.806,
        "percent_delta": 4.1546,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.323,
        "after": 0.299,
        "delta": -0.024,
        "percent_delta": -0.0743,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.514,
        "after": 1.0,
        "delta": 0.486,
        "percent_delta": 0.9455,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.472,
        "after": 2.0,
        "delta": 1.528,
        "percent_delta": 3.2373,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.496,
        "after": 0.431,
        "delta": -0.065,
        "percent_delta": -0.131,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 5,
      "deboosted_metrics": 6,
      "better_metrics": 6,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_RBI",
        "before": 0.472,
        "after": 2.0,
        "delta": 1.528,
        "percent_delta": 3.2373,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 0.75,
        "after": 0.0,
        "delta": -0.75,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.111-
predicted_3B0.042-
predicted_AB3.306-
predicted_AVG0.261-
predicted_BB0.306-
predicted_H0.861-
predicted_HR0.194-
predicted_OBP0.323-
predicted_R0.514-
predicted_RBI0.472-
predicted_SLG0.496-
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.2680.007
predicted_BB0.298-0.008
predicted_H0.9130.052
predicted_HBP0.003-
predicted_HR0.172-0.022
predicted_OBP0.3270.004
predicted_R0.5190.005
predicted_RBI0.4770.005
predicted_SLG0.483-0.013
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.264-0.004
predicted_BB0.2980.000
predicted_H0.898-0.014
predicted_HBP0.0030.000
predicted_HR0.169-0.003
predicted_OBP0.323-0.004
predicted_R0.507-0.012
predicted_RBI0.465-0.011
predicted_SLG0.475-0.008
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.230 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. 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.1580.158
3B0.0210.021
BB0.4160.416
H0.786-0.214
HR0.2010.201
RBI0.510-0.490
SO1.0140.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.158
3B0.000-0.021
AB4.0000.000
AVG0.213-
BB0.000-0.416
H1.0000.214
HR0.000-0.201
OBP0.299-
R1.0000.000
RBI0.000-0.510
SLG0.431-
SO1.000-0.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.213-0.051
predicted_BB0.000-0.298
predicted_H1.0000.102
predicted_HR0.000-0.169
predicted_OBP0.299-0.024
predicted_R1.0000.493
predicted_RBI0.000-0.465
predicted_SLG0.431-0.044
predicted_SO1.0000.209
10. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0000.000
RBI2.0002.000
SF0.0000.000
SO0.000-1.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. 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
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R1.0000.000
RBI2.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: 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.26100.27840.2683model_form_blend
predicted_BB0.30600.28600.2976model_form_blend
predicted_H0.86100.98400.9126model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.19400.14200.1722model_form_blend
predicted_OBP0.32300.33280.3271model_form_blend
predicted_R0.51400.52700.5195model_form_blend
predicted_RBI0.47200.48300.4766model_form_blend
predicted_SLG0.49600.46430.4827model_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
H1
2B0
3B0
HR1
R1
RBI2
BB1
SO0
SF0
HBP0

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
Ryan Vilade (668723) · BATTER · RF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 258
All-history rows before 20261008: 258
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2747
Diff (system - data): -0.0297
System opponent_avg: 0.1110
System season_avg diverges from 2026 season-to-date by -0.0297. 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.0900.0000.000Hitting_2B0.1240.000-0.1240.000
predicted_3B0.0220.0000.000Hitting_3B0.0390.000-0.0390.000
predicted_AB2.7084.0004.000Hitting_AB3.0622.0000.9382.000
predicted_AVG0.2210.0000.000Hitting_AVG0.2750.000-0.2750.000
predicted_BB0.2700.0000.000Hitting_BB0.3100.000-0.3100.000
predicted_CS-0.0000.000BaseRunning_CS0.0160.000-0.0160.000
predicted_H0.3200.0000.000Hitting_H0.8410.000-0.8410.000
predicted_HR0.0600.0000.000Hitting_HR0.1470.000-0.1470.000
predicted_OBP0.2740.0000.000Hitting_OBP0.3440.000-0.3440.000
predicted_R0.3150.0000.000Hitting_R0.3910.000-0.3910.000
predicted_RBI0.2500.0000.000Hitting_RBI0.5580.000-0.5580.000
predicted_SLG0.3450.0000.000Hitting_SLG0.4850.000-0.4850.000
predicted_SO0.7302.0002.000Hitting_SO0.7750.0001.2252.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics12
Boosted Metrics4
Deboosted Metrics8
Better Metrics3
Worse Metrics9
Biggest Boostpredicted_AB: 2.7080 -> 4.0000 (boost 1.2920, better)
Biggest Deboostpredicted_H: 0.3200 -> 0.0000 (deboost -0.3200, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend64242predicted_H: 0.3200 -> 0.4374 (boost 0.1174, better)predicted_SLG: 0.3450 -> 0.3352 (deboost -0.0098, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot30303-predicted_SLG: 0.3352 -> 0.2686 (deboost -0.0666, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling82617predicted_SO: 0.7624 -> 1.0000 (boost 0.2376, worse)predicted_H: 0.4306 -> 0.0000 (deboost -0.4306, worse)AB rounded to 3 (raw=2.80), rates preserved: AVG=0.134 HR/AB=0.024
6consistency_constraints21111predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_R: 0.3052 -> 0.0000 (deboost -0.3052, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5330 (boost 0.5330, better)predicted_H: 1.0000 -> 0.7290 (deboost -0.2710, 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_allocation95463predicted_RBI: 0.5330 -> 1.0000 (boost 0.4670, better)predicted_BB: 0.4295 -> 0.0000 (deboost -0.4295, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization42213predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "668723",
  "player_name": "Ryan Vilade",
  "position": "RF",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.09,
        "predicted_3B": 0.022,
        "predicted_AB": 2.708,
        "predicted_AVG": 0.221,
        "predicted_BB": 0.27,
        "predicted_H": 0.32,
        "predicted_HR": 0.06,
        "predicted_OBP": 0.274,
        "predicted_R": 0.315,
        "predicted_RBI": 0.25,
        "predicted_SLG": 0.345,
        "predicted_SO": 0.73
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0799,
        "predicted_3B": 0.0186,
        "predicted_AB": 2.798,
        "predicted_AVG": 0.2143,
        "predicted_BB": 0.2755,
        "predicted_H": 0.4374,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.0693,
        "predicted_OBP": 0.2792,
        "predicted_R": 0.3125,
        "predicted_RBI": 0.335,
        "predicted_SLG": 0.3352,
        "predicted_SO": 0.7624
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.708,
          "after": 2.798,
          "delta": 0.09,
          "percent_delta": 0.0332,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.221,
          "after": 0.2143,
          "delta": -0.0067,
          "percent_delta": -0.0303,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.32,
          "after": 0.4374,
          "delta": 0.1174,
          "percent_delta": 0.3669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.274,
          "after": 0.2792,
          "delta": 0.0052,
          "percent_delta": 0.019,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.25,
          "after": 0.335,
          "delta": 0.085,
          "percent_delta": 0.34,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3352,
          "delta": -0.0098,
          "percent_delta": -0.0284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 4,
        "deboosted_metrics": 2,
        "better_metrics": 4,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.32,
          "after": 0.4374,
          "delta": 0.1174,
          "percent_delta": 0.3669,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.345,
          "after": 0.3352,
          "delta": -0.0098,
          "percent_delta": -0.0284,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 89
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0799,
        "predicted_3B": 0.0186,
        "predicted_AB": 2.798,
        "predicted_AVG": 0.1539,
        "predicted_BB": 0.2755,
        "predicted_H": 0.4306,
        "predicted_HBP": 0.057,
        "predicted_HR": 0.0679,
        "predicted_OBP": 0.2297,
        "predicted_R": 0.3052,
        "predicted_RBI": 0.3271,
        "predicted_SLG": 0.2686,
        "predicted_SO": 0.7624
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2143,
          "after": 0.1539,
          "delta": -0.0604,
          "percent_delta": -0.2818,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2792,
          "after": 0.2297,
          "delta": -0.0495,
          "percent_delta": -0.1773,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3352,
          "after": 0.2686,
          "delta": -0.0666,
          "percent_delta": -0.1987,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.3352,
          "after": 0.2686,
          "delta": -0.0666,
          "percent_delta": -0.1987,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.80), rates preserved: AVG=0.134 HR/AB=0.024",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0799,
          "after": 0.0,
          "delta": -0.0799,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.798,
          "after": 3.0,
          "delta": 0.202,
          "percent_delta": 0.0722,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2755,
          "after": 0.0,
          "delta": -0.2755,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.4306,
          "after": 0.0,
          "delta": -0.4306,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HBP",
          "before": 0.057,
          "after": 0.0,
          "delta": -0.057,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0679,
          "after": 0.0,
          "delta": -0.0679,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3271,
          "after": 0.0,
          "delta": -0.3271,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7624,
          "after": 1.0,
          "delta": 0.2376,
          "percent_delta": 0.3116,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 2,
        "deboosted_metrics": 6,
        "better_metrics": 1,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7624,
          "after": 1.0,
          "delta": 0.2376,
          "percent_delta": 0.3116,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.4306,
          "after": 0.0,
          "delta": -0.4306,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.3052,
          "after": 0.0,
          "delta": -0.3052,
          "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_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.3052,
          "after": 0.0,
          "delta": -0.3052,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.156,
        "predicted_3B": 0.0189,
        "predicted_BB": 0.4295,
        "predicted_H": 0.729,
        "predicted_HR": 0.1621,
        "predicted_RBI": 0.533,
        "predicted_SO": 1.0587
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.156,
          "delta": 0.156,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4295,
          "delta": 0.4295,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.729,
          "delta": -0.271,
          "percent_delta": -0.271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1621,
          "delta": 0.1621,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.533,
          "delta": 0.533,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0587,
          "delta": 0.0587,
          "percent_delta": 0.0587,
          "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.533,
          "delta": 0.533,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.729,
          "delta": -0.271,
          "percent_delta": -0.271,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.406,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.156,
          "after": 0.0,
          "delta": -0.156,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1539,
          "after": 0.21,
          "delta": 0.0561,
          "percent_delta": 0.3645,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4295,
          "after": 0.0,
          "delta": -0.4295,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.729,
          "after": 1.0,
          "delta": 0.271,
          "percent_delta": 0.3717,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1621,
          "after": 0.0,
          "delta": -0.1621,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2297,
          "after": 0.303,
          "delta": 0.0733,
          "percent_delta": 0.3191,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.533,
          "after": 1.0,
          "delta": 0.467,
          "percent_delta": 0.8762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2686,
          "after": 0.406,
          "delta": 0.1374,
          "percent_delta": 0.5115,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0587,
          "after": 1.0,
          "delta": -0.0587,
          "percent_delta": -0.0554,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 5,
        "deboosted_metrics": 4,
        "better_metrics": 6,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.533,
          "after": 1.0,
          "delta": 0.467,
          "percent_delta": 0.8762,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4295,
          "after": 0.0,
          "delta": -0.4295,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.21,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.406,
        "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
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "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_H",
          "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_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 2,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 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
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.303,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.406,
        "predicted_SO": 2.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.708,
        "after": 4.0,
        "delta": 1.292,
        "percent_delta": 0.4771,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.221,
        "after": 0.21,
        "delta": -0.011,
        "percent_delta": -0.0498,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.27,
        "after": 0.0,
        "delta": -0.27,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HBP",
        "before": 0.057,
        "after": 0.0,
        "delta": -0.057,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.06,
        "after": 0.0,
        "delta": -0.06,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.274,
        "after": 0.303,
        "delta": 0.029,
        "percent_delta": 0.1058,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.315,
        "after": 0.0,
        "delta": -0.315,
        "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.345,
        "after": 0.406,
        "delta": 0.061,
        "percent_delta": 0.1768,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.73,
        "after": 2.0,
        "delta": 1.27,
        "percent_delta": 1.7397,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 12,
      "boosted_metrics": 4,
      "deboosted_metrics": 8,
      "better_metrics": 3,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.708,
        "after": 4.0,
        "delta": 1.292,
        "percent_delta": 0.4771,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.32,
        "after": 0.0,
        "delta": -0.32,
        "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.090-
predicted_3B0.022-
predicted_AB2.708-
predicted_AVG0.221-
predicted_BB0.270-
predicted_H0.320-
predicted_HR0.060-
predicted_OBP0.274-
predicted_R0.315-
predicted_RBI0.250-
predicted_SLG0.345-
predicted_SO0.730-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.080-0.010
predicted_3B0.019-0.003
predicted_AB2.7980.090
predicted_AVG0.214-0.007
predicted_BB0.2760.006
predicted_H0.4370.117
predicted_HBP0.057-
predicted_HR0.0690.009
predicted_OBP0.2790.005
predicted_R0.312-0.003
predicted_RBI0.3350.085
predicted_SLG0.335-0.010
predicted_SO0.7620.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.0800.000
predicted_3B0.0190.000
predicted_AB2.7980.000
predicted_AVG0.154-0.060
predicted_BB0.2760.000
predicted_H0.431-0.007
predicted_HBP0.0570.000
predicted_HR0.068-0.001
predicted_OBP0.230-0.050
predicted_R0.305-0.007
predicted_RBI0.327-0.008
predicted_SLG0.269-0.067
predicted_SO0.7620.000
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

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

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0001.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.1560.156
3B0.0190.019
BB0.4290.429
H0.729-0.271
HR0.1620.162
RBI0.5330.533
SO1.0590.059
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.156
3B0.000-0.019
AB3.0000.000
AVG0.210-
BB0.000-0.429
H1.0000.271
HR0.000-0.162
OBP0.303-
R0.0000.000
RBI1.0000.467
SLG0.406-
SO1.000-0.059
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.080
predicted_3B0.000-0.019
predicted_AB3.0000.202
predicted_AVG0.2100.056
predicted_BB0.000-0.276
predicted_H1.0000.569
predicted_HR0.000-0.068
predicted_OBP0.3030.073
predicted_R0.000-0.305
predicted_RBI1.0000.673
predicted_SLG0.4060.137
predicted_SO1.0000.238
10. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 89
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.0002.0000.0000.0000.0002.0001.0001.0004.0000.13330.18750.13330.13330.00000.13330.06670.2667
last_100.2010-30.0004.0000.0000.0000.0004.0003.0004.00010.0000.13330.27780.13330.13330.00000.13330.13330.3333
season0.6089-241.00059.0008.0002.00011.00042.00028.00024.00065.0000.24480.31850.43150.24480.04560.17430.09960.2697
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0660
predicted_3B0.0140
predicted_AB2.9220
predicted_AVG0.2050
predicted_BB0.2830
predicted_H0.5990
predicted_HBP0.0570
predicted_HR0.0820
predicted_OBP0.2863
predicted_R0.3090
predicted_RBI0.4520
predicted_SLG0.3217
predicted_SO0.8070
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09000.06600.0799model_form_blend
predicted_3B0.02200.01400.0186model_form_blend
predicted_AB2.70802.92202.7980model_form_blend
predicted_AVG0.22100.20500.2143model_form_blend
predicted_BB0.27000.28300.2755model_form_blend
predicted_H0.32000.59900.4374model_form_blend
predicted_HBP-0.05700.0570form_only
predicted_HR0.06000.08200.0693model_form_blend
predicted_OBP0.27400.28630.2792model_form_blend
predicted_R0.31500.30900.3125model_form_blend
predicted_RBI0.25000.45200.3350model_form_blend
predicted_SLG0.34500.32170.3352model_form_blend
predicted_SO0.73000.80700.7624model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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_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-1B
gameID20260927_TB@PHI
game_typeph
mlbID668723
noteLined out for Aranda in the 6th.
playerID668723
playerNameRyan Vilade
posRF
startedFalse
startingPositionPH
teamTB
teamID27
game_date2026-09-27
sl_k_percent23.4
sl_bb_percent9.4
sl_woba0.327
sl_xwoba0.327
sl_xba0.252
sl_xslg0.421
sl_sweet_spot_percent29.9
sl_barrel_batted_rate7.1
sl_hard_hit_percent39.9
sl_exit_velocity_avg89.2
sl_launch_angle_avg17.0
sl_whiff_percent23.6
sl_swing_percent48.7
Liam Hicks (689414) · BATTER · C · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 125
All-history rows before 20261008: 125
System season_avg: 0.2820
Data season_avg (2026 season-to-date): 0.3159
Diff (system - data): -0.0339
System opponent_avg: 0.1970
System season_avg diverges from 2026 season-to-date by -0.0339. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1180.0000.000Hitting_2B0.2080.000-0.2080.000
predicted_3B0.0070.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.7104.0004.000Hitting_AB3.3683.0000.6321.000
predicted_AVG0.2270.2500.250Hitting_AVG0.3160.000-0.0660.250
predicted_BB0.3960.0000.000Hitting_BB0.4400.000-0.4400.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.8401.0001.000Hitting_H1.0640.000-0.0641.000
predicted_HR0.0901.0001.000Hitting_HR0.1440.0000.8561.000
predicted_OBP0.3460.2500.250Hitting_OBP0.4090.000-0.1590.250
predicted_R0.4581.0001.000Hitting_R0.3680.0000.6321.000
predicted_RBI0.4901.0001.000Hitting_RBI0.7361.0000.2640.000
predicted_SLG0.3731.0001.000Hitting_SLG0.5060.0000.4941.000
predicted_SO0.3820.0000.000Hitting_SO0.3440.000-0.3440.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_HR: 0.0900 -> 1.0000 (boost 0.9100, better)
Biggest Deboostpredicted_BB: 0.3960 -> 0.0000 (deboost -0.3960, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend54141predicted_2B: 0.1180 -> 0.1689 (boost 0.0509, better)predicted_AB: 3.7100 -> 3.6421 (deboost -0.0679, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_OBP: 0.3451 -> 0.3141 (deboost -0.0310, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling71625predicted_H: 0.8767 -> 1.0000 (boost 0.1233, better)predicted_AB: 3.6421 -> 3.0000 (deboost -0.6421, worse)AB rounded to 3 (raw=3.71), rates preserved: AVG=0.206 HR/AB=0.023
6consistency_constraints10101-predicted_R: 0.4187 -> 0.0000 (deboost -0.4187, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5781 (boost 0.5781, better)predicted_H: 1.0000 -> 0.7953 (deboost -0.2047, worse)Step 3c: every metric rebuilt as an odds ratio with a per-metric fitted shrinkage, plus platoon, park and batter-versus-pitcher context
8lineup_integer_allocation83544predicted_RBI: 0.5781 -> 1.0000 (boost 0.4219, better)predicted_SO: 0.5222 -> 0.0000 (deboost -0.5222, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization33030predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "689414",
  "player_name": "Liam Hicks",
  "position": "C",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.118,
        "predicted_3B": 0.007,
        "predicted_AB": 3.71,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.396,
        "predicted_H": 0.84,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.346,
        "predicted_R": 0.458,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.373,
        "predicted_SO": 0.382
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1689,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.6421,
        "predicted_AVG": 0.2452,
        "predicted_BB": 0.3899,
        "predicted_H": 0.8905,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0861,
        "predicted_OBP": 0.3451,
        "predicted_R": 0.4288,
        "predicted_RBI": 0.5,
        "predicted_SLG": 0.3876,
        "predicted_SO": 0.3959
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.118,
          "after": 0.1689,
          "delta": 0.0509,
          "percent_delta": 0.4314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.71,
          "after": 3.6421,
          "delta": -0.0679,
          "percent_delta": -0.0183,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.227,
          "after": 0.2452,
          "delta": 0.0182,
          "percent_delta": 0.0802,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.84,
          "after": 0.8905,
          "delta": 0.0505,
          "percent_delta": 0.0601,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.373,
          "after": 0.3876,
          "delta": 0.0146,
          "percent_delta": 0.0391,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.118,
          "after": 0.1689,
          "delta": 0.0509,
          "percent_delta": 0.4314,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.71,
          "after": 3.6421,
          "delta": -0.0679,
          "percent_delta": -0.0183,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 144
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1689,
        "predicted_3B": 0.0061,
        "predicted_AB": 3.6421,
        "predicted_AVG": 0.2407,
        "predicted_BB": 0.3899,
        "predicted_H": 0.8767,
        "predicted_HBP": 0.047,
        "predicted_HR": 0.0844,
        "predicted_OBP": 0.3141,
        "predicted_R": 0.4187,
        "predicted_RBI": 0.4883,
        "predicted_SLG": 0.36,
        "predicted_SO": 0.3959
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.3451,
          "after": 0.3141,
          "delta": -0.031,
          "percent_delta": -0.0898,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3876,
          "after": 0.36,
          "delta": -0.0276,
          "percent_delta": -0.0712,
          "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_OBP",
          "before": 0.3451,
          "after": 0.3141,
          "delta": -0.031,
          "percent_delta": -0.0898,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.71), rates preserved: AVG=0.206 HR/AB=0.023",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1689,
          "after": 0.0,
          "delta": -0.1689,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.6421,
          "after": 3.0,
          "delta": -0.6421,
          "percent_delta": -0.1763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3899,
          "after": 0.0,
          "delta": -0.3899,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8767,
          "after": 1.0,
          "delta": 0.1233,
          "percent_delta": 0.1406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0844,
          "after": 0.0,
          "delta": -0.0844,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4883,
          "after": 0.0,
          "delta": -0.4883,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.3959,
          "after": 0.0,
          "delta": -0.3959,
          "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.8767,
          "after": 1.0,
          "delta": 0.1233,
          "percent_delta": 0.1406,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 3.6421,
          "after": 3.0,
          "delta": -0.6421,
          "percent_delta": -0.1763,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.4187,
          "after": 0.0,
          "delta": -0.4187,
          "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_R",
          "before": 0.4187,
          "after": 0.0,
          "delta": -0.4187,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1371,
        "predicted_3B": 0.0137,
        "predicted_BB": 0.4175,
        "predicted_H": 0.7953,
        "predicted_HR": 0.1371,
        "predicted_RBI": 0.5781,
        "predicted_SO": 0.5222
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1371,
          "delta": 0.1371,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4175,
          "delta": 0.4175,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7953,
          "delta": -0.2047,
          "percent_delta": -0.2047,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1371,
          "delta": 0.1371,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5781,
          "delta": 0.5781,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 0.5222,
          "delta": 0.5222,
          "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.5781,
          "delta": 0.5781,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7953,
          "delta": -0.2047,
          "percent_delta": -0.2047,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1371,
          "after": 0.0,
          "delta": -0.1371,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2407,
          "after": 0.227,
          "delta": -0.0137,
          "percent_delta": -0.0569,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4175,
          "after": 0.0,
          "delta": -0.4175,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7953,
          "after": 1.0,
          "delta": 0.2047,
          "percent_delta": 0.2574,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1371,
          "after": 0.0,
          "delta": -0.1371,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5781,
          "after": 1.0,
          "delta": 0.4219,
          "percent_delta": 0.7298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.36,
          "after": 0.392,
          "delta": 0.032,
          "percent_delta": 0.0889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5222,
          "after": 0.0,
          "delta": -0.5222,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5781,
          "after": 1.0,
          "delta": 0.4219,
          "percent_delta": 0.7298,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 0.5222,
          "after": 0.0,
          "delta": -0.5222,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.315,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.392,
        "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
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "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": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "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_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
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 3,
        "deboosted_metrics": 0,
        "better_metrics": 3,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.227,
        "predicted_BB": 0.0,
        "predicted_C": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.315,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.392,
        "predicted_SO": 0.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.118,
        "after": 0.0,
        "delta": -0.118,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.71,
        "after": 4.0,
        "delta": 0.29,
        "percent_delta": 0.0782,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.396,
        "after": 0.0,
        "delta": -0.396,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.84,
        "after": 1.0,
        "delta": 0.16,
        "percent_delta": 0.1905,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 1.0,
        "delta": 0.91,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.346,
        "after": 0.315,
        "delta": -0.031,
        "percent_delta": -0.0896,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.458,
        "after": 1.0,
        "delta": 0.542,
        "percent_delta": 1.1834,
        "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.373,
        "after": 0.392,
        "delta": 0.019,
        "percent_delta": 0.0509,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.382,
        "after": 0.0,
        "delta": -0.382,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 1.0,
        "delta": 0.91,
        "percent_delta": 10.1111,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.396,
        "after": 0.0,
        "delta": -0.396,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.118-
predicted_3B0.007-
predicted_AB3.710-
predicted_AVG0.227-
predicted_BB0.396-
predicted_H0.840-
predicted_HR0.090-
predicted_OBP0.346-
predicted_R0.458-
predicted_RBI0.490-
predicted_SLG0.373-
predicted_SO0.382-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.051
predicted_3B0.006-0.001
predicted_AB3.642-0.068
predicted_AVG0.2450.018
predicted_BB0.390-0.006
predicted_H0.8900.050
predicted_HBP0.047-
predicted_HR0.086-0.004
predicted_OBP0.345-0.001
predicted_R0.429-0.029
predicted_RBI0.5000.010
predicted_SLG0.3880.015
predicted_SO0.3960.014
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1690.000
predicted_3B0.0060.000
predicted_AB3.6420.000
predicted_AVG0.241-0.005
predicted_BB0.3900.000
predicted_H0.877-0.014
predicted_HBP0.0470.000
predicted_HR0.084-0.002
predicted_OBP0.314-0.031
predicted_R0.419-0.010
predicted_RBI0.488-0.012
predicted_SLG0.360-0.028
predicted_SO0.3960.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.71), rates preserved: AVG=0.206 HR/AB=0.023

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1370.137
3B0.0140.014
BB0.4170.417
H0.795-0.205
HR0.1370.137
RBI0.5780.578
SO0.5220.522
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.137
3B0.000-0.014
AB3.0000.000
AVG0.227-
BB0.000-0.417
H1.0000.205
HR0.000-0.137
OBP0.315-
R0.0000.000
RBI1.0000.422
SLG0.392-
SO0.000-0.522
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.169
predicted_3B0.000-0.006
predicted_AB3.000-0.642
predicted_AVG0.227-0.014
predicted_BB0.000-0.390
predicted_H1.0000.123
predicted_HR0.000-0.084
predicted_OBP0.3150.001
predicted_R0.000-0.419
predicted_RBI1.0000.512
predicted_SLG0.3920.032
predicted_SO0.000-0.396
10. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR1.0001.000
PA4.000-
R1.0001.000
RBI1.0000.000
SF0.0000.000
SO0.0000.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. 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
H1.0000.000
HBP0.0000.000
HR1.0000.000
PA4.0000.000
R1.0000.000
RBI1.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: 144
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.0005.0003.0000.0000.0002.0001.0001.0002.0000.23810.27270.38100.23810.00000.09520.04760.0952
last_100.2010-34.0009.0003.0000.0000.0004.0003.0005.0004.0000.26470.35900.35290.26470.00000.11770.14710.1177
season0.60144-485.000137.00017.0001.00018.00083.00066.00057.00055.0000.28250.36610.43300.28250.03710.17110.11750.1134
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2350
predicted_3B0.0050
predicted_AB3.5540
predicted_AVG0.2689
predicted_BB0.3820
predicted_H0.9560
predicted_HBP0.0470
predicted_HR0.0810
predicted_OBP0.3439
predicted_R0.3910
predicted_RBI0.5130
predicted_SLG0.4066
predicted_SO0.4140
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.11800.23500.1689model_form_blend
predicted_3B0.00700.00500.0061model_form_blend
predicted_AB3.71003.55403.6421model_form_blend
predicted_AVG0.22700.26890.2452model_form_blend
predicted_BB0.39600.38200.3899model_form_blend
predicted_H0.84000.95600.8905model_form_blend
predicted_HBP-0.04700.0470form_only
predicted_HR0.09000.08100.0861model_form_blend
predicted_OBP0.34600.34390.3451model_form_blend
predicted_R0.45800.39100.4288model_form_blend
predicted_RBI0.49000.51300.5000model_form_blend
predicted_SLG0.37300.40660.3876model_form_blend
predicted_SO0.38200.41400.3959model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB4
H1
2B0
3B0
HR1
R1
RBI1
BB0
SO0
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI1
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedC
gameID20261005_NYY@TB
game_typefull
mlbID689414
playerID689414
playerNameLiam Hicks
posC
startedTrue
startingPositionC
teamTB
teamID27
game_date2026-10-05
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
Jonny DeLuca (676356) · BATTER · CF · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 350
All-history rows before 20261008: 350
System season_avg: 0.2660
Data season_avg (2026 season-to-date): 0.2784
Diff (system - data): -0.0124
System opponent_avg: 0.0800

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.2380.0000.000Hitting_2B0.2691.000-0.269-1.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.3624.0004.000Hitting_AB3.6744.0000.3260.000
predicted_AVG0.2660.2500.250Hitting_AVG0.2780.250-0.0280.000
predicted_BB0.1620.0000.000Hitting_BB0.1770.000-0.1770.000
predicted_CS-0.0000.000BaseRunning_CS0.0540.000-0.0540.000
predicted_H0.8951.0001.000Hitting_H1.0231.000-0.0230.000
predicted_HR0.1050.0000.000Hitting_HR0.1090.000-0.1090.000
predicted_OBP0.3000.2500.250Hitting_OBP0.3120.250-0.0620.000
predicted_R0.4190.0000.000Hitting_R0.4831.000-0.483-1.000
predicted_RBI0.4760.0000.000Hitting_RBI0.5600.000-0.5600.000
predicted_SLG0.4310.2500.250Hitting_SLG0.4400.500-0.190-0.250
predicted_SO0.7521.0001.000Hitting_SO0.7600.0000.2401.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 3.3620 -> 4.0000 (boost 0.6380, better)
Biggest Deboostpredicted_RBI: 0.4760 -> 0.0000 (deboost -0.4760, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_AB: 3.3620 -> 3.4373 (boost 0.0753, 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.4569 -> 0.4512 (deboost -0.0057, 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.4373 -> 4.0000 (boost 0.5627, better)predicted_2B: 0.2461 -> 0.0000 (deboost -0.2461, worse)AB rounded to 4 (raw=3.44), rates preserved: AVG=0.230 HR/AB=0.039
6bvp_blend00000--Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4455 -> 0.0000 (deboost -0.4455, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.2807 (boost 0.2807, better)predicted_RBI: 1.0000 -> 0.4858 (deboost -0.5142, 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_allocation92736predicted_2B: 0.1903 -> 1.0000 (boost 0.8097, better)predicted_RBI: 0.4858 -> 0.0000 (deboost -0.4858, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization10101-predicted_2B: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "676356",
  "player_name": "Jonny DeLuca",
  "position": "CF",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.238,
        "predicted_3B": 0.0,
        "predicted_AB": 3.362,
        "predicted_AVG": 0.266,
        "predicted_BB": 0.162,
        "predicted_H": 0.895,
        "predicted_HR": 0.105,
        "predicted_OBP": 0.3,
        "predicted_R": 0.419,
        "predicted_RBI": 0.476,
        "predicted_SLG": 0.431,
        "predicted_SO": 0.752
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.2461,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4373,
        "predicted_AVG": 0.2678,
        "predicted_BB": 0.1787,
        "predicted_H": 0.9211,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.135,
        "predicted_OBP": 0.3042,
        "predicted_R": 0.4562,
        "predicted_RBI": 0.4953,
        "predicted_SLG": 0.4569,
        "predicted_SO": 0.7713
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.362,
          "after": 3.4373,
          "delta": 0.0753,
          "percent_delta": 0.0224,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.431,
          "after": 0.4569,
          "delta": 0.0259,
          "percent_delta": 0.0601,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.362,
          "after": 3.4373,
          "delta": 0.0753,
          "percent_delta": 0.0224,
          "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": 105
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.2461,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.4373,
        "predicted_AVG": 0.2638,
        "predicted_BB": 0.1787,
        "predicted_H": 0.9068,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1324,
        "predicted_OBP": 0.3002,
        "predicted_R": 0.4455,
        "predicted_RBI": 0.4837,
        "predicted_SLG": 0.4512,
        "predicted_SO": 0.7713
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.4569,
          "after": 0.4512,
          "delta": -0.0057,
          "percent_delta": -0.0125,
          "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_SLG",
          "before": 0.4569,
          "after": 0.4512,
          "delta": -0.0057,
          "percent_delta": -0.0125,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.44), rates preserved: AVG=0.230 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.2461,
          "after": 0.0,
          "delta": -0.2461,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.4373,
          "after": 4.0,
          "delta": 0.5627,
          "percent_delta": 0.1637,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1787,
          "after": 0.0,
          "delta": -0.1787,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9068,
          "after": 1.0,
          "delta": 0.0932,
          "percent_delta": 0.1028,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1324,
          "after": 0.0,
          "delta": -0.1324,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4837,
          "after": 1.0,
          "delta": 0.5163,
          "percent_delta": 1.0674,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7713,
          "after": 1.0,
          "delta": 0.2287,
          "percent_delta": 0.2965,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 4,
        "deboosted_metrics": 3,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.4373,
          "after": 4.0,
          "delta": 0.5627,
          "percent_delta": 0.1637,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 0.2461,
          "after": 0.0,
          "delta": -0.2461,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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": {
        "model_expectation": 0.9243,
        "bvp": 0.0757
      }
    },
    {
      "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_R",
          "before": 0.4455,
          "after": 0.0,
          "delta": -0.4455,
          "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_R",
          "before": 0.4455,
          "after": 0.0,
          "delta": -0.4455,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1903,
        "predicted_3B": 0.0107,
        "predicted_BB": 0.2807,
        "predicted_H": 0.7604,
        "predicted_HR": 0.1336,
        "predicted_RBI": 0.4858,
        "predicted_SO": 1.0512
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1903,
          "delta": 0.1903,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2807,
          "delta": 0.2807,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7604,
          "delta": -0.2396,
          "percent_delta": -0.2396,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1336,
          "delta": 0.1336,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4858,
          "delta": -0.5142,
          "percent_delta": -0.5142,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.0512,
          "delta": 0.0512,
          "percent_delta": 0.0512,
          "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.2807,
          "delta": 0.2807,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.4858,
          "delta": -0.5142,
          "percent_delta": -0.5142,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.214,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.277,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.386,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1903,
          "after": 1.0,
          "delta": 0.8097,
          "percent_delta": 4.2549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2638,
          "after": 0.214,
          "delta": -0.0498,
          "percent_delta": -0.1888,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2807,
          "after": 0.0,
          "delta": -0.2807,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7604,
          "after": 1.0,
          "delta": 0.2396,
          "percent_delta": 0.3151,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1336,
          "after": 0.0,
          "delta": -0.1336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3002,
          "after": 0.277,
          "delta": -0.0232,
          "percent_delta": -0.0773,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4858,
          "after": 0.0,
          "delta": -0.4858,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4512,
          "after": 0.386,
          "delta": -0.0652,
          "percent_delta": -0.1445,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0512,
          "after": 1.0,
          "delta": -0.0512,
          "percent_delta": -0.0487,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 2,
        "deboosted_metrics": 7,
        "better_metrics": 3,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.1903,
          "after": 1.0,
          "delta": 0.8097,
          "percent_delta": 4.2549,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4858,
          "after": 0.0,
          "delta": -0.4858,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.214,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.277,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.386,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 0,
        "deboosted_metrics": 1,
        "better_metrics": 0,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_2B",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.214,
        "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.277,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.386,
        "predicted_SO": 1.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.238,
        "after": 0.0,
        "delta": -0.238,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.362,
        "after": 4.0,
        "delta": 0.638,
        "percent_delta": 0.1898,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.266,
        "after": 0.214,
        "delta": -0.052,
        "percent_delta": -0.1955,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.162,
        "after": 0.0,
        "delta": -0.162,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.895,
        "after": 1.0,
        "delta": 0.105,
        "percent_delta": 0.1173,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.105,
        "after": 0.0,
        "delta": -0.105,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.3,
        "after": 0.277,
        "delta": -0.023,
        "percent_delta": -0.0767,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.419,
        "after": 0.0,
        "delta": -0.419,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.476,
        "after": 0.0,
        "delta": -0.476,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.431,
        "after": 0.386,
        "delta": -0.045,
        "percent_delta": -0.1044,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.752,
        "after": 1.0,
        "delta": 0.248,
        "percent_delta": 0.3298,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.362,
        "after": 4.0,
        "delta": 0.638,
        "percent_delta": 0.1898,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 0.476,
        "after": 0.0,
        "delta": -0.476,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.238-
predicted_3B0.000-
predicted_AB3.362-
predicted_AVG0.266-
predicted_BB0.162-
predicted_H0.895-
predicted_HR0.105-
predicted_OBP0.300-
predicted_R0.419-
predicted_RBI0.476-
predicted_SLG0.431-
predicted_SO0.752-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.2460.008
predicted_3B0.0000.000
predicted_AB3.4370.075
predicted_AVG0.2680.002
predicted_BB0.1790.017
predicted_H0.9210.026
predicted_HBP0.002-
predicted_HR0.1350.030
predicted_OBP0.3040.004
predicted_R0.4560.037
predicted_RBI0.4950.019
predicted_SLG0.4570.026
predicted_SO0.7710.019
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.2460.000
predicted_3B0.0000.000
predicted_AB3.4370.000
predicted_AVG0.264-0.004
predicted_BB0.1790.000
predicted_H0.907-0.014
predicted_HBP0.0020.000
predicted_HR0.132-0.003
predicted_OBP0.300-0.004
predicted_R0.446-0.011
predicted_RBI0.484-0.012
predicted_SLG0.451-0.006
predicted_SO0.7710.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.44), rates preserved: AVG=0.230 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. bvp_blend

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
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.1900.190
3B0.0110.011
BB0.2810.281
H0.760-0.240
HR0.1340.134
RBI0.486-0.514
SO1.0510.051
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.810
3B0.000-0.011
AB4.0000.000
AVG0.214-
BB0.000-0.281
H1.0000.240
HR0.000-0.134
OBP0.277-
R0.0000.000
RBI0.000-0.486
SLG0.386-
SO1.000-0.051
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.754
predicted_3B0.000-0.000
predicted_AB4.0000.563
predicted_AVG0.214-0.050
predicted_BB0.000-0.179
predicted_H1.0000.093
predicted_HR0.000-0.132
predicted_OBP0.277-0.023
predicted_R0.000-0.446
predicted_RBI0.000-0.484
predicted_SLG0.386-0.065
predicted_SO1.0000.229
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 105
Reference playing time: 3.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.0005.0001.0000.0002.0003.0004.0001.0003.0000.26320.30000.63160.26320.10530.15790.05260.1579
last_100.2010-37.00011.0004.0000.0002.0006.0005.0003.00011.0000.29730.35000.56760.29730.05410.16220.08110.2973
season0.60105-353.00094.00025.0000.00011.00050.00044.00017.00079.0000.26630.30000.43060.26630.03120.14160.04820.2238
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2570
predicted_3B0.0010
predicted_AB3.5380
predicted_AVG0.2701
predicted_BB0.2010
predicted_H0.9560
predicted_HBP0.0020
predicted_HR0.1750
predicted_OBP0.3097
predicted_R0.5060
predicted_RBI0.5210
predicted_SLG0.4914
predicted_SO0.7970
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.23800.25700.2461model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.36203.53803.4373model_form_blend
predicted_AVG0.26600.27010.2678model_form_blend
predicted_BB0.16200.20100.1787model_form_blend
predicted_H0.89500.95600.9211model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.10500.17500.1350model_form_blend
predicted_OBP0.30000.30970.3042model_form_blend
predicted_R0.41900.50600.4562model_form_blend
predicted_RBI0.47600.52100.4953model_form_blend
predicted_SLG0.43100.49140.4569model_form_blend
predicted_SO0.75200.79700.7713model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB1
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R1
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB2
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20261005_NYY@TB
game_typefull
mlbID676356
playerID676356
playerNameJonny DeLuca
posRF
startedTrue
startingPositionCF
teamTB
teamID27
game_date2026-10-05
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 20261008: 386
All-history rows before 20261008: 386
System season_avg: 0.2360
Data season_avg (2026 season-to-date): 0.2451
Diff (system - data): -0.0091
System opponent_avg: 0.3100

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1250.0000.000Hitting_2B0.1300.000-0.1300.000
predicted_3B0.0170.0000.000Hitting_3B0.0230.000-0.0230.000
predicted_AB2.9334.0004.000Hitting_AB3.1614.0000.8390.000
predicted_AVG0.2640.0000.000Hitting_AVG0.2450.250-0.245-0.250
predicted_BB0.3830.0000.000Hitting_BB0.4640.000-0.4640.000
predicted_CS-0.0000.000BaseRunning_CS0.0520.000-0.0520.000
predicted_H0.7300.0000.000Hitting_H0.7751.000-0.775-1.000
predicted_HR0.0700.0000.000Hitting_HR0.1010.000-0.1010.000
predicted_OBP0.3390.0000.000Hitting_OBP0.3460.250-0.346-0.250
predicted_R0.4000.0000.000Hitting_R0.4950.000-0.4950.000
predicted_RBI0.6100.0000.000Hitting_RBI0.5212.000-0.521-2.000
predicted_SB-0.0000.000BaseRunning_SB0.1420.000-0.1420.000
predicted_SLG0.3850.0000.000Hitting_SLG0.3970.250-0.397-0.250
predicted_SO0.5750.0000.000Hitting_SO0.6271.000-0.627-1.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics1
Deboosted Metrics10
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 2.9330 -> 4.0000 (boost 1.0670, better)
Biggest Deboostpredicted_H: 0.7300 -> 0.0000 (deboost -0.7300, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend21111predicted_AB: 2.9330 -> 2.9854 (boost 0.0524, better)predicted_R: 0.4000 -> 0.3480 (deboost -0.0520, worse)Final model input calibrated 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.2609 -> 0.2484 (deboost -0.0125, 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_SO: 0.5634 -> 1.0000 (boost 0.4366, worse)predicted_BB: 0.3839 -> 0.0000 (deboost -0.3839, worse)AB rounded to 3 (raw=2.99), rates preserved: AVG=0.216 HR/AB=0.021
6consistency_constraints10101-predicted_R: 0.3398 -> 0.0000 (deboost -0.3398, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine63342predicted_BB: 0.0000 -> 0.4119 (boost 0.4119, better)predicted_RBI: 1.0000 -> 0.5110 (deboost -0.4890, 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_allocation91809predicted_SO: 0.7703 -> 1.0000 (boost 0.2297, worse)predicted_H: 0.6658 -> 0.0000 (deboost -0.6658, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization21120predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "680700",
  "player_name": "Richie Palacios",
  "position": "2B",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.125,
        "predicted_3B": 0.017,
        "predicted_AB": 2.933,
        "predicted_AVG": 0.264,
        "predicted_BB": 0.383,
        "predicted_H": 0.73,
        "predicted_HR": 0.07,
        "predicted_OBP": 0.339,
        "predicted_R": 0.4,
        "predicted_RBI": 0.61,
        "predicted_SLG": 0.385,
        "predicted_SO": 0.575
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.162,
        "predicted_3B": 0.0144,
        "predicted_AB": 2.9854,
        "predicted_AVG": 0.2609,
        "predicted_BB": 0.3839,
        "predicted_H": 0.7532,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.064,
        "predicted_OBP": 0.3408,
        "predicted_R": 0.348,
        "predicted_RBI": 0.6474,
        "predicted_SLG": 0.386,
        "predicted_SO": 0.5634
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 2.933,
          "after": 2.9854,
          "delta": 0.0524,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.4,
          "after": 0.348,
          "delta": -0.052,
          "percent_delta": -0.13,
          "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_AB",
          "before": 2.933,
          "after": 2.9854,
          "delta": 0.0524,
          "percent_delta": 0.0179,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_R",
          "before": 0.4,
          "after": 0.348,
          "delta": -0.052,
          "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": 120
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.162,
        "predicted_3B": 0.0144,
        "predicted_AB": 2.9854,
        "predicted_AVG": 0.2484,
        "predicted_BB": 0.3839,
        "predicted_H": 0.7415,
        "predicted_HBP": 0.021,
        "predicted_HR": 0.0628,
        "predicted_OBP": 0.334,
        "predicted_R": 0.3398,
        "predicted_RBI": 0.6322,
        "predicted_SLG": 0.3754,
        "predicted_SO": 0.5634
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2609,
          "after": 0.2484,
          "delta": -0.0125,
          "percent_delta": -0.0479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.3408,
          "after": 0.334,
          "delta": -0.0068,
          "percent_delta": -0.02,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.386,
          "after": 0.3754,
          "delta": -0.0106,
          "percent_delta": -0.0275,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "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.2609,
          "after": 0.2484,
          "delta": -0.0125,
          "percent_delta": -0.0479,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.99), rates preserved: AVG=0.216 HR/AB=0.021",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "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_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.7415,
          "after": 1.0,
          "delta": 0.2585,
          "percent_delta": 0.3486,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0628,
          "after": 0.0,
          "delta": -0.0628,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6322,
          "after": 1.0,
          "delta": 0.3678,
          "percent_delta": 0.5818,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.5634,
          "after": 1.0,
          "delta": 0.4366,
          "percent_delta": 0.7749,
          "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.5634,
          "after": 1.0,
          "delta": 0.4366,
          "percent_delta": 0.7749,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3839,
          "after": 0.0,
          "delta": -0.3839,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_R",
          "before": 0.3398,
          "after": 0.0,
          "delta": -0.3398,
          "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_R",
          "before": 0.3398,
          "after": 0.0,
          "delta": -0.3398,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1336,
        "predicted_3B": 0.0171,
        "predicted_BB": 0.4119,
        "predicted_H": 0.6658,
        "predicted_HR": 0.1064,
        "predicted_RBI": 0.511,
        "predicted_SO": 0.7703
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1336,
          "delta": 0.1336,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4119,
          "delta": 0.4119,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6658,
          "delta": -0.3342,
          "percent_delta": -0.3342,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1064,
          "delta": 0.1064,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.511,
          "delta": -0.489,
          "percent_delta": -0.489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7703,
          "delta": -0.2297,
          "percent_delta": -0.2297,
          "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.4119,
          "delta": 0.4119,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.511,
          "delta": -0.489,
          "percent_delta": -0.489,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.209,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.363,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1336,
          "after": 0.0,
          "delta": -0.1336,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2484,
          "after": 0.209,
          "delta": -0.0394,
          "percent_delta": -0.1586,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4119,
          "after": 0.0,
          "delta": -0.4119,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6658,
          "after": 0.0,
          "delta": -0.6658,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1064,
          "after": 0.0,
          "delta": -0.1064,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.334,
          "after": 0.305,
          "delta": -0.029,
          "percent_delta": -0.0868,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.511,
          "after": 0.0,
          "delta": -0.511,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3754,
          "after": 0.363,
          "delta": -0.0124,
          "percent_delta": -0.033,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7703,
          "after": 1.0,
          "delta": 0.2297,
          "percent_delta": 0.2982,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 1,
        "deboosted_metrics": 8,
        "better_metrics": 0,
        "worse_metrics": 9,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.7703,
          "after": 1.0,
          "delta": 0.2297,
          "percent_delta": 0.2982,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6658,
          "after": 0.0,
          "delta": -0.6658,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.209,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.363,
        "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
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 1,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.209,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.305,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.363,
        "predicted_SO": 0.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.125,
        "after": 0.0,
        "delta": -0.125,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.933,
        "after": 4.0,
        "delta": 1.067,
        "percent_delta": 0.3638,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.264,
        "after": 0.209,
        "delta": -0.055,
        "percent_delta": -0.2083,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.383,
        "after": 0.0,
        "delta": -0.383,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 0.0,
        "delta": -0.73,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.07,
        "after": 0.0,
        "delta": -0.07,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.339,
        "after": 0.305,
        "delta": -0.034,
        "percent_delta": -0.1003,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.4,
        "after": 0.0,
        "delta": -0.4,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.61,
        "after": 0.0,
        "delta": -0.61,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.385,
        "after": 0.363,
        "delta": -0.022,
        "percent_delta": -0.0571,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.575,
        "after": 0.0,
        "delta": -0.575,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 1,
      "deboosted_metrics": 10,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.933,
        "after": 4.0,
        "delta": 1.067,
        "percent_delta": 0.3638,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.73,
        "after": 0.0,
        "delta": -0.73,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.125-
predicted_3B0.017-
predicted_AB2.933-
predicted_AVG0.264-
predicted_BB0.383-
predicted_H0.730-
predicted_HR0.070-
predicted_OBP0.339-
predicted_R0.400-
predicted_RBI0.610-
predicted_SLG0.385-
predicted_SO0.575-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1620.037
predicted_3B0.014-0.003
predicted_AB2.9850.052
predicted_AVG0.261-0.003
predicted_BB0.3840.001
predicted_H0.7530.023
predicted_HBP0.021-
predicted_HR0.064-0.006
predicted_OBP0.3410.002
predicted_R0.348-0.052
predicted_RBI0.6470.037
predicted_SLG0.3860.001
predicted_SO0.563-0.012
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1620.000
predicted_3B0.0140.000
predicted_AB2.9850.000
predicted_AVG0.248-0.013
predicted_BB0.3840.000
predicted_H0.742-0.012
predicted_HBP0.0210.000
predicted_HR0.063-0.001
predicted_OBP0.334-0.007
predicted_R0.340-0.008
predicted_RBI0.632-0.015
predicted_SLG0.375-0.011
predicted_SO0.5630.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.99), rates preserved: AVG=0.216 HR/AB=0.021

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.1340.134
3B0.0170.017
BB0.4120.412
H0.666-0.334
HR0.1060.106
RBI0.511-0.489
SO0.770-0.230
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.134
3B0.000-0.017
AB3.0000.000
AVG0.209-
BB0.000-0.412
H0.000-0.666
HR0.000-0.106
OBP0.305-
R0.0000.000
RBI0.000-0.511
SLG0.363-
SO1.0000.230
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.162
predicted_3B0.000-0.014
predicted_AB3.0000.015
predicted_AVG0.209-0.039
predicted_BB0.000-0.384
predicted_H0.000-0.742
predicted_HR0.000-0.063
predicted_OBP0.305-0.029
predicted_R0.000-0.340
predicted_RBI0.000-0.632
predicted_SLG0.363-0.012
predicted_SO1.0000.437
10. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO0.000-1.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.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: 120
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.0006.0000.0002.0002.0000.31250.38890.43750.31250.00000.37500.12500.1250
last_100.2010-30.0008.0003.0000.0000.0009.0001.0004.0005.0000.26670.35290.36670.26670.00000.30000.13330.1667
season0.60120-352.00083.00015.0002.00010.00059.00048.00046.00069.0000.23580.32920.37500.23580.02840.16760.13070.1960
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2110
predicted_3B0.0110
predicted_AB3.0550
predicted_AVG0.2567
predicted_BB0.3850
predicted_H0.7840
predicted_HBP0.0210
predicted_HR0.0560
predicted_OBP0.3431
predicted_R0.2790
predicted_RBI0.6970
predicted_SLG0.3873
predicted_SO0.5480
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.12500.21100.1620model_form_blend
predicted_3B0.01700.01100.0144model_form_blend
predicted_AB2.93303.05502.9854model_form_blend
predicted_AVG0.26400.25670.2609model_form_blend
predicted_BB0.38300.38500.3839model_form_blend
predicted_H0.73000.78400.7532model_form_blend
predicted_HBP-0.02100.0210form_only
predicted_HR0.07000.05600.0640model_form_blend
predicted_OBP0.33900.34310.3408model_form_blend
predicted_R0.40000.27900.3480model_form_blend
predicted_RBI0.61000.69700.6474model_form_blend
predicted_SLG0.38500.38730.3860model_form_blend
predicted_SO0.57500.54800.5634model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB1
Hitting_battingOrder8
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20261005_NYY@TB
game_typefull
mlbID680700
playerID680700
playerNameRichie Palacios
pos2B
startedTrue
startingPosition2B
teamTB
teamID27
game_date2026-10-05
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 20261008: 427
All-history rows before 20261008: 427
System season_avg: 0.2170
Data season_avg (2026 season-to-date): 0.2202
Diff (system - data): -0.0032
System opponent_avg: 0.1300

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1430.0000.000Hitting_2B0.1410.000-0.1410.000
predicted_3B0.0170.0000.000Hitting_3B0.0190.000-0.0190.000
predicted_AB3.1344.0004.000Hitting_AB3.2224.0000.7780.000
predicted_AVG0.1940.0000.000Hitting_AVG0.2200.000-0.2200.000
predicted_BB0.3780.0000.000Hitting_BB0.4050.000-0.4050.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.5600.0000.000Hitting_H0.7100.000-0.7100.000
predicted_HR0.0300.0000.000Hitting_HR0.0190.000-0.0190.000
predicted_OBP0.2910.0000.000Hitting_OBP0.3090.000-0.3090.000
predicted_R0.4961.0001.000Hitting_R0.5270.0000.4731.000
predicted_RBI0.2600.0000.000Hitting_RBI0.3280.000-0.3280.000
predicted_SLG0.2660.0000.000Hitting_SLG0.2930.000-0.2930.000
predicted_SO0.8991.0001.000Hitting_SO0.9321.0000.0680.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectboosted
Changed Metrics10
Boosted Metrics6
Deboosted Metrics4
Better Metrics5
Worse Metrics5
Biggest Boostpredicted_AB: 3.1340 -> 4.0000 (boost 0.8660, better)
Biggest Deboostpredicted_H: 0.5600 -> 0.0000 (deboost -0.5600, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend55050predicted_H: 0.5600 -> 0.6358 (boost 0.0758, 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.2961 -> 0.2792 (deboost -0.0169, 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.6259 -> 1.0000 (boost 0.3741, better)predicted_BB: 0.3664 -> 0.0000 (deboost -0.3664, worse)AB rounded to 3 (raw=3.19), rates preserved: AVG=0.171 HR/AB=0.008
6consistency_constraints11010predicted_R: 0.5294 -> 1.0000 (boost 0.4706, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine54141predicted_BB: 0.0000 -> 0.4477 (boost 0.4477, better)predicted_H: 1.0000 -> 0.6243 (deboost -0.3757, 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_allocation73434predicted_BB: 0.4477 -> 1.0000 (boost 0.5523, better)predicted_H: 0.6243 -> 0.0000 (deboost -0.6243, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization21111predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "670764",
  "player_name": "Taylor Walls",
  "position": "SS",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.143,
        "predicted_3B": 0.017,
        "predicted_AB": 3.134,
        "predicted_AVG": 0.194,
        "predicted_BB": 0.378,
        "predicted_H": 0.56,
        "predicted_HR": 0.03,
        "predicted_OBP": 0.291,
        "predicted_R": 0.496,
        "predicted_RBI": 0.26,
        "predicted_SLG": 0.266,
        "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
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1671,
        "predicted_3B": 0.0144,
        "predicted_AB": 3.1878,
        "predicted_AVG": 0.2077,
        "predicted_BB": 0.3664,
        "predicted_H": 0.6358,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0244,
        "predicted_OBP": 0.2961,
        "predicted_R": 0.5421,
        "predicted_RBI": 0.2764,
        "predicted_SLG": 0.2847,
        "predicted_SO": 0.9223
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.134,
          "after": 3.1878,
          "delta": 0.0538,
          "percent_delta": 0.0172,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.194,
          "after": 0.2077,
          "delta": 0.0137,
          "percent_delta": 0.0706,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.56,
          "after": 0.6358,
          "delta": 0.0758,
          "percent_delta": 0.1354,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.291,
          "after": 0.2961,
          "delta": 0.0051,
          "percent_delta": 0.0175,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.266,
          "after": 0.2847,
          "delta": 0.0187,
          "percent_delta": 0.0703,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.56,
          "after": 0.6358,
          "delta": 0.0758,
          "percent_delta": 0.1354,
          "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": 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.1671,
        "predicted_3B": 0.0144,
        "predicted_AB": 3.1878,
        "predicted_AVG": 0.1964,
        "predicted_BB": 0.3664,
        "predicted_H": 0.6259,
        "predicted_HBP": 0.017,
        "predicted_HR": 0.0239,
        "predicted_OBP": 0.2792,
        "predicted_R": 0.5294,
        "predicted_RBI": 0.2699,
        "predicted_SLG": 0.2803,
        "predicted_SO": 0.9223
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2077,
          "after": 0.1964,
          "delta": -0.0113,
          "percent_delta": -0.0544,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2961,
          "after": 0.2792,
          "delta": -0.0169,
          "percent_delta": -0.0571,
          "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_OBP",
          "before": 0.2961,
          "after": 0.2792,
          "delta": -0.0169,
          "percent_delta": -0.0571,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.19), rates preserved: AVG=0.171 HR/AB=0.008",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1671,
          "after": 0.0,
          "delta": -0.1671,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.1878,
          "after": 3.0,
          "delta": -0.1878,
          "percent_delta": -0.0589,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3664,
          "after": 0.0,
          "delta": -0.3664,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6259,
          "after": 1.0,
          "delta": 0.3741,
          "percent_delta": 0.5977,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.2699,
          "after": 0.0,
          "delta": -0.2699,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9223,
          "after": 1.0,
          "delta": 0.0777,
          "percent_delta": 0.0842,
          "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.6259,
          "after": 1.0,
          "delta": 0.3741,
          "percent_delta": 0.5977,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3664,
          "after": 0.0,
          "delta": -0.3664,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "consistency_constraints",
      "description": "Enforced H<=AB, HR<=H, safety nets, derived R",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.5294,
          "after": 1.0,
          "delta": 0.4706,
          "percent_delta": 0.8889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.5294,
          "after": 1.0,
          "delta": 0.4706,
          "percent_delta": 0.8889,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1489,
        "predicted_3B": 0.0151,
        "predicted_BB": 0.4477,
        "predicted_H": 0.6243,
        "predicted_HR": 0.0592,
        "predicted_RBI": 0.3338,
        "predicted_SO": 1.0023
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1489,
          "delta": 0.1489,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4477,
          "delta": 0.4477,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6243,
          "delta": -0.3757,
          "percent_delta": -0.3757,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0592,
          "delta": 0.0592,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.3338,
          "delta": 0.3338,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "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.4477,
          "delta": 0.4477,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6243,
          "delta": -0.3757,
          "percent_delta": -0.3757,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.199,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.312,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1489,
          "after": 0.0,
          "delta": -0.1489,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4477,
          "after": 1.0,
          "delta": 0.5523,
          "percent_delta": 1.2336,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6243,
          "after": 0.0,
          "delta": -0.6243,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0592,
          "after": 0.0,
          "delta": -0.0592,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2792,
          "after": 0.304,
          "delta": 0.0248,
          "percent_delta": 0.0888,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3338,
          "after": 0.0,
          "delta": -0.3338,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.2803,
          "after": 0.312,
          "delta": 0.0317,
          "percent_delta": 0.1131,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4477,
          "after": 1.0,
          "delta": 0.5523,
          "percent_delta": 1.2336,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6243,
          "after": 0.0,
          "delta": -0.6243,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.199,
        "predicted_BB": 1.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.312,
        "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
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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
        }
      ],
      "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_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.199,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.304,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.312,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.143,
        "after": 0.0,
        "delta": -0.143,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.134,
        "after": 4.0,
        "delta": 0.866,
        "percent_delta": 0.2763,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.194,
        "after": 0.199,
        "delta": 0.005,
        "percent_delta": 0.0258,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.378,
        "after": 0.0,
        "delta": -0.378,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.291,
        "after": 0.304,
        "delta": 0.013,
        "percent_delta": 0.0447,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.496,
        "after": 1.0,
        "delta": 0.504,
        "percent_delta": 1.0161,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.26,
        "after": 0.0,
        "delta": -0.26,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.266,
        "after": 0.312,
        "delta": 0.046,
        "percent_delta": 0.1729,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.899,
        "after": 1.0,
        "delta": 0.101,
        "percent_delta": 0.1123,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 6,
      "deboosted_metrics": 4,
      "better_metrics": 5,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.134,
        "after": 4.0,
        "delta": 0.866,
        "percent_delta": 0.2763,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.56,
        "after": 0.0,
        "delta": -0.56,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "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.143-
predicted_3B0.017-
predicted_AB3.134-
predicted_AVG0.194-
predicted_BB0.378-
predicted_H0.560-
predicted_HR0.030-
predicted_OBP0.291-
predicted_R0.496-
predicted_RBI0.260-
predicted_SLG0.266-
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.1670.024
predicted_3B0.014-0.003
predicted_AB3.1880.054
predicted_AVG0.2080.014
predicted_BB0.366-0.012
predicted_H0.6360.076
predicted_HBP0.017-
predicted_HR0.024-0.006
predicted_OBP0.2960.005
predicted_R0.5420.046
predicted_RBI0.2760.016
predicted_SLG0.2850.019
predicted_SO0.9220.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.1670.000
predicted_3B0.0140.000
predicted_AB3.1880.000
predicted_AVG0.196-0.011
predicted_BB0.3660.000
predicted_H0.626-0.010
predicted_HBP0.0170.000
predicted_HR0.024-0.001
predicted_OBP0.279-0.017
predicted_R0.529-0.013
predicted_RBI0.270-0.007
predicted_SLG0.280-0.004
predicted_SO0.9220.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.19), rates preserved: AVG=0.171 HR/AB=0.008

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1490.149
3B0.0150.015
BB0.4480.448
H0.624-0.376
HR0.0590.059
RBI0.3340.334
SO1.0020.002
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.149
3B0.000-0.015
AB3.0000.000
AVG0.199-
BB1.0000.552
H0.000-0.624
HR0.000-0.059
OBP0.304-
R1.0000.000
RBI0.000-0.334
SLG0.312-
SO1.000-0.002
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.167
predicted_3B0.000-0.014
predicted_AB3.000-0.188
predicted_AVG0.1990.003
predicted_BB1.0000.634
predicted_H0.000-0.626
predicted_HR0.000-0.024
predicted_OBP0.3040.025
predicted_R1.0000.471
predicted_RBI0.000-0.270
predicted_SLG0.3120.032
predicted_SO1.0000.078
10. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0001.000
BB0.000-1.000
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.0000.000
RBI0.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-19.0005.0002.0000.0000.0001.0005.0001.0006.0000.26320.30000.36840.26320.00000.05260.05260.3158
last_100.2010-29.0006.0002.0000.0000.0003.0006.0004.0009.0000.20690.30300.27590.20690.00000.10350.13790.3103
season0.60119-373.00081.00017.0002.0002.00036.00059.00045.000107.0000.21720.30350.28950.21720.00540.09650.12060.2869
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1990
predicted_3B0.0110
predicted_AB3.2590
predicted_AVG0.2259
predicted_BB0.3510
predicted_H0.7360
predicted_HBP0.0170
predicted_HR0.0170
predicted_OBP0.3029
predicted_R0.6030
predicted_RBI0.2980
predicted_SLG0.3095
predicted_SO0.9530
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.14300.19900.1671model_form_blend
predicted_3B0.01700.01100.0144model_form_blend
predicted_AB3.13403.25903.1878model_form_blend
predicted_AVG0.19400.22590.2077model_form_blend
predicted_BB0.37800.35100.3664model_form_blend
predicted_H0.56000.73600.6358model_form_blend
predicted_HBP-0.01700.0170form_only
predicted_HR0.03000.01700.0244model_form_blend
predicted_OBP0.29100.30290.2961model_form_blend
predicted_R0.49600.60300.5421model_form_blend
predicted_RBI0.26000.29800.2764model_form_blend
predicted_SLG0.26600.30950.2847model_form_blend
predicted_SO0.89900.95300.9223model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest 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_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
gameID20261005_NYY@TB
game_typefull
mlbID670764
playerID670764
playerNameTaylor Walls
posSS
startedTrue
startingPositionSS
teamTB
teamID27
game_date2026-10-05
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
Drew Rasmussen (656876) · PITCHER · Starter · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 31
All-history rows before 20261008: 31

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB3.0003.0003.000Pitching_BB1.0972.0001.9031.000
predicted_ER2.0002.0002.000Pitching_ER1.6450.0000.3552.000
predicted_H5.0005.0005.000Pitching_H4.0651.0000.9354.000
predicted_IP5.2005.2005.200Pitching_InningsPitched5.7618.000-0.561-2.800
predicted_SO8.0008.0008.000Pitching_SO5.93510.0002.065-2.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics3
Deboosted Metrics2
Better Metrics2
Worse Metrics3
Biggest Boostpredicted_BB: 1.0000 -> 3.0000 (boost 2.0000, worse)
Biggest Deboostpredicted_IP: 6.3333 -> 5.2000 (deboost -1.1333, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7pitcher_quality_guardrail10101-predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse)Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
8play_by_play_realization53223predicted_BB: 1.0000 -> 3.0000 (boost 2.0000, worse)predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
9current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "656876",
  "player_name": "Drew Rasmussen",
  "position": "Starter",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.3333,
        "predicted_SO": 6.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_IP": 6.1,
        "predicted_SO": 6.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_IP",
          "before": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "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_IP",
          "before": 6.3333,
          "after": 6.1,
          "delta": -0.2333,
          "percent_delta": -0.0368,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_R": 2.0,
        "predicted_SO": 8.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 5.0,
          "delta": 2.0,
          "percent_delta": 0.6667,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 6.1,
          "after": 5.2,
          "delta": -0.9,
          "percent_delta": -0.1475,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 6.0,
          "after": 8.0,
          "delta": 2.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 3,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 3.0,
          "delta": 2.0,
          "percent_delta": 2.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 3.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 0.0,
        "predicted_IP": 5.2,
        "predicted_SO": 8.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 5.0,
        "delta": 2.0,
        "percent_delta": 0.6667,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 6.3333,
        "after": 5.2,
        "delta": -1.1333,
        "percent_delta": -0.1789,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 6.0,
        "after": 8.0,
        "delta": 2.0,
        "percent_delta": 0.3333,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 3,
      "deboosted_metrics": 2,
      "better_metrics": 2,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 3.0,
        "delta": 2.0,
        "percent_delta": 2.0,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_IP",
        "before": 6.3333,
        "after": 5.2,
        "delta": -1.1333,
        "percent_delta": -0.1789,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB1.000-
predicted_ER2.000-
predicted_H3.000-
predicted_HR1.000-
predicted_IP6.333-
predicted_SO6.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB1.0000.000
predicted_ER2.0000.000
predicted_H3.0000.000
predicted_HR1.0000.000
predicted_IP6.100-0.233
predicted_SO6.0000.000
8. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB3.000-
BF26.000-
ER2.000-
H5.000-
HR0.000-
IP5.200-
Pitches101.000-
R2.000-
SO8.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 31
Reference playing time: 6.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45533.2003.00017.0007.00035.0001.0000.80200.71290.08910.50500.20791.03960.0297
last_100.351062.20013.00037.00014.00062.0002.0001.86700.81380.20740.59040.22340.98940.0319
season0.2031180.00051.000126.00034.000184.00014.0002.55000.88890.28330.70000.18891.02220.0778
Weighted Prediction From Real Data
MetricValue
predicted_BB1.4810
predicted_ER1.3790
predicted_ERA1.9550
predicted_H4.0060
predicted_HR0.3500
predicted_IP6.1000
predicted_SO6.3910
predicted_WHIP0.8643
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00001.48101.2844model_form_blend
predicted_ER2.00001.37901.6328model_form_blend
predicted_ERA-1.95501.9550form_only
predicted_H3.00004.00603.5949model_form_blend
predicted_HR1.00000.35000.6156model_form_blend
predicted_IP6.10006.10006.1000model_form_blend
predicted_SO6.00006.39106.2312model_form_blend
predicted_WHIP-0.86430.8643form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.2
H5
R2
ER2
BB3
SO8
HR0
BF26
Pitches101

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB2
Pitching_Balk0
Pitching_Batters Faced26
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts4
Pitching_Groundouts6
Pitching_H1
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched8.0
Pitching_Pitches101
Pitching_R0
Pitching_SO10
Pitching_Strikes69
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20261003_NYY@TB
game_typefull
mlbID656876
playerID656876
playerNameDrew Rasmussen
posP
startedTrue
startingPositionP
teamTB
teamID27
game_date2026-10-03
sl_k_percent26.0
sl_bb_percent4.8
sl_woba0.243
sl_xwoba0.271
sl_sweet_spot_percent32.5
sl_barrel_batted_rate5.9
sl_hard_hit_percent33.8
sl_whiff_percent25.1
sl_swing_percent50.1
sl_avg_best_speed77.428542965
sl_avg_hyper_speed93.596998204
Ian Seymour (693855) · PITCHER · Long Reliever · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 48
All-history rows before 20261008: 48

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.7500.000-0.7500.000
predicted_ER1.0001.0001.000Pitching_ER1.3121.000-0.3120.000
predicted_H2.0002.0002.000Pitching_H2.3961.000-0.3961.000
predicted_IP2.0002.0002.000Pitching_InningsPitched2.6853.000-0.685-1.000
predicted_SO1.0001.0001.000Pitching_SO3.3754.000-2.375-3.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics4
Deboosted Metrics1
Better Metrics1
Worse Metrics4
Biggest Boostpredicted_H: 0.0000 -> 2.0000 (boost 2.0000, worse)
Biggest Deboostpredicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization54114predicted_H: 0.0000 -> 2.0000 (boost 2.0000, worse)predicted_SO: 2.0000 -> 1.0000 (deboost -1.0000, worse)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "693855",
  "player_name": "Ian Seymour",
  "position": "Long Reliever",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 4,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 2.0,
          "delta": 2.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 2.0,
        "predicted_HR": 1.0,
        "predicted_IP": 2.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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_ER",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 2.0,
        "delta": 1.0,
        "percent_delta": 1.0,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 4,
      "deboosted_metrics": 1,
      "better_metrics": 1,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 2.0,
        "delta": 2.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H0.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO2.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF8.000-
ER1.000-
H2.000-
HR1.000-
IP2.000-
Pitches32.000-
R1.000-
SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 47
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45519.1007.00013.0003.00022.0004.0003.25860.82760.36210.67240.15521.13790.2069
last_100.351045.10022.00043.0006.00056.00013.0004.36761.08090.48530.94850.13231.23530.2868
season0.2047135.20058.000110.00036.000162.00026.0003.84771.07620.42750.81080.26541.19410.1916
Weighted Prediction From Real Data
MetricValue
predicted_BB0.7190
predicted_ER1.5470
predicted_ERA3.8949
predicted_H2.9500
predicted_HR0.7830
predicted_IP3.2000
predicted_SO4.0940
predicted_WHIP1.0265
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.71900.4213model_form_blend
predicted_ER0.00001.54700.9065model_form_blend
predicted_ERA-3.89493.8949form_only
predicted_H0.00002.95001.7287model_form_blend
predicted_HR0.00000.78300.4588model_form_blend
predicted_IP1.00003.20002.2000model_form_blend
predicted_SO2.00004.09403.2271model_form_blend
predicted_WHIP-1.02651.0265form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP2.0
H2
R1
ER1
BB0
SO1
HR1
BF8
Pitches32

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced10
Pitching_ER1
Pitching_ERA3.00
Pitching_Flyouts1
Pitching_Groundouts2
Pitching_H1
Pitching_HBP0
Pitching_HR1
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched3.0
Pitching_Pitches41
Pitching_R1
Pitching_SO4
Pitching_Strikes27
Pitching_Wild Pitch0
Pitching_decisionH
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261005_NYY@TB
game_typefull
mlbID693855
playerID693855
playerNameIan Seymour
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-10-05
sl_k_percent28.7
sl_bb_percent6.5
sl_woba0.308
sl_xwoba0.291
sl_sweet_spot_percent34.4
sl_barrel_batted_rate9.9
sl_hard_hit_percent36.9
sl_whiff_percent29.4
sl_swing_percent51.7
sl_avg_best_speed77.189549826
sl_avg_hyper_speed93.81275102
Cam Booser (592155) · PITCHER · Setup Man · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 43
All-history rows before 20261008: 43

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.1631.000-0.163-1.000
predicted_ER0.0000.0000.000Pitching_ER0.2090.000-0.2090.000
predicted_H0.0000.0000.000Pitching_H0.5810.000-0.5810.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.7770.100-0.5770.100
predicted_SO1.0001.0001.000Pitching_SO1.0470.000-0.0471.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics4
Boosted Metrics0
Deboosted Metrics4
Better Metrics3
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization40431-predicted_ER: 1.0000 -> 0.0000 (deboost -1.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "592155",
  "player_name": "Cam Booser",
  "position": "Setup Man",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 0.2,
          "delta": -0.4667,
          "percent_delta": -0.7,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 3,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_ER",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 0.2,
        "delta": -0.4667,
        "percent_delta": -0.7,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 4,
      "boosted_metrics": 0,
      "deboosted_metrics": 4,
      "better_metrics": 3,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_ER",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER1.000-
predicted_H1.000-
predicted_HR1.000-
predicted_IP0.667-
predicted_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF2.000-
ER0.000-
H0.000-
HR0.000-
IP0.200-
Pitches8.000-
R0.000-
SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 43
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4553.1000.0001.0001.0003.0000.0000.00000.60000.00000.30000.30000.90000.0000
last_100.35107.1000.0002.0001.0006.0000.0000.00000.40910.00000.27270.13640.81820.0000
season0.204341.1009.00025.0007.00045.0005.0001.95970.77420.21770.60480.16941.08870.1210
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1960
predicted_ER0.1540
predicted_ERA1.9555
predicted_H0.4150
predicted_HR0.0500
predicted_IP0.2000
predicted_SO0.6510
predicted_WHIP0.8627
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.19600.0968model_form_blend
predicted_ER1.00000.15400.5821model_form_blend
predicted_ERA-1.95551.9555form_only
predicted_H1.00000.41500.7111model_form_blend
predicted_HR1.00000.05000.5308model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO1.00000.65100.8276model_form_blend
predicted_WHIP-0.86270.8627form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
Pitching_Balk0
Pitching_Batters Faced2
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts1
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners2
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.1
Pitching_Pitches8
Pitching_R0
Pitching_SO0
Pitching_Strikes4
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder2
allPositionsPlayedP
gameID20261005_NYY@TB
game_typefull
mlbID592155
playerID592155
playerNameCam Booser
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-10-05
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
Bryan Baker (641329) · PITCHER · Closer · Team TB
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 67
All-history rows before 20261008: 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.3280.000-0.3280.000
predicted_ER0.0000.0000.000Pitching_ER0.1490.000-0.1490.000
predicted_H0.0000.0000.000Pitching_H0.5220.000-0.5220.000
predicted_IP0.2000.2000.200Pitching_InningsPitched0.9361.000-0.736-0.800
predicted_SO1.0001.0001.000Pitching_SO0.9700.0000.0301.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectdeboosted
Changed Metrics2
Boosted Metrics0
Deboosted Metrics2
Better Metrics1
Worse Metrics1
Biggest Boost-
Biggest Deboostpredicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization20211-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "641329",
  "player_name": "Bryan Baker",
  "position": "Closer",
  "team": "TB",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.0,
          "after": 0.2,
          "delta": -0.8,
          "percent_delta": -0.8,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 1,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.2,
        "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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.0,
        "after": 0.2,
        "delta": -0.8,
        "percent_delta": -0.8,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 0,
      "deboosted_metrics": 2,
      "better_metrics": 1,
      "worse_metrics": 1,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "deboosted"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP1.000-
predicted_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF2.000-
ER0.000-
H0.000-
HR0.000-
IP0.200-
Pitches10.000-
R0.000-
SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 65
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4555.0000.0003.0001.0003.0000.0000.00000.80000.00000.60000.20000.60000.0000
last_100.351010.1000.0005.0003.0005.0000.0000.00000.77420.00000.48390.29030.48390.0000
season0.206564.1009.00034.00020.00065.0004.0001.25910.83940.13990.52850.31091.01040.0622
Weighted Prediction From Real Data
MetricValue
predicted_BB0.2880
predicted_ER0.1610
predicted_ERA1.4478
predicted_H0.6650
predicted_HR0.0500
predicted_IP1.0000
predicted_SO0.7210
predicted_WHIP0.9539
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.28800.1539model_form_blend
predicted_ER0.00000.16100.0860model_form_blend
predicted_ERA-1.44781.4478form_only
predicted_H1.00000.66500.8210model_form_blend
predicted_HR0.00000.05000.0267model_form_blend
predicted_IP1.00001.00001.0000model_form_blend
predicted_SO1.00000.72100.8509model_form_blend
predicted_WHIP-0.95390.9539form_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 used65
Pitcher metricsPitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP0.2
H0
R0
ER0
BB0
SO1
HR0
BF2
Pitches10

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches9
Pitching_R0
Pitching_SO0
Pitching_Strikes6
Pitching_Wild Pitch0
Pitching_decisionS
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261005_NYY@TB
game_typefull
mlbID641329
playerID641329
playerNameBryan Baker
posP
startedFalse
startingPositionP
teamTB
teamID27
game_date2026-10-05
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

Home Team: NYY

Home Pitcher Deep Analysis

FieldValue
PitcherCarlos Rodón
RoleStarter
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.1185
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score0.0391
Avg Velo90.5627
Avg Spin2330.5827
HB Inches0
IVB Inches0
Release Extension0
Pre IP5.1000
Pre ER2
Pre H5
Pre BB1
Pre SO4
Season ERA2.6680
Season WHIP1.0553
Role Avg IP5.2710
Recent Avg IP6
Last Start IP8
Team Form Snapshot
{
  "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.0233,
    "defense_index": 1.2017,
    "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.1711
  },
  "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.0128,
    "defense_index": 1.118,
    "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.1543
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.0168,
    "offense_edge": 0.0233,
    "opponent_offense_edge": 0.0128,
    "defense_strength": 0.2017,
    "opponent_defense_weakness": -0.118,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0062,
    "run_prevention": 0.981,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "607074",
    "profile": {
      "available": true,
      "pitcher_id": "607074",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 311.0,
        "k_percent": 26.8,
        "bb_percent": 11.2,
        "woba": 0.254,
        "xwoba": 0.304,
        "sweet_spot_percent": 38.3,
        "barrel_batted_rate": 6.8,
        "hard_hit_percent": 38.3,
        "avg_best_speed": 80.2099,
        "avg_hyper_speed": 94.0959,
        "whiff_percent": 30.0,
        "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.2558,
        "command_and_miss": 0.4421,
        "regression_edge": -1.4286,
        "xwoba_edge": 0.2286,
        "barrel_edge": 0.0889,
        "hard_hit_edge": -0.0571,
        "whiff_edge": 0.6857,
        "bb_edge": -0.5,
        "pitch_design_score": 0.0391
      },
      "quality_score": 0.1185,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9899,
      "strikeout_factor": 1.0543,
      "walk_factor": 1.04,
      "homer_factor": 0.9883,
      "woba_minus_xwoba": -0.05,
      "regression_flag": "negative_pitcher_regression",
      "espn_rank": {
        "available": false,
        "player_id": "607074",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 1.0,
        "factor": 0.9899,
        "adjusted": 1
      },
      "predicted_H": {
        "original": 3.0,
        "factor": 0.9899,
        "adjusted": 3
      },
      "predicted_BB": {
        "original": 2.0,
        "factor": 1.04,
        "adjusted": 2
      },
      "predicted_HR": {
        "original": 1.0,
        "factor": 0.9883,
        "adjusted": 1
      },
      "predicted_SO": {
        "original": 6.0,
        "factor": 1.0543,
        "adjusted": 6
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 53.1,
    "ER": 14,
    "H": 33,
    "BB": 19,
    "SO": 57,
    "HR": 5,
    "ERA": 2.3625,
    "WHIP": 0.975,
    "K9": 9.61875,
    "HR9": 0.84375,
    "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-22T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "607074",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 89,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 89,
    "pitch_usage": 0.0,
    "release_speed": 90.56273224117,
    "release_spin_rate": 2330.58265906805,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 89,
      "pitch_usage": 0.0,
      "release_speed": 90.56273224117,
      "release_spin_rate": 2330.58265906805,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.5627,
    "release_spin_rate": 2330.5827,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": 0.0391,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": 0.2794,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7619,
    "prior_weight": 0.2381
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "607074",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 16,
  "reference_playing_time": 6.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 30.0,
        "ER": 6.0,
        "R": 7.0,
        "H": 15.0,
        "BB": 8.0,
        "SO": 33.0,
        "HR": 3.0,
        "BF": 112.0,
        "Pitches": 468.0
      },
      "per_game": {
        "IP": 6.0,
        "ER": 1.2,
        "R": 1.4,
        "H": 3.0,
        "BB": 1.6,
        "SO": 6.6,
        "HR": 0.6,
        "BF": 22.4,
        "Pitches": 93.6
      },
      "rates": {
        "ERA": 1.8,
        "WHIP": 0.7667,
        "ER_per_IP": 0.2,
        "H_per_IP": 0.5,
        "BB_per_IP": 0.26667,
        "SO_per_IP": 1.1,
        "HR_per_IP": 0.1
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 53.1,
        "ER": 14.0,
        "R": 18.0,
        "H": 33.0,
        "BB": 19.0,
        "SO": 57.0,
        "HR": 5.0,
        "BF": 211.0,
        "Pitches": 892.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.4,
        "R": 1.8,
        "H": 3.3,
        "BB": 1.9,
        "SO": 5.7,
        "HR": 0.5,
        "BF": 21.1,
        "Pitches": 89.2
      },
      "rates": {
        "ERA": 2.3625,
        "WHIP": 0.975,
        "ER_per_IP": 0.2625,
        "H_per_IP": 0.61875,
        "BB_per_IP": 0.35625,
        "SO_per_IP": 1.06875,
        "HR_per_IP": 0.09375
      }
    },
    "season": {
      "games": 16,
      "totals": {
        "IP": 84.1,
        "ER": 25.0,
        "R": 30.0,
        "H": 51.0,
        "BB": 38.0,
        "SO": 91.0,
        "HR": 7.0,
        "BF": 340.0,
        "Pitches": 1438.0
      },
      "per_game": {
        "IP": 5.1,
        "ER": 1.5625,
        "R": 1.875,
        "H": 3.1875,
        "BB": 2.375,
        "SO": 5.6875,
        "HR": 0.4375,
        "BF": 21.25,
        "Pitches": 89.875
      },
      "rates": {
        "ERA": 2.668,
        "WHIP": 1.0553,
        "ER_per_IP": 0.29644,
        "H_per_IP": 0.60474,
        "BB_per_IP": 0.45059,
        "SO_per_IP": 1.07905,
        "HR_per_IP": 0.083
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 5.2,
    "predicted_ER": 1.751,
    "predicted_H": 3.794,
    "predicted_BB": 1.977,
    "predicted_SO": 6.001,
    "predicted_HR": 0.613,
    "predicted_ERA": 2.7548,
    "predicted_WHIP": 1.0088
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4506,
  "form_weight": 0.5494,
  "form_reliability": 0.7619,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 16.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7619,
    "prior_weight": 0.2381
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 6.0,
      "form": 5.2,
      "final": 5.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.751,
      "final": 1.8632,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 4.0,
      "form": 3.794,
      "final": 3.8868,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 2.0,
      "form": 1.977,
      "final": 1.9874,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 7.0,
      "form": 6.001,
      "final": 6.4511,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.613,
      "final": 0.3368,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7548,
      "final": 2.7548,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0088,
      "final": 1.0088,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherRyan Weathers
RoleMiddle Reliever
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score0.0108
ESPN Rank-
Movement AvailableTrue
Primary Pitch-
Movement Score-0.0503
Avg Velo88.9654
Avg Spin2333.7436
HB Inches0
IVB Inches0
Release Extension0
Pre IP1
Pre ER1
Pre H1
Pre BB0
Pre SO1
Season ERA3.5612
Season WHIP1.2158
Role Avg IP0.8330
Recent Avg IP0.8330
Last Start IP0
Team Form Snapshot
{
  "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.0233,
    "defense_index": 1.2017,
    "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.1711
  },
  "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.0128,
    "defense_index": 1.118,
    "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.1543
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.0168,
    "offense_edge": 0.0233,
    "opponent_offense_edge": 0.0128,
    "defense_strength": 0.2017,
    "opponent_defense_weakness": -0.118,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0062,
    "run_prevention": 0.981,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "677960",
    "profile": {
      "available": true,
      "pitcher_id": "677960",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 565.0,
        "k_percent": 25.2,
        "bb_percent": 6.7,
        "woba": 0.306,
        "xwoba": 0.319,
        "sweet_spot_percent": 32.0,
        "barrel_batted_rate": 8.6,
        "hard_hit_percent": 40.6,
        "avg_best_speed": 77.6823,
        "avg_hyper_speed": 94.6018,
        "whiff_percent": 27.0,
        "swing_percent": 44.8
      },
      "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.0996,
        "command_and_miss": 0.4143,
        "regression_edge": -0.3714,
        "xwoba_edge": -0.2,
        "barrel_edge": -0.3111,
        "hard_hit_edge": -0.3857,
        "whiff_edge": 0.2571,
        "bb_edge": 0.625,
        "pitch_design_score": -0.0503
      },
      "quality_score": 0.0108,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9991,
      "strikeout_factor": 1.028,
      "walk_factor": 0.95,
      "homer_factor": 1.0463,
      "woba_minus_xwoba": -0.013,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "677960",
        "espn_rank": null
      }
    },
    "adjusted_fields": {
      "predicted_ER": {
        "original": 0.0,
        "factor": 0.9991,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9991,
        "adjusted": 1
      },
      "predicted_BB": {
        "original": 0.0,
        "factor": 0.95,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 1.0463,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 1.028,
        "adjusted": 2
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 46.2,
    "ER": 11,
    "H": 42,
    "BB": 12,
    "SO": 39,
    "HR": 2,
    "ERA": 2.121428571428571,
    "WHIP": 1.157142857142857,
    "K9": 7.5214285714285705,
    "HR9": 0.3857142857142857,
    "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-10-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": true,
  "pitcher_id": "677960",
  "player_name": null,
  "source": "all_players_stats.csv embedded Savant pitcher movement features",
  "total_pitches": 90,
  "primary_pitch": {
    "pitch_type": null,
    "pitch_name": null,
    "pitches": 90,
    "pitch_usage": 0.0,
    "release_speed": 88.96544929273789,
    "release_spin_rate": 2333.743615585118,
    "spin_axis": null,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": null,
    "release_pos_x": null,
    "release_pos_z": null,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "pitch_mix": [
    {
      "pitch_type": null,
      "pitch_name": null,
      "pitches": 90,
      "pitch_usage": 0.0,
      "release_speed": 88.96544929273789,
      "release_spin_rate": 2333.743615585118,
      "spin_axis": null,
      "horizontal_break_inches": 0.0,
      "induced_vertical_break_inches": 0.0,
      "vertical_break_with_gravity_inches": null,
      "release_pos_x": null,
      "release_pos_z": 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.9654,
    "release_spin_rate": 2333.7436,
    "spin_axis": 0.0,
    "horizontal_break_inches": 0.0,
    "induced_vertical_break_inches": 0.0,
    "vertical_break_with_gravity_inches": 0.0,
    "release_pos_x": 0.0,
    "release_pos_z": 0.0,
    "release_extension": 0.0,
    "arm_angle": 0.0,
    "whiff_percent": 0.0,
    "xwoba": 0.0,
    "hard_hit_percent": 0.0
  },
  "components": {
    "movement_score": -0.0503,
    "horizontal_break_edge": 0.0,
    "induced_vertical_break_edge": 0.0,
    "extension_edge": 0.0,
    "velocity_edge": -0.3595,
    "whiff_edge": 0.0,
    "xwoba_edge": -0.0,
    "hard_hit_edge": -0.0
  },
  "spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 27.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8438,
    "prior_weight": 0.1562
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "677960",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 27,
  "reference_playing_time": 1.0,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 18.0,
        "ER": 4.0,
        "R": 4.0,
        "H": 16.0,
        "BB": 5.0,
        "SO": 11.0,
        "HR": 1.0,
        "BF": 71.0,
        "Pitches": 295.0
      },
      "per_game": {
        "IP": 3.2,
        "ER": 0.8,
        "R": 0.8,
        "H": 3.2,
        "BB": 1.0,
        "SO": 2.2,
        "HR": 0.2,
        "BF": 14.2,
        "Pitches": 59.0
      },
      "rates": {
        "ERA": 2.0,
        "WHIP": 1.1667,
        "ER_per_IP": 0.22222,
        "H_per_IP": 0.88889,
        "BB_per_IP": 0.27778,
        "SO_per_IP": 0.61111,
        "HR_per_IP": 0.05556
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 46.2,
        "ER": 11.0,
        "R": 11.0,
        "H": 42.0,
        "BB": 12.0,
        "SO": 39.0,
        "HR": 2.0,
        "BF": 188.0,
        "Pitches": 776.0
      },
      "per_game": {
        "IP": 4.2,
        "ER": 1.1,
        "R": 1.1,
        "H": 4.2,
        "BB": 1.2,
        "SO": 3.9,
        "HR": 0.2,
        "BF": 18.8,
        "Pitches": 77.6
      },
      "rates": {
        "ERA": 2.1214,
        "WHIP": 1.1571,
        "ER_per_IP": 0.23571,
        "H_per_IP": 0.9,
        "BB_per_IP": 0.25714,
        "SO_per_IP": 0.83571,
        "HR_per_IP": 0.04286
      }
    },
    "season": {
      "games": 27,
      "totals": {
        "IP": 139.0,
        "ER": 55.0,
        "R": 61.0,
        "H": 130.0,
        "BB": 39.0,
        "SO": 143.0,
        "HR": 18.0,
        "BF": 574.0,
        "Pitches": 2303.0
      },
      "per_game": {
        "IP": 5.0,
        "ER": 2.037,
        "R": 2.2593,
        "H": 4.8148,
        "BB": 1.4444,
        "SO": 5.2963,
        "HR": 0.6667,
        "BF": 21.2593,
        "Pitches": 85.2963
      },
      "rates": {
        "ERA": 3.5612,
        "WHIP": 1.2158,
        "ER_per_IP": 0.39568,
        "H_per_IP": 0.93525,
        "BB_per_IP": 0.28058,
        "SO_per_IP": 1.02878,
        "HR_per_IP": 0.1295
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 3.2,
    "predicted_ER": 1.135,
    "predicted_H": 3.45,
    "predicted_BB": 1.087,
    "predicted_SO": 3.01,
    "predicted_HR": 0.297,
    "predicted_ERA": 2.7093,
    "predicted_WHIP": 1.2032
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.416,
  "form_weight": 0.584,
  "form_reliability": 0.8438,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 27.0,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.8438,
    "prior_weight": 0.1562
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.0,
      "form": 3.2,
      "final": 2.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 2.0,
      "form": 1.135,
      "final": 1.4948,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 3.0,
      "form": 3.45,
      "final": 3.2628,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 1.087,
      "final": 0.6348,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 3.01,
      "final": 2.1739,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 1.0,
      "form": 0.297,
      "final": 0.5894,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.7093,
      "final": 2.7093,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.2032,
      "final": 1.2032,
      "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.1948
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER0
Pre H1
Pre BB0
Pre SO1
Season ERA1.5112
Season WHIP1.0522
Role Avg IP1.3700
Recent Avg IP1.2670
Last Start IP0
Team Form Snapshot
{
  "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.0233,
    "defense_index": 1.2017,
    "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.1711
  },
  "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.0128,
    "defense_index": 1.118,
    "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.1543
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.0168,
    "offense_edge": 0.0233,
    "opponent_offense_edge": 0.0128,
    "defense_strength": 0.2017,
    "opponent_defense_weakness": -0.118,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0062,
    "run_prevention": 0.981,
    "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.0
      },
      "quality_score": 0.1948,
      "sample_weight": 1.0,
      "run_prevention_factor": 0.9834,
      "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.9834,
        "adjusted": 0
      },
      "predicted_H": {
        "original": 1.0,
        "factor": 0.9834,
        "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
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
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": 7,
    "BB": 6,
    "SO": 4,
    "HR": 0,
    "ERA": 0.0,
    "WHIP": 1.1818181818181817,
    "K9": 3.272727272727272,
    "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-10-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "621112",
  "reason": "pitcher_movement_profile_has_no_pitches"
}
Player Form Blend
{
  "form_version": "player_form_v3_5_10_season",
  "method": "weighted_recent_form",
  "description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
  "weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "effective_weights": {
    "last_5": 0.45,
    "last_10": 0.35,
    "season": 0.2
  },
  "shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.446,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7867,
    "prior_weight": 0.2133
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "621112",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 65,
  "reference_playing_time": 1.333,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 6.1,
        "ER": 0.0,
        "R": 1.0,
        "H": 3.0,
        "BB": 2.0,
        "SO": 1.0,
        "HR": 0.0,
        "BF": 24.0,
        "Pitches": 90.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.0,
        "R": 0.2,
        "H": 0.6,
        "BB": 0.4,
        "SO": 0.2,
        "HR": 0.0,
        "BF": 4.8,
        "Pitches": 18.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.7895,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.47368,
        "BB_per_IP": 0.31579,
        "SO_per_IP": 0.15789,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 11.0,
        "ER": 0.0,
        "R": 1.0,
        "H": 7.0,
        "BB": 6.0,
        "SO": 4.0,
        "HR": 0.0,
        "BF": 45.0,
        "Pitches": 170.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.0,
        "R": 0.1,
        "H": 0.7,
        "BB": 0.6,
        "SO": 0.4,
        "HR": 0.0,
        "BF": 4.5,
        "Pitches": 17.0
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 1.1818,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.63636,
        "BB_per_IP": 0.54545,
        "SO_per_IP": 0.36364,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 65,
      "totals": {
        "IP": 89.1,
        "ER": 15.0,
        "R": 19.0,
        "H": 60.0,
        "BB": 34.0,
        "SO": 69.0,
        "HR": 7.0,
        "BF": 350.0,
        "Pitches": 1293.0
      },
      "per_game": {
        "IP": 1.1,
        "ER": 0.2308,
        "R": 0.2923,
        "H": 0.9231,
        "BB": 0.5231,
        "SO": 1.0615,
        "HR": 0.1077,
        "BF": 5.3846,
        "Pitches": 19.8923
      },
      "rates": {
        "ERA": 1.5112,
        "WHIP": 1.0522,
        "ER_per_IP": 0.16791,
        "H_per_IP": 0.67164,
        "BB_per_IP": 0.3806,
        "SO_per_IP": 0.77239,
        "HR_per_IP": 0.07836
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 1.1,
    "predicted_ER": 0.169,
    "predicted_H": 0.818,
    "predicted_BB": 0.5,
    "predicted_SO": 0.592,
    "predicted_HR": 0.055,
    "predicted_ERA": 1.2242,
    "predicted_WHIP": 1.0617
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4401,
  "form_weight": 0.5599,
  "form_reliability": 0.7867,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 18.446,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7867,
    "prior_weight": 0.2133
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 1.1,
      "form": 1.1,
      "final": 1.1,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.169,
      "final": 0.0946,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 0.0,
      "form": 0.818,
      "final": 0.458,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 1.0,
      "form": 0.5,
      "final": 0.7201,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 1.0,
      "form": 0.592,
      "final": 0.7716,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.055,
      "final": 0.0308,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 1.2242,
      "final": 1.2242,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0617,
      "final": 1.0617,
      "source": "form_only"
    }
  }
}
Inning Pitch Details
{
  "available": false,
  "reason": "No per-inning pitch ledger was stored by the simulation.",
  "display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}
FieldValue
PitcherJohn Schreiber
RoleMiddle Reliever (High Leverage)
Projection Sourceall_players_stats_recent_season_blend
Savant Quality Score-0.0926
ESPN Rank-
Movement AvailableFalse
Primary Pitch-
Movement Score-
Avg Velo-
Avg Spin-
HB Inches-
IVB Inches-
Release Extension-
Pre IP1.1000
Pre ER0
Pre H0
Pre BB0
Pre SO1
Season ERA3.1765
Season WHIP1.2032
Role Avg IP0.9170
Recent Avg IP0.8000
Last Start IP0
Team Form Snapshot
{
  "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.0233,
    "defense_index": 1.2017,
    "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.1711
  },
  "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.0128,
    "defense_index": 1.118,
    "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.1543
  },
  "method": "team_form_snapshot",
  "role": "pitcher",
  "edges": {
    "quality_edge": 0.0168,
    "offense_edge": 0.0233,
    "opponent_offense_edge": 0.0128,
    "defense_strength": 0.2017,
    "opponent_defense_weakness": -0.118,
    "recent_win_pct_edge": 0.0
  },
  "player_factors": {
    "ip": 1.0062,
    "run_prevention": 0.981,
    "strikeout": 0.9995
  },
  "savant_pitcher_quality_adjustment": {
    "applied": true,
    "pitcher_id": "670167",
    "profile": {
      "available": true,
      "pitcher_id": "670167",
      "player_name": "",
      "source": "all_players_stats.csv embedded Savant pitcher features",
      "source_url": null,
      "metrics": {
        "pa": 224.0,
        "k_percent": 16.3,
        "bb_percent": 10.6,
        "woba": 0.3,
        "xwoba": 0.309,
        "sweet_spot_percent": 33.5,
        "barrel_batted_rate": 5.1,
        "hard_hit_percent": 38.0,
        "avg_best_speed": 77.8632,
        "avg_hyper_speed": 93.8817,
        "whiff_percent": 20.9,
        "swing_percent": 44.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.1668,
        "command_and_miss": -0.6579,
        "regression_edge": -0.2571,
        "xwoba_edge": 0.0857,
        "barrel_edge": 0.4667,
        "hard_hit_edge": -0.0143,
        "whiff_edge": -0.6143,
        "bb_edge": -0.35,
        "pitch_design_score": 0.0
      },
      "quality_score": -0.0926,
      "sample_weight": 0.896,
      "run_prevention_factor": 1.0079,
      "strikeout_factor": 0.9483,
      "walk_factor": 1.0251,
      "homer_factor": 0.9648,
      "woba_minus_xwoba": -0.009,
      "regression_flag": "neutral",
      "espn_rank": {
        "available": false,
        "player_id": "670167",
        "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": 1.0225,
        "adjusted": 0
      },
      "predicted_HR": {
        "original": 0.0,
        "factor": 0.9685,
        "adjusted": 0
      },
      "predicted_SO": {
        "original": 2.0,
        "factor": 0.9537,
        "adjusted": 2
      }
    }
  },
  "club_form": "game.<side>_team.predicted_performance.team_form"
}
Recent Form Pitching
{
  "hitting": {
    "AB": 0,
    "H": 0,
    "HR": 0,
    "RBI": 0,
    "R": 0,
    "BB": 0,
    "SO": 0,
    "2B": 0,
    "3B": 0,
    "AVG": 0,
    "OBP": 0,
    "SLG": 0,
    "OPS": 0,
    "games_played": 0,
    "hot_streak": false,
    "cold_streak": true,
    "trend": "stable"
  },
  "pitching": {
    "IP": 9.2,
    "ER": 2,
    "H": 8,
    "BB": 2,
    "SO": 5,
    "HR": 0,
    "ERA": 1.8620689655172415,
    "WHIP": 1.0344827586206897,
    "K9": 4.655172413793104,
    "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-05T00:00:00"
}
Savant Pitch Movement Profile
{
  "available": false,
  "pitcher_id": "670167",
  "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.871,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7202,
    "prior_weight": 0.2798
  },
  "role": "pitcher",
  "pitcher_usage_role": "starter",
  "player_id": "670167",
  "report_date": "20261008",
  "season_year": 2026,
  "rows_used": 68,
  "reference_playing_time": 0.667,
  "windows": {
    "last_5": {
      "games": 5,
      "totals": {
        "IP": 4.0,
        "ER": 0.0,
        "R": 0.0,
        "H": 3.0,
        "BB": 0.0,
        "SO": 3.0,
        "HR": 0.0,
        "BF": 16.0,
        "Pitches": 58.0
      },
      "per_game": {
        "IP": 0.2,
        "ER": 0.0,
        "R": 0.0,
        "H": 0.6,
        "BB": 0.0,
        "SO": 0.6,
        "HR": 0.0,
        "BF": 3.2,
        "Pitches": 11.6
      },
      "rates": {
        "ERA": 0.0,
        "WHIP": 0.75,
        "ER_per_IP": 0.0,
        "H_per_IP": 0.75,
        "BB_per_IP": 0.0,
        "SO_per_IP": 0.75,
        "HR_per_IP": 0.0
      }
    },
    "last_10": {
      "games": 10,
      "totals": {
        "IP": 9.2,
        "ER": 2.0,
        "R": 3.0,
        "H": 8.0,
        "BB": 2.0,
        "SO": 5.0,
        "HR": 0.0,
        "BF": 38.0,
        "Pitches": 128.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.2,
        "R": 0.3,
        "H": 0.8,
        "BB": 0.2,
        "SO": 0.5,
        "HR": 0.0,
        "BF": 3.8,
        "Pitches": 12.8
      },
      "rates": {
        "ERA": 1.8621,
        "WHIP": 1.0345,
        "ER_per_IP": 0.2069,
        "H_per_IP": 0.82759,
        "BB_per_IP": 0.2069,
        "SO_per_IP": 0.51724,
        "HR_per_IP": 0.0
      }
    },
    "season": {
      "games": 68,
      "totals": {
        "IP": 62.1,
        "ER": 22.0,
        "R": 26.0,
        "H": 49.0,
        "BB": 26.0,
        "SO": 42.0,
        "HR": 7.0,
        "BF": 252.0,
        "Pitches": 1023.0
      },
      "per_game": {
        "IP": 1.0,
        "ER": 0.3235,
        "R": 0.3824,
        "H": 0.7206,
        "BB": 0.3824,
        "SO": 0.6176,
        "HR": 0.1029,
        "BF": 3.7059,
        "Pitches": 15.0441
      },
      "rates": {
        "ERA": 3.1765,
        "WHIP": 1.2032,
        "ER_per_IP": 0.35294,
        "H_per_IP": 0.7861,
        "BB_per_IP": 0.41711,
        "SO_per_IP": 0.6738,
        "HR_per_IP": 0.1123
      }
    }
  },
  "blend_segments": {},
  "weighted_prediction": {
    "predicted_IP": 0.2,
    "predicted_ER": 0.197,
    "predicted_H": 0.671,
    "predicted_BB": 0.175,
    "predicted_SO": 0.585,
    "predicted_HR": 0.046,
    "predicted_ERA": 2.2209,
    "predicted_WHIP": 1.0593
  }
}
Model Form Blend Trace
{
  "requested_model_weight": 0.35,
  "requested_form_weight": 0.65,
  "model_weight": 0.4682,
  "form_weight": 0.5318,
  "form_reliability": 0.7202,
  "adaptive_parameters": {
    "player.model_weight": 0.5,
    "player.form_reliability_floor": 0.35
  },
  "form_shrinkage": {
    "method": "bayesian_league_prior",
    "sample_size": 12.871,
    "sample_unit": "starter_equivalent_games",
    "prior_size": 5.0,
    "data_weight": 0.7202,
    "prior_weight": 0.2798
  },
  "applied_metrics": {
    "predicted_IP": {
      "model": 0.2,
      "form": 0.2,
      "final": 0.2,
      "source": "model_form_blend"
    },
    "predicted_ER": {
      "model": 0.0,
      "form": 0.197,
      "final": 0.1048,
      "source": "model_form_blend"
    },
    "predicted_H": {
      "model": 1.0,
      "form": 0.671,
      "final": 0.825,
      "source": "model_form_blend"
    },
    "predicted_BB": {
      "model": 0.0,
      "form": 0.175,
      "final": 0.0931,
      "source": "model_form_blend"
    },
    "predicted_SO": {
      "model": 0.0,
      "form": 0.585,
      "final": 0.3111,
      "source": "model_form_blend"
    },
    "predicted_HR": {
      "model": 0.0,
      "form": 0.046,
      "final": 0.0245,
      "source": "model_form_blend"
    },
    "predicted_ERA": {
      "model": null,
      "form": 2.2209,
      "final": 2.2209,
      "source": "form_only"
    },
    "predicted_WHIP": {
      "model": null,
      "form": 1.0593,
      "final": 1.0593,
      "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."
}
Trent Grisham (663757) · BATTER · CF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 492
All-history rows before 20261008: 492
System season_avg: 0.2110
Data season_avg (2026 season-to-date): 0.2089
Diff (system - data): 0.0021
System opponent_avg: 0.3750

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1610.0000.000Hitting_2B0.1690.000-0.1690.000
predicted_3B0.0170.0000.000Hitting_3B0.0200.000-0.0200.000
predicted_AB4.5104.0004.000Hitting_AB3.7563.0000.2441.000
predicted_AVG0.1940.5000.500Hitting_AVG0.2090.0000.2910.500
predicted_BB0.4921.0001.000Hitting_BB0.5410.0000.4591.000
predicted_CS-0.0000.000BaseRunning_CS0.0200.000-0.0200.000
predicted_H0.8702.0002.000Hitting_H0.7850.0001.2152.000
predicted_HR0.1101.0001.000Hitting_HR0.1570.0000.8431.000
predicted_OBP0.2940.6000.600Hitting_OBP0.3060.0000.2940.600
predicted_R0.5591.0001.000Hitting_R0.5980.0000.4021.000
predicted_RBI0.4701.0001.000Hitting_RBI0.5280.0000.4721.000
predicted_SLG0.3381.2501.250Hitting_SLG0.3900.0000.8601.250
predicted_SO0.7632.0002.000Hitting_SO0.7870.0001.2132.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics10
Boosted Metrics8
Deboosted Metrics2
Better Metrics7
Worse Metrics3
Biggest Boostpredicted_SO: 0.7630 -> 2.0000 (boost 1.2370, worse)
Biggest Deboostpredicted_AB: 4.5100 -> 4.0000 (deboost -0.5100, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51414predicted_AVG: 0.1940 -> 0.1990 (boost 0.0050, better)predicted_AB: 4.5100 -> 3.9603 (deboost -0.5497, worse)Final model input calibrated 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.3280 -> 0.3095 (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_scaling62415predicted_SO: 0.7438 -> 1.0000 (boost 0.2562, worse)predicted_BB: 0.4523 -> 0.0000 (deboost -0.4523, worse)AB rounded to 4 (raw=4.51), rates preserved: AVG=0.158 HR/AB=0.021
6bvp_blend00000--Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)
7consistency_constraints10101-predicted_R: 0.4878 -> 0.0000 (deboost -0.4878, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.5062 (boost 0.5062, better)predicted_H: 1.0000 -> 0.7862 (deboost -0.2138, 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_allocation96354predicted_BB: 0.4114 -> 1.0000 (boost 0.5886, better)predicted_RBI: 0.5062 -> 0.0000 (deboost -0.5062, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization55041predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "663757",
  "player_name": "Trent Grisham",
  "position": "CF",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.161,
        "predicted_3B": 0.017,
        "predicted_AB": 4.51,
        "predicted_AVG": 0.194,
        "predicted_BB": 0.492,
        "predicted_H": 0.87,
        "predicted_HR": 0.11,
        "predicted_OBP": 0.294,
        "predicted_R": 0.559,
        "predicted_RBI": 0.47,
        "predicted_SLG": 0.338,
        "predicted_SO": 0.763
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1311,
        "predicted_3B": 0.014,
        "predicted_AB": 3.9603,
        "predicted_AVG": 0.199,
        "predicted_BB": 0.4517,
        "predicted_H": 0.7817,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0974,
        "predicted_OBP": 0.2926,
        "predicted_R": 0.4923,
        "predicted_RBI": 0.4354,
        "predicted_SLG": 0.328,
        "predicted_SO": 0.7448
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 3.9603,
          "delta": -0.5497,
          "percent_delta": -0.1219,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.194,
          "after": 0.199,
          "delta": 0.005,
          "percent_delta": 0.0258,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.87,
          "after": 0.7817,
          "delta": -0.0883,
          "percent_delta": -0.1015,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.559,
          "after": 0.4923,
          "delta": -0.0667,
          "percent_delta": -0.1193,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.338,
          "after": 0.328,
          "delta": -0.01,
          "percent_delta": -0.0296,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.194,
          "after": 0.199,
          "delta": 0.005,
          "percent_delta": 0.0258,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.51,
          "after": 3.9603,
          "delta": -0.5497,
          "percent_delta": -0.1219,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1311,
        "predicted_3B": 0.014,
        "predicted_AB": 3.9603,
        "predicted_AVG": 0.1961,
        "predicted_BB": 0.4523,
        "predicted_H": 0.7767,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.0966,
        "predicted_OBP": 0.2785,
        "predicted_R": 0.4878,
        "predicted_RBI": 0.4314,
        "predicted_SLG": 0.3095,
        "predicted_SO": 0.7438
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2926,
          "after": 0.2785,
          "delta": -0.0141,
          "percent_delta": -0.0482,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.328,
          "after": 0.3095,
          "delta": -0.0185,
          "percent_delta": -0.0564,
          "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_SLG",
          "before": 0.328,
          "after": 0.3095,
          "delta": -0.0185,
          "percent_delta": -0.0564,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.51), rates preserved: AVG=0.158 HR/AB=0.021",
      "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.1311,
          "after": 0.0,
          "delta": -0.1311,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4523,
          "after": 0.0,
          "delta": -0.4523,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7767,
          "after": 1.0,
          "delta": 0.2233,
          "percent_delta": 0.2875,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0966,
          "after": 0.0,
          "delta": -0.0966,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4314,
          "after": 0.0,
          "delta": -0.4314,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7438,
          "after": 1.0,
          "delta": 0.2562,
          "percent_delta": 0.3444,
          "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.7438,
          "after": 1.0,
          "delta": 0.2562,
          "percent_delta": 0.3444,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.4523,
          "after": 0.0,
          "delta": -0.4523,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      },
      "weights": {
        "model_expectation": 0.8609,
        "bvp": 0.1391
      }
    },
    {
      "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_R",
          "before": 0.4878,
          "after": 0.0,
          "delta": -0.4878,
          "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_R",
          "before": 0.4878,
          "after": 0.0,
          "delta": -0.4878,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1533,
        "predicted_3B": 0.0129,
        "predicted_BB": 0.4114,
        "predicted_H": 0.7862,
        "predicted_HR": 0.173,
        "predicted_RBI": 0.5062,
        "predicted_SO": 0.9431
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1533,
          "delta": 0.1533,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4114,
          "delta": 0.4114,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7862,
          "delta": -0.2138,
          "percent_delta": -0.2138,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.173,
          "delta": 0.173,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5062,
          "delta": 0.5062,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9431,
          "delta": -0.0569,
          "percent_delta": -0.0569,
          "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.5062,
          "delta": 0.5062,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7862,
          "delta": -0.2138,
          "percent_delta": -0.2138,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.214,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.403,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1533,
          "after": 0.0,
          "delta": -0.1533,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.1961,
          "after": 0.214,
          "delta": 0.0179,
          "percent_delta": 0.0913,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4114,
          "after": 1.0,
          "delta": 0.5886,
          "percent_delta": 1.4307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7862,
          "after": 1.0,
          "delta": 0.2138,
          "percent_delta": 0.2719,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.173,
          "after": 0.0,
          "delta": -0.173,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2785,
          "after": 0.298,
          "delta": 0.0195,
          "percent_delta": 0.07,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5062,
          "after": 0.0,
          "delta": -0.5062,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3095,
          "after": 0.403,
          "delta": 0.0935,
          "percent_delta": 0.3021,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9431,
          "after": 1.0,
          "delta": 0.0569,
          "percent_delta": 0.0603,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 6,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.4114,
          "after": 1.0,
          "delta": 0.5886,
          "percent_delta": 1.4307,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5062,
          "after": 0.0,
          "delta": -0.5062,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.214,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.298,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.403,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 1.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 5,
        "deboosted_metrics": 0,
        "better_metrics": 4,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "step": "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_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.214,
        "predicted_BB": 1.0,
        "predicted_CF": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 2.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.298,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.403,
        "predicted_SO": 2.0,
        "predicted_TB": 5.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.161,
        "after": 0.0,
        "delta": -0.161,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.51,
        "after": 4.0,
        "delta": -0.51,
        "percent_delta": -0.1131,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.194,
        "after": 0.214,
        "delta": 0.02,
        "percent_delta": 0.1031,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.492,
        "after": 1.0,
        "delta": 0.508,
        "percent_delta": 1.0325,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.87,
        "after": 2.0,
        "delta": 1.13,
        "percent_delta": 1.2989,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.11,
        "after": 1.0,
        "delta": 0.89,
        "percent_delta": 8.0909,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.559,
        "after": 1.0,
        "delta": 0.441,
        "percent_delta": 0.7889,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.47,
        "after": 1.0,
        "delta": 0.53,
        "percent_delta": 1.1277,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.338,
        "after": 0.403,
        "delta": 0.065,
        "percent_delta": 0.1923,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.763,
        "after": 2.0,
        "delta": 1.237,
        "percent_delta": 1.6212,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 8,
      "deboosted_metrics": 2,
      "better_metrics": 7,
      "worse_metrics": 3,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.763,
        "after": 2.0,
        "delta": 1.237,
        "percent_delta": 1.6212,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.51,
        "after": 4.0,
        "delta": -0.51,
        "percent_delta": -0.1131,
        "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.161-
predicted_3B0.017-
predicted_AB4.510-
predicted_AVG0.194-
predicted_BB0.492-
predicted_H0.870-
predicted_HR0.110-
predicted_OBP0.294-
predicted_R0.559-
predicted_RBI0.470-
predicted_SLG0.338-
predicted_SO0.763-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.131-0.030
predicted_3B0.014-0.003
predicted_AB3.960-0.550
predicted_AVG0.1990.005
predicted_BB0.452-0.040
predicted_H0.782-0.088
predicted_HBP0.002-
predicted_HR0.097-0.013
predicted_OBP0.293-0.001
predicted_R0.492-0.067
predicted_RBI0.435-0.035
predicted_SLG0.328-0.010
predicted_SO0.745-0.018
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1310.000
predicted_3B0.0140.000
predicted_AB3.9600.000
predicted_AVG0.196-0.003
predicted_BB0.4520.001
predicted_H0.777-0.005
predicted_HBP0.0020.000
predicted_HR0.097-0.001
predicted_OBP0.279-0.014
predicted_R0.488-0.005
predicted_RBI0.431-0.004
predicted_SLG0.309-0.019
predicted_SO0.744-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.51), rates preserved: AVG=0.158 HR/AB=0.021

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

Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.375)

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

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
CS0.000-
H1.0000.000
HBP0.0000.000
HR0.0000.000
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.1530.153
3B0.0130.013
BB0.4110.411
H0.786-0.214
HR0.1730.173
RBI0.5060.506
SO0.943-0.057
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.153
3B0.000-0.013
AB4.0000.000
AVG0.214-
BB1.0000.589
H1.0000.214
HR0.000-0.173
OBP0.298-
R0.0000.000
RBI0.000-0.506
SLG0.403-
SO1.0000.057
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.131
predicted_3B0.000-0.014
predicted_AB4.0000.040
predicted_AVG0.2140.018
predicted_BB1.0000.548
predicted_H1.0000.223
predicted_HR0.000-0.097
predicted_OBP0.2980.019
predicted_R0.000-0.488
predicted_RBI0.000-0.431
predicted_SLG0.4030.094
predicted_SO1.0000.256
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB1.0000.000
H2.0001.000
HBP0.0000.000
HR1.0001.000
PA5.000-
R1.0001.000
RBI1.0001.000
SF0.0000.000
SO2.0001.000
12. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. 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
H2.0000.000
HBP0.0000.000
HR1.0000.000
PA5.0000.000
R1.0000.000
RBI1.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 118
Reference playing time: 4.510
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-12.0003.0000.0000.0000.0001.0001.0001.0002.0000.25000.30770.25000.25000.00000.08330.08330.1667
last_100.2010-30.0004.0000.0000.0000.0003.0002.0004.0009.0000.13330.22860.13330.13330.00000.10000.13330.3000
season0.60118-418.00088.00019.0002.00017.00058.00066.00058.00090.0000.21050.30420.38760.21050.04070.13880.13880.2153
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0920
predicted_3B0.0100
predicted_AB3.2400
predicted_AVG0.2056
predicted_BB0.3990
predicted_H0.6660
predicted_HBP0.0020
predicted_HR0.0810
predicted_OBP0.2907
predicted_R0.4050
predicted_RBI0.3900
predicted_SLG0.3150
predicted_SO0.7210
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.16100.09200.1311model_form_blend
predicted_3B0.01700.01000.0140model_form_blend
predicted_AB4.51003.24003.9603model_form_blend
predicted_AVG0.19400.20560.1990model_form_blend
predicted_BB0.49200.39900.4517model_form_blend
predicted_H0.87000.66600.7817model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.11000.08100.0974model_form_blend
predicted_OBP0.29400.29070.2926model_form_blend
predicted_R0.55900.40500.4923model_form_blend
predicted_RBI0.47000.39000.4354model_form_blend
predicted_SLG0.33800.31500.3280model_form_blend
predicted_SO0.76300.72100.7448model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedCF
gameID20261005_NYY@TB
game_typefull
mlbID663757
playerID663757
playerNameTrent Grisham
posCF
startedTrue
startingPositionCF
teamNYY
teamID19
game_date2026-10-05
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
Ben Rice (700250) · BATTER · DH · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 636
All-history rows before 20261008: 636
System season_avg: 0.2710
Data season_avg (2026 season-to-date): 0.2709
Diff (system - data): 0.0001
System opponent_avg: 0.0620

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1560.0000.000Hitting_2B0.1590.000-0.1590.000
predicted_3B0.0260.0000.000Hitting_3B0.0240.000-0.0240.000
predicted_AB4.0505.0005.000Hitting_AB3.8303.0001.1702.000
predicted_AVG0.3410.2000.200Hitting_AVG0.2710.667-0.071-0.467
predicted_BB0.5710.0000.000Hitting_BB0.6041.000-0.604-1.000
predicted_CS-0.0000.000BaseRunning_CS0.0020.000-0.0020.000
predicted_H1.3801.0001.000Hitting_H1.0382.000-0.038-1.000
predicted_HR0.6700.0000.000Hitting_HR0.2692.000-0.269-2.000
predicted_OBP0.4350.2000.200Hitting_OBP0.3750.750-0.175-0.550
predicted_R0.7080.0000.000Hitting_R0.7202.000-0.720-2.000
predicted_RBI1.0500.0000.000Hitting_RBI0.6812.000-0.681-2.000
predicted_SLG0.8550.2000.200Hitting_SLG0.5352.667-0.335-2.467
predicted_SO1.0391.0001.000Hitting_SO1.0570.000-0.0571.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics1
Deboosted Metrics9
Better Metrics1
Worse Metrics9
Biggest Boostpredicted_AB: 4.0500 -> 5.0000 (boost 0.9500, better)
Biggest Deboostpredicted_RBI: 1.0500 -> 0.0000 (deboost -1.0500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend61515predicted_R: 0.7080 -> 0.7710 (boost 0.0630, better)predicted_AB: 4.0500 -> 3.8991 (deboost -0.1509, worse)Final model input calibrated 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.8146 -> 0.8304 (boost 0.0158, better)predicted_OBP: 0.4335 -> 0.4242 (deboost -0.0093, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62433predicted_HR: 0.5651 -> 1.0000 (boost 0.4349, better)predicted_BB: 0.5967 -> 0.0000 (deboost -0.5967, worse)AB rounded to 4 (raw=4.05), rates preserved: AVG=0.296 HR/AB=0.140
6bvp_blend10101-predicted_HR: 1.0000 -> 0.0000 (deboost -1.0000, worse)Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)
7consistency_constraints11010predicted_R: 0.7640 -> 1.0000 (boost 0.2360, better)-Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64233predicted_BB: 0.0000 -> 0.4586 (boost 0.4586, better)predicted_RBI: 1.0000 -> 0.5846 (deboost -0.4154, 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_allocation94554predicted_HR: 0.2771 -> 1.0000 (boost 0.7229, better)predicted_SLG: 0.8304 -> 0.4800 (deboost -0.3504, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization51414predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "700250",
  "player_name": "Ben Rice",
  "position": "DH",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.156,
        "predicted_3B": 0.026,
        "predicted_AB": 4.05,
        "predicted_AVG": 0.341,
        "predicted_BB": 0.571,
        "predicted_H": 1.38,
        "predicted_HR": 0.67,
        "predicted_OBP": 0.435,
        "predicted_R": 0.708,
        "predicted_RBI": 1.05,
        "predicted_SLG": 0.855,
        "predicted_SO": 1.039
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1897,
        "predicted_3B": 0.0212,
        "predicted_AB": 3.8991,
        "predicted_AVG": 0.3382,
        "predicted_BB": 0.5959,
        "predicted_H": 1.3188,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.5698,
        "predicted_OBP": 0.4335,
        "predicted_R": 0.771,
        "predicted_RBI": 0.9848,
        "predicted_SLG": 0.8146,
        "predicted_SO": 1.0543
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.05,
          "after": 3.8991,
          "delta": -0.1509,
          "percent_delta": -0.0373,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.38,
          "after": 1.3188,
          "delta": -0.0612,
          "percent_delta": -0.0443,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.67,
          "after": 0.5698,
          "delta": -0.1002,
          "percent_delta": -0.1496,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.708,
          "after": 0.771,
          "delta": 0.063,
          "percent_delta": 0.089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.05,
          "after": 0.9848,
          "delta": -0.0652,
          "percent_delta": -0.0621,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.855,
          "after": 0.8146,
          "delta": -0.0404,
          "percent_delta": -0.0473,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 1,
        "deboosted_metrics": 5,
        "better_metrics": 1,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.708,
          "after": 0.771,
          "delta": 0.063,
          "percent_delta": 0.089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.05,
          "after": 3.8991,
          "delta": -0.1509,
          "percent_delta": -0.0373,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1897,
        "predicted_3B": 0.0212,
        "predicted_AB": 3.8991,
        "predicted_AVG": 0.3361,
        "predicted_BB": 0.5967,
        "predicted_H": 1.3104,
        "predicted_HBP": 0.024,
        "predicted_HR": 0.5651,
        "predicted_OBP": 0.4242,
        "predicted_R": 0.764,
        "predicted_RBI": 0.9758,
        "predicted_SLG": 0.8304,
        "predicted_SO": 1.0528
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.4335,
          "after": 0.4242,
          "delta": -0.0093,
          "percent_delta": -0.0215,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.8146,
          "after": 0.8304,
          "delta": 0.0158,
          "percent_delta": 0.0194,
          "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_SLG",
          "before": 0.8146,
          "after": 0.8304,
          "delta": 0.0158,
          "percent_delta": 0.0194,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.4335,
          "after": 0.4242,
          "delta": -0.0093,
          "percent_delta": -0.0215,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.05), rates preserved: AVG=0.296 HR/AB=0.140",
      "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": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1897,
          "after": 0.0,
          "delta": -0.1897,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8991,
          "after": 4.0,
          "delta": 0.1009,
          "percent_delta": 0.0259,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.5967,
          "after": 0.0,
          "delta": -0.5967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.3104,
          "after": 1.0,
          "delta": -0.3104,
          "percent_delta": -0.2369,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.5651,
          "after": 1.0,
          "delta": 0.4349,
          "percent_delta": 0.7696,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0528,
          "after": 1.0,
          "delta": -0.0528,
          "percent_delta": -0.0502,
          "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.5651,
          "after": 1.0,
          "delta": 0.4349,
          "percent_delta": 0.7696,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.5967,
          "after": 0.0,
          "delta": -0.5967,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_HR",
          "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_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "model_expectation": 0.8609,
        "bvp": 0.1391
      }
    },
    {
      "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_R",
          "before": 0.764,
          "after": 1.0,
          "delta": 0.236,
          "percent_delta": 0.3089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.764,
          "after": 1.0,
          "delta": 0.236,
          "percent_delta": 0.3089,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1504,
        "predicted_3B": 0.016,
        "predicted_BB": 0.4586,
        "predicted_H": 0.7933,
        "predicted_HR": 0.2771,
        "predicted_RBI": 0.5846,
        "predicted_SO": 1.2456
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1504,
          "delta": 0.1504,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.4586,
          "delta": 0.4586,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7933,
          "delta": -0.2067,
          "percent_delta": -0.2067,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2771,
          "delta": 0.2771,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5846,
          "delta": -0.4154,
          "percent_delta": -0.4154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2456,
          "delta": 0.2456,
          "percent_delta": 0.2456,
          "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.4586,
          "delta": 0.4586,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5846,
          "delta": -0.4154,
          "percent_delta": -0.4154,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.211,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.302,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.48,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1504,
          "after": 0.0,
          "delta": -0.1504,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.3361,
          "after": 0.211,
          "delta": -0.1251,
          "percent_delta": -0.3722,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4586,
          "after": 1.0,
          "delta": 0.5414,
          "percent_delta": 1.1805,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7933,
          "after": 1.0,
          "delta": 0.2067,
          "percent_delta": 0.2606,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2771,
          "after": 1.0,
          "delta": 0.7229,
          "percent_delta": 2.6088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.4242,
          "after": 0.302,
          "delta": -0.1222,
          "percent_delta": -0.2881,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5846,
          "after": 1.0,
          "delta": 0.4154,
          "percent_delta": 0.7106,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.8304,
          "after": 0.48,
          "delta": -0.3504,
          "percent_delta": -0.422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2456,
          "after": 1.0,
          "delta": -0.2456,
          "percent_delta": -0.1972,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 4,
        "deboosted_metrics": 5,
        "better_metrics": 5,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_HR",
          "before": 0.2771,
          "after": 1.0,
          "delta": 0.7229,
          "percent_delta": 2.6088,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.8304,
          "after": 0.48,
          "delta": -0.3504,
          "percent_delta": -0.422,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 10,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.211,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.302,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.48,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "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_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 5.0,
        "predicted_AVG": 0.211,
        "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.302,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.48,
        "predicted_SO": 1.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.156,
        "after": 0.0,
        "delta": -0.156,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.05,
        "after": 5.0,
        "delta": 0.95,
        "percent_delta": 0.2346,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.341,
        "after": 0.211,
        "delta": -0.13,
        "percent_delta": -0.3812,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.571,
        "after": 0.0,
        "delta": -0.571,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.38,
        "after": 1.0,
        "delta": -0.38,
        "percent_delta": -0.2754,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.67,
        "after": 0.0,
        "delta": -0.67,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.435,
        "after": 0.302,
        "delta": -0.133,
        "percent_delta": -0.3057,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.708,
        "after": 0.0,
        "delta": -0.708,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 1.05,
        "after": 0.0,
        "delta": -1.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.855,
        "after": 0.48,
        "delta": -0.375,
        "percent_delta": -0.4386,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 1,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 4.05,
        "after": 5.0,
        "delta": 0.95,
        "percent_delta": 0.2346,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_RBI",
        "before": 1.05,
        "after": 0.0,
        "delta": -1.05,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.156-
predicted_3B0.026-
predicted_AB4.050-
predicted_AVG0.341-
predicted_BB0.571-
predicted_H1.380-
predicted_HR0.670-
predicted_OBP0.435-
predicted_R0.708-
predicted_RBI1.050-
predicted_SLG0.855-
predicted_SO1.039-
2. weighted_recent_form_blend

Final model input calibrated with local form: 55% 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.034
predicted_3B0.021-0.005
predicted_AB3.899-0.151
predicted_AVG0.338-0.003
predicted_BB0.5960.025
predicted_H1.319-0.061
predicted_HBP0.024-
predicted_HR0.570-0.100
predicted_OBP0.433-0.002
predicted_R0.7710.063
predicted_RBI0.985-0.065
predicted_SLG0.815-0.040
predicted_SO1.0540.015
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1900.000
predicted_3B0.0210.000
predicted_AB3.8990.000
predicted_AVG0.336-0.002
predicted_BB0.5970.001
predicted_H1.310-0.008
predicted_HBP0.0240.000
predicted_HR0.565-0.005
predicted_OBP0.424-0.009
predicted_R0.764-0.007
predicted_RBI0.976-0.009
predicted_SLG0.8300.016
predicted_SO1.053-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.05), rates preserved: AVG=0.296 HR/AB=0.140

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

Sample-size BvP blend (BvP AB=16.0, weight=0.139, BvP AVG=0.062)

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.000-1.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.1500.150
3B0.0160.016
BB0.4590.459
H0.793-0.207
HR0.2770.277
RBI0.585-0.415
SO1.2460.246
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.150
3B0.000-0.016
AB4.0000.000
AVG0.211-
BB1.0000.541
H1.0000.207
HR1.0000.723
OBP0.302-
R1.0000.000
RBI1.0000.415
SLG0.480-
SO1.000-0.246
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.021
predicted_AB4.0000.101
predicted_AVG0.211-0.125
predicted_BB1.0000.403
predicted_H1.000-0.310
predicted_HR1.0000.435
predicted_OBP0.302-0.122
predicted_R1.0000.236
predicted_RBI1.0000.024
predicted_SLG0.480-0.350
predicted_SO1.000-0.053
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB5.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA5.0000.000
R0.0000.000
RBI0.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: 154
Reference playing time: 4.050
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-18.0009.0002.0000.0004.0008.0006.0004.0005.0000.50000.59091.27780.50000.22220.44440.22220.2778
last_100.2010-37.00014.0003.0000.0006.00010.00010.0007.00013.0000.37840.47730.94590.37840.16220.27030.18920.3513
season0.60154-575.000156.00024.0004.00044.000101.000109.00088.000160.0000.27130.37260.55650.27130.07650.17570.15300.2783
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2330
predicted_3B0.0150
predicted_AB3.7050
predicted_AVG0.3346
predicted_BB0.6280
predicted_H1.2400
predicted_HBP0.0240
predicted_HR0.4410
predicted_OBP0.4316
predicted_R0.8520
predicted_RBI0.9010
predicted_SLG0.7627
predicted_SO1.0740
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15600.23300.1897model_form_blend
predicted_3B0.02600.01500.0212model_form_blend
predicted_AB4.05003.70503.8991model_form_blend
predicted_AVG0.34100.33460.3382model_form_blend
predicted_BB0.57100.62800.5959model_form_blend
predicted_H1.38001.24001.3188model_form_blend
predicted_HBP-0.02400.0240form_only
predicted_HR0.67000.44100.5698model_form_blend
predicted_OBP0.43500.43160.4335model_form_blend
predicted_R0.70800.85200.7710model_form_blend
predicted_RBI1.05000.90100.9848model_form_blend
predicted_SLG0.85500.76270.8146model_form_blend
predicted_SO1.03901.07401.0543model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.667
Hitting_BB1
Hitting_GIDP0
Hitting_H2
Hitting_HBP0
Hitting_HR2
Hitting_IBB0
Hitting_R2
Hitting_RBI2
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB8
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
gameID20261005_NYY@TB
game_typefull
mlbID700250
playerID700250
playerNameBen Rice
posDH
startedTrue
startingPositionDH
teamNYY
teamID19
game_date2026-10-05
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 20261008: 151
All-history rows before 20261008: 151
System season_avg: 0.2770
Data season_avg (2026 season-to-date): 0.2961
Diff (system - data): -0.0191
System opponent_avg: 0.1110
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.1730.0000.000Hitting_2B0.1720.000-0.1720.000
predicted_3B0.0330.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB4.2104.0004.000Hitting_AB3.9144.0000.0860.000
predicted_AVG0.2370.0000.000Hitting_AVG0.2960.000-0.2960.000
predicted_BB0.1670.0000.000Hitting_BB0.2320.000-0.2320.000
predicted_CS-0.0000.000BaseRunning_CS0.0260.000-0.0260.000
predicted_H1.0000.0000.000Hitting_H1.1590.000-1.1590.000
predicted_HR0.2200.0000.000Hitting_HR0.2120.000-0.2120.000
predicted_OBP0.2830.0000.000Hitting_OBP0.3330.000-0.3330.000
predicted_R0.4670.0000.000Hitting_R0.5430.000-0.5430.000
predicted_RBI0.5900.0000.000Hitting_RBI0.4700.000-0.4700.000
predicted_SLG0.4530.0000.000Hitting_SLG0.5030.000-0.5030.000
predicted_SO0.6671.0001.000Hitting_SO0.8082.0000.192-1.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.6670 -> 1.0000 (boost 0.3330, worse)
Biggest Deboostpredicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend31212predicted_AVG: 0.2370 -> 0.2427 (boost 0.0057, better)predicted_AB: 4.2100 -> 3.8881 (deboost -0.3219, worse)Final model input calibrated 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.2851 -> 0.2736 (deboost -0.0115, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_SO: 0.6834 -> 1.0000 (boost 0.3166, worse)predicted_RBI: 0.5415 -> 0.0000 (deboost -0.5415, worse)AB rounded to 4 (raw=4.21), rates preserved: AVG=0.203 HR/AB=0.048
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.4524 -> 0.0000 (deboost -0.4524, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.6283 (boost 0.6283, better)predicted_H: 1.0000 -> 0.8845 (deboost -0.1155, 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_allocation96354predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_BB: 0.2002 -> 0.0000 (deboost -0.2002, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization40404-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "671277",
  "player_name": "Luis García Jr.",
  "position": "1B",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.173,
        "predicted_3B": 0.033,
        "predicted_AB": 4.21,
        "predicted_AVG": 0.237,
        "predicted_BB": 0.167,
        "predicted_H": 1.0,
        "predicted_HR": 0.22,
        "predicted_OBP": 0.283,
        "predicted_R": 0.467,
        "predicted_RBI": 0.59,
        "predicted_SLG": 0.453,
        "predicted_SO": 0.667
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1439,
        "predicted_3B": 0.0269,
        "predicted_AB": 3.8881,
        "predicted_AVG": 0.2427,
        "predicted_BB": 0.1748,
        "predicted_H": 0.9426,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2035,
        "predicted_OBP": 0.2851,
        "predicted_R": 0.4566,
        "predicted_RBI": 0.5465,
        "predicted_SLG": 0.4513,
        "predicted_SO": 0.6844
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.21,
          "after": 3.8881,
          "delta": -0.3219,
          "percent_delta": -0.0765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.2427,
          "delta": 0.0057,
          "percent_delta": 0.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.9426,
          "delta": -0.0574,
          "percent_delta": -0.0574,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AVG",
          "before": 0.237,
          "after": 0.2427,
          "delta": 0.0057,
          "percent_delta": 0.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.21,
          "after": 3.8881,
          "delta": -0.3219,
          "percent_delta": -0.0765,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 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.1439,
        "predicted_3B": 0.0269,
        "predicted_AB": 3.8881,
        "predicted_AVG": 0.2409,
        "predicted_BB": 0.175,
        "predicted_H": 0.9366,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.2018,
        "predicted_OBP": 0.2736,
        "predicted_R": 0.4524,
        "predicted_RBI": 0.5415,
        "predicted_SLG": 0.4475,
        "predicted_SO": 0.6834
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2851,
          "after": 0.2736,
          "delta": -0.0115,
          "percent_delta": -0.0403,
          "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_OBP",
          "before": 0.2851,
          "after": 0.2736,
          "delta": -0.0115,
          "percent_delta": -0.0403,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.21), rates preserved: AVG=0.203 HR/AB=0.048",
      "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.1439,
          "after": 0.0,
          "delta": -0.1439,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.8881,
          "after": 4.0,
          "delta": 0.1119,
          "percent_delta": 0.0288,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.175,
          "after": 0.0,
          "delta": -0.175,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9366,
          "after": 1.0,
          "delta": 0.0634,
          "percent_delta": 0.0677,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2018,
          "after": 0.0,
          "delta": -0.2018,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5415,
          "after": 0.0,
          "delta": -0.5415,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6834,
          "after": 1.0,
          "delta": 0.3166,
          "percent_delta": 0.4633,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.6834,
          "after": 1.0,
          "delta": 0.3166,
          "percent_delta": 0.4633,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.5415,
          "after": 0.0,
          "delta": -0.5415,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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
      }
    },
    {
      "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_R",
          "before": 0.4524,
          "after": 0.0,
          "delta": -0.4524,
          "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_R",
          "before": 0.4524,
          "after": 0.0,
          "delta": -0.4524,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.021,
        "predicted_BB": 0.2002,
        "predicted_H": 0.8845,
        "predicted_HR": 0.2326,
        "predicted_RBI": 0.6283,
        "predicted_SO": 0.9285
      },
      "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_BB",
          "before": 0.0,
          "after": 0.2002,
          "delta": 0.2002,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8845,
          "delta": -0.1155,
          "percent_delta": -0.1155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.2326,
          "delta": 0.2326,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.6283,
          "delta": 0.6283,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.9285,
          "delta": -0.0715,
          "percent_delta": -0.0715,
          "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.6283,
          "delta": 0.6283,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8845,
          "delta": -0.1155,
          "percent_delta": -0.1155,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.229,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.273,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.466,
        "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_AVG",
          "before": 0.2409,
          "after": 0.229,
          "delta": -0.0119,
          "percent_delta": -0.0494,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2002,
          "after": 0.0,
          "delta": -0.2002,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8845,
          "after": 1.0,
          "delta": 0.1155,
          "percent_delta": 0.1306,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.2326,
          "after": 1.0,
          "delta": 0.7674,
          "percent_delta": 3.2992,
          "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.6283,
          "after": 1.0,
          "delta": 0.3717,
          "percent_delta": 0.5916,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4475,
          "after": 0.466,
          "delta": 0.0185,
          "percent_delta": 0.0413,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9285,
          "after": 1.0,
          "delta": 0.0715,
          "percent_delta": 0.077,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 6,
        "deboosted_metrics": 3,
        "better_metrics": 5,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_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.2002,
          "after": 0.0,
          "delta": -0.2002,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.229,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_OBP": 0.273,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.466,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 4,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.229,
        "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.273,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.466,
        "predicted_SO": 1.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.173,
        "after": 0.0,
        "delta": -0.173,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.21,
        "after": 4.0,
        "delta": -0.21,
        "percent_delta": -0.0499,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.237,
        "after": 0.229,
        "delta": -0.008,
        "percent_delta": -0.0338,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.167,
        "after": 0.0,
        "delta": -0.167,
        "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.22,
        "after": 0.0,
        "delta": -0.22,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.283,
        "after": 0.273,
        "delta": -0.01,
        "percent_delta": -0.0353,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.467,
        "after": 0.0,
        "delta": -0.467,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.59,
        "after": 0.0,
        "delta": -0.59,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.453,
        "after": 0.466,
        "delta": 0.013,
        "percent_delta": 0.0287,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 1.0,
        "delta": 0.333,
        "percent_delta": 0.4993,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_SO",
        "before": 0.667,
        "after": 1.0,
        "delta": 0.333,
        "percent_delta": 0.4993,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.173-
predicted_3B0.033-
predicted_AB4.210-
predicted_AVG0.237-
predicted_BB0.167-
predicted_H1.000-
predicted_HR0.220-
predicted_OBP0.283-
predicted_R0.467-
predicted_RBI0.590-
predicted_SLG0.453-
predicted_SO0.667-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.144-0.029
predicted_3B0.027-0.006
predicted_AB3.888-0.322
predicted_AVG0.2430.006
predicted_BB0.1750.008
predicted_H0.943-0.057
predicted_HBP0.002-
predicted_HR0.203-0.017
predicted_OBP0.2850.002
predicted_R0.457-0.010
predicted_RBI0.546-0.043
predicted_SLG0.451-0.002
predicted_SO0.6840.017
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1440.000
predicted_3B0.0270.000
predicted_AB3.8880.000
predicted_AVG0.241-0.002
predicted_BB0.1750.000
predicted_H0.937-0.006
predicted_HBP0.0020.000
predicted_HR0.202-0.002
predicted_OBP0.274-0.012
predicted_R0.452-0.004
predicted_RBI0.541-0.005
predicted_SLG0.448-0.004
predicted_SO0.683-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.21), rates preserved: AVG=0.203 HR/AB=0.048

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

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HR0.0000.000
RBI0.0000.000
SO1.0000.000
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.1780.178
3B0.0210.021
BB0.2000.200
H0.884-0.116
HR0.2330.233
RBI0.6280.628
SO0.928-0.072
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.021
AB4.0000.000
AVG0.229-
BB0.000-0.200
H1.0000.116
HR1.0000.767
OBP0.273-
R1.0001.000
RBI1.0000.372
SLG0.466-
SO1.0000.072
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.027
predicted_AB4.0000.112
predicted_AVG0.229-0.012
predicted_BB0.000-0.175
predicted_H1.0000.063
predicted_HR1.0000.798
predicted_OBP0.273-0.001
predicted_R1.0000.548
predicted_RBI1.0000.459
predicted_SLG0.4660.019
predicted_SO1.0000.317
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.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: 4.210
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-16.0004.0000.0000.0001.0002.0002.0001.0003.0000.25000.29410.43750.25000.06250.12500.06250.1875
last_100.2010-35.0006.0000.0000.0001.0002.0004.0002.0009.0000.17140.21620.25710.17140.02860.05710.05710.2571
season0.60150-528.000146.00026.0005.00031.00093.00070.00025.000100.0000.27650.30810.52080.27650.05870.17610.04740.1894
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1060
predicted_3B0.0190
predicted_AB3.4700
predicted_AVG0.2501
predicted_BB0.1850
predicted_H0.8680
predicted_HBP0.0020
predicted_HR0.1820
predicted_OBP0.2879
predicted_R0.4430
predicted_RBI0.4900
predicted_SLG0.4491
predicted_SO0.7070
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17300.10600.1439model_form_blend
predicted_3B0.03300.01900.0269model_form_blend
predicted_AB4.21003.47003.8881model_form_blend
predicted_AVG0.23700.25010.2427model_form_blend
predicted_BB0.16700.18500.1748model_form_blend
predicted_H1.00000.86800.9426model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.22000.18200.2035model_form_blend
predicted_OBP0.28300.28790.2851model_form_blend
predicted_R0.46700.44300.4566model_form_blend
predicted_RBI0.59000.49000.5465model_form_blend
predicted_SLG0.45300.44910.4513model_form_blend
predicted_SO0.66700.70700.6844model_form_blend

Model Data Source Trace

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO2
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed1B
gameID20261005_NYY@TB
game_typefull
mlbID671277
playerID671277
playerNameLuis García Jr.
pos1B
startedTrue
startingPosition1B
teamNYY
teamID19
game_date2026-10-05
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
Cody Bellinger (641355) · BATTER · LF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 539
All-history rows before 20261008: 539
System season_avg: 0.2640
Data season_avg (2026 season-to-date): 0.2761
Diff (system - data): -0.0121
System opponent_avg: 0.2220

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1881.0001.000Hitting_2B0.2060.0000.7941.000
predicted_3B0.0230.0000.000Hitting_3B0.0260.000-0.0260.000
predicted_AB4.6504.0004.000Hitting_AB3.7904.0000.2100.000
predicted_AVG0.2280.2500.250Hitting_AVG0.2760.250-0.0260.000
predicted_BB0.4360.0000.000Hitting_BB0.4810.000-0.4810.000
predicted_CS-0.0000.000BaseRunning_CS0.0460.000-0.0460.000
predicted_H1.0601.0001.000Hitting_H1.0461.000-0.0460.000
predicted_HR0.1700.0000.000Hitting_HR0.1300.000-0.1300.000
predicted_OBP0.2770.2500.250Hitting_OBP0.3530.250-0.1030.000
predicted_R0.5560.0000.000Hitting_R0.5970.000-0.5970.000
predicted_RBI0.6300.0000.000Hitting_RBI0.5940.000-0.5940.000
predicted_SLG0.3770.5000.500Hitting_SLG0.4470.2500.0530.250
predicted_SO0.6470.0000.000Hitting_SO0.6220.000-0.6220.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics4
Worse Metrics7
Biggest Boostpredicted_2B: 0.1880 -> 1.0000 (boost 0.8120, better)
Biggest Deboostpredicted_AB: 4.6500 -> 4.0000 (deboost -0.6500, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51405predicted_SO: 0.6470 -> 0.6997 (boost 0.0527, worse)predicted_AB: 4.6500 -> 4.3253 (deboost -0.3247, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot11010predicted_OBP: 0.2764 -> 0.2878 (boost 0.0114, better)-Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling62415predicted_RBI: 0.6191 -> 1.0000 (boost 0.3809, better)predicted_BB: 0.3725 -> 0.0000 (deboost -0.3725, worse)AB rounded to 4 (raw=4.65), rates preserved: AVG=0.193 HR/AB=0.035
6bvp_blend00000--Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)
7consistency_constraints10101-predicted_R: 0.4945 -> 0.0000 (deboost -0.4945, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine63342predicted_BB: 0.0000 -> 0.3791 (boost 0.3791, better)predicted_RBI: 1.0000 -> 0.5084 (deboost -0.4916, 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_allocation97263predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_HR: 0.1450 -> 0.0000 (deboost -0.1450, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization40413-predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "641355",
  "player_name": "Cody Bellinger",
  "position": "LF",
  "team": "NYY",
  "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.023,
        "predicted_AB": 4.65,
        "predicted_AVG": 0.228,
        "predicted_BB": 0.436,
        "predicted_H": 1.06,
        "predicted_HR": 0.17,
        "predicted_OBP": 0.277,
        "predicted_R": 0.556,
        "predicted_RBI": 0.63,
        "predicted_SLG": 0.377,
        "predicted_SO": 0.647
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1584,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.3253,
        "predicted_AVG": 0.2279,
        "predicted_BB": 0.372,
        "predicted_H": 0.9856,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1652,
        "predicted_OBP": 0.2764,
        "predicted_R": 0.499,
        "predicted_RBI": 0.6248,
        "predicted_SLG": 0.3817,
        "predicted_SO": 0.6997
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.65,
          "after": 4.3253,
          "delta": -0.3247,
          "percent_delta": -0.0698,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.436,
          "after": 0.372,
          "delta": -0.064,
          "percent_delta": -0.1468,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.06,
          "after": 0.9856,
          "delta": -0.0744,
          "percent_delta": -0.0702,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.556,
          "after": 0.499,
          "delta": -0.057,
          "percent_delta": -0.1025,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.647,
          "after": 0.6997,
          "delta": 0.0527,
          "percent_delta": 0.0815,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.647,
          "after": 0.6997,
          "delta": 0.0527,
          "percent_delta": 0.0815,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.65,
          "after": 4.3253,
          "delta": -0.3247,
          "percent_delta": -0.0698,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 133
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1584,
        "predicted_3B": 0.0191,
        "predicted_AB": 4.3253,
        "predicted_AVG": 0.2264,
        "predicted_BB": 0.3725,
        "predicted_H": 0.9793,
        "predicted_HBP": 0.002,
        "predicted_HR": 0.1638,
        "predicted_OBP": 0.2878,
        "predicted_R": 0.4945,
        "predicted_RBI": 0.6191,
        "predicted_SLG": 0.3855,
        "predicted_SO": 0.6987
      },
      "changed_metrics": [
        {
          "metric": "predicted_OBP",
          "before": 0.2764,
          "after": 0.2878,
          "delta": 0.0114,
          "percent_delta": 0.0412,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_OBP",
          "before": 0.2764,
          "after": 0.2878,
          "delta": 0.0114,
          "percent_delta": 0.0412,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.65), rates preserved: AVG=0.193 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": 1.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1584,
          "after": 0.0,
          "delta": -0.1584,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 4.3253,
          "after": 4.0,
          "delta": -0.3253,
          "percent_delta": -0.0752,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3725,
          "after": 0.0,
          "delta": -0.3725,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1638,
          "after": 0.0,
          "delta": -0.1638,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.6191,
          "after": 1.0,
          "delta": 0.3809,
          "percent_delta": 0.6152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.6987,
          "after": 1.0,
          "delta": 0.3013,
          "percent_delta": 0.4312,
          "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.6191,
          "after": 1.0,
          "delta": 0.3809,
          "percent_delta": 0.6152,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 0.3725,
          "after": 0.0,
          "delta": -0.3725,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 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": {
        "model_expectation": 0.85,
        "bvp": 0.15
      }
    },
    {
      "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_R",
          "before": 0.4945,
          "after": 0.0,
          "delta": -0.4945,
          "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_R",
          "before": 0.4945,
          "after": 0.0,
          "delta": -0.4945,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.166,
        "predicted_3B": 0.0151,
        "predicted_BB": 0.3791,
        "predicted_H": 0.8608,
        "predicted_HR": 0.145,
        "predicted_RBI": 0.5084,
        "predicted_SO": 0.7756
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.166,
          "delta": 0.166,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3791,
          "delta": 0.3791,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8608,
          "delta": -0.1392,
          "percent_delta": -0.1392,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.145,
          "delta": 0.145,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5084,
          "delta": -0.4916,
          "percent_delta": -0.4916,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 0.7756,
          "delta": -0.2244,
          "percent_delta": -0.2244,
          "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.3791,
          "delta": 0.3791,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 1.0,
          "after": 0.5084,
          "delta": -0.4916,
          "percent_delta": -0.4916,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.221,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.384,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.166,
          "after": 1.0,
          "delta": 0.834,
          "percent_delta": 5.0241,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2264,
          "after": 0.221,
          "delta": -0.0054,
          "percent_delta": -0.0239,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3791,
          "after": 1.0,
          "delta": 0.6209,
          "percent_delta": 1.6378,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8608,
          "after": 1.0,
          "delta": 0.1392,
          "percent_delta": 0.1617,
          "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.2878,
          "after": 0.296,
          "delta": 0.0082,
          "percent_delta": 0.0285,
          "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.5084,
          "after": 1.0,
          "delta": 0.4916,
          "percent_delta": 0.967,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.7756,
          "after": 1.0,
          "delta": 0.2244,
          "percent_delta": 0.2893,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 7,
        "deboosted_metrics": 2,
        "better_metrics": 6,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_HR",
          "before": 0.145,
          "after": 0.0,
          "delta": -0.145,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.221,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.296,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.384,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 1.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_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 0.0
      },
      "changed_metrics": [
        {
          "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_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_SO",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 0,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.221,
        "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.296,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.384,
        "predicted_SO": 0.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.188,
        "after": 1.0,
        "delta": 0.812,
        "percent_delta": 4.3191,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.65,
        "after": 4.0,
        "delta": -0.65,
        "percent_delta": -0.1398,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.228,
        "after": 0.221,
        "delta": -0.007,
        "percent_delta": -0.0307,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.436,
        "after": 0.0,
        "delta": -0.436,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 1.06,
        "after": 1.0,
        "delta": -0.06,
        "percent_delta": -0.0566,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.17,
        "after": 0.0,
        "delta": -0.17,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.277,
        "after": 0.296,
        "delta": 0.019,
        "percent_delta": 0.0686,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.556,
        "after": 0.0,
        "delta": -0.556,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.63,
        "after": 0.0,
        "delta": -0.63,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.377,
        "after": 0.384,
        "delta": 0.007,
        "percent_delta": 0.0186,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.647,
        "after": 0.0,
        "delta": -0.647,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 4,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_2B",
        "before": 0.188,
        "after": 1.0,
        "delta": 0.812,
        "percent_delta": 4.3191,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.65,
        "after": 4.0,
        "delta": -0.65,
        "percent_delta": -0.1398,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.188-
predicted_3B0.023-
predicted_AB4.650-
predicted_AVG0.228-
predicted_BB0.436-
predicted_H1.060-
predicted_HR0.170-
predicted_OBP0.277-
predicted_R0.556-
predicted_RBI0.630-
predicted_SLG0.377-
predicted_SO0.647-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.158-0.030
predicted_3B0.019-0.004
predicted_AB4.325-0.325
predicted_AVG0.228-0.000
predicted_BB0.372-0.064
predicted_H0.986-0.074
predicted_HBP0.002-
predicted_HR0.165-0.005
predicted_OBP0.276-0.001
predicted_R0.499-0.057
predicted_RBI0.625-0.005
predicted_SLG0.3820.005
predicted_SO0.7000.053
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1580.000
predicted_3B0.0190.000
predicted_AB4.3250.000
predicted_AVG0.226-0.002
predicted_BB0.3720.001
predicted_H0.979-0.006
predicted_HBP0.0020.000
predicted_HR0.164-0.001
predicted_OBP0.2880.011
predicted_R0.494-0.005
predicted_RBI0.619-0.006
predicted_SLG0.3860.004
predicted_SO0.699-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.65), rates preserved: AVG=0.193 HR/AB=0.035

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=18.0, weight=0.150, BvP AVG=0.222)

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.1660.166
3B0.0150.015
BB0.3790.379
H0.861-0.139
HR0.1450.145
RBI0.508-0.492
SO0.776-0.224
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B1.0000.834
3B0.000-0.015
AB4.0000.000
AVG0.221-
BB1.0000.621
H1.0000.139
HR0.000-0.145
OBP0.296-
R1.0001.000
RBI1.0000.492
SLG0.384-
SO1.0000.224
10. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B1.0000.842
predicted_3B0.000-0.019
predicted_AB4.000-0.325
predicted_AVG0.221-0.005
predicted_BB1.0000.627
predicted_H1.0000.021
predicted_HR0.000-0.164
predicted_OBP0.2960.008
predicted_R1.0000.506
predicted_RBI1.0000.381
predicted_SLG0.384-0.002
predicted_SO1.0000.301
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.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: 133
Reference playing time: 4.650
WindowWeightGamesTotal PATotal ABTotal HTotal 2BTotal 3BTotal HRTotal RBITotal RTotal BBTotal SOAVGOBPSLGH_per_ABHR_per_ABRBI_per_ABBB_per_ABSO_per_AB
last_50.205-21.0004.0000.0000.0001.0004.0001.0000.0005.0000.19050.19050.33330.19050.04760.19050.00000.2381
last_100.2010-40.0006.0000.0000.0002.0006.0002.0001.0009.0000.15000.17070.30000.15000.05000.15000.02500.2250
season0.60133-503.000133.00025.0003.00018.00077.00074.00058.00086.0000.26440.33630.43340.26440.03580.15310.11530.1710
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1200
predicted_3B0.0140
predicted_AB3.9040
predicted_AVG0.2278
predicted_BB0.2890
predicted_H0.8890
predicted_HBP0.0020
predicted_HR0.1590
predicted_OBP0.2756
predicted_R0.4250
predicted_RBI0.6180
predicted_SLG0.3877
predicted_SO0.7680
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.18800.12000.1584model_form_blend
predicted_3B0.02300.01400.0191model_form_blend
predicted_AB4.65003.90404.3253model_form_blend
predicted_AVG0.22800.22780.2279model_form_blend
predicted_BB0.43600.28900.3720model_form_blend
predicted_H1.06000.88900.9856model_form_blend
predicted_HBP-0.00200.0020form_only
predicted_HR0.17000.15900.1652model_form_blend
predicted_OBP0.27700.27560.2764model_form_blend
predicted_R0.55600.42500.4990model_form_blend
predicted_RBI0.63000.61800.6248model_form_blend
predicted_SLG0.37700.38770.3817model_form_blend
predicted_SO0.64700.76800.6997model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.25
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder2
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedLF
gameID20261005_NYY@TB
game_typefull
mlbID641355
playerID641355
playerNameCody Bellinger
posLF
startedTrue
startingPositionLF
teamNYY
teamID19
game_date2026-10-05
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
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 20261008: 142
All-history rows before 20261008: 142
System season_avg: 0.2440
Data season_avg (2026 season-to-date): 0.2263
Diff (system - data): 0.0177
System opponent_avg: 0.2170
System season_avg diverges from 2026 season-to-date by 0.0177. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0890.0000.000Hitting_2B0.0920.000-0.0920.000
predicted_3B0.0220.0000.000Hitting_3B0.0280.000-0.0280.000
predicted_AB4.2003.0003.000Hitting_AB3.6414.000-0.641-1.000
predicted_AVG0.2340.3330.333Hitting_AVG0.2260.0000.1070.333
predicted_BB0.2221.0001.000Hitting_BB0.2460.0000.7541.000
predicted_CS-0.0000.000BaseRunning_CS0.0280.000-0.0280.000
predicted_H0.9801.0001.000Hitting_H0.8240.0000.1761.000
predicted_HR0.1600.0000.000Hitting_HR0.1060.000-0.1060.000
predicted_OBP0.2740.5000.500Hitting_OBP0.2770.0000.2230.500
predicted_R0.5781.0001.000Hitting_R0.5700.0000.4301.000
predicted_RBI0.4900.0000.000Hitting_RBI0.3940.000-0.3940.000
predicted_SLG0.3910.3330.333Hitting_SLG0.3540.000-0.0210.333
predicted_SO1.0221.0001.000Hitting_SO1.0351.000-0.0350.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics8
Boosted Metrics3
Deboosted Metrics5
Better Metrics3
Worse Metrics5
Biggest Boostpredicted_BB: 0.2220 -> 1.0000 (boost 0.7780, better)
Biggest Deboostpredicted_AB: 4.2000 -> 3.0000 (deboost -1.2000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend10101-predicted_AB: 4.2000 -> 4.0113 (deboost -0.1887, worse)Final model input calibrated 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.3933 -> 0.3834 (deboost -0.0099, 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.9482 -> 1.0000 (boost 0.0518, better)predicted_RBI: 0.4904 -> 0.0000 (deboost -0.4904, worse)AB rounded to 4 (raw=4.20), rates preserved: AVG=0.206 HR/AB=0.037
6consistency_constraints11010predicted_R: 0.5780 -> 1.0000 (boost 0.4220, better)-Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.5145 (boost 0.5145, better)predicted_H: 1.0000 -> 0.8208 (deboost -0.1792, 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_allocation83544predicted_RBI: 0.5145 -> 1.0000 (boost 0.4855, better)predicted_SO: 1.2752 -> 1.0000 (deboost -0.2752, better)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization31212predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "806146",
  "player_name": "George Lombard Jr.",
  "position": "SS",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.089,
        "predicted_3B": 0.022,
        "predicted_AB": 4.2,
        "predicted_AVG": 0.234,
        "predicted_BB": 0.222,
        "predicted_H": 0.98,
        "predicted_HR": 0.16,
        "predicted_OBP": 0.274,
        "predicted_R": 0.578,
        "predicted_RBI": 0.49,
        "predicted_SLG": 0.391,
        "predicted_SO": 1.022
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0886,
        "predicted_3B": 0.0187,
        "predicted_AB": 4.0113,
        "predicted_AVG": 0.2386,
        "predicted_BB": 0.1943,
        "predicted_H": 0.9543,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1559,
        "predicted_OBP": 0.2749,
        "predicted_R": 0.5833,
        "predicted_RBI": 0.4949,
        "predicted_SLG": 0.3933,
        "predicted_SO": 1.0363
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 4.2,
          "after": 4.0113,
          "delta": -0.1887,
          "percent_delta": -0.0449,
          "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_AB",
          "before": 4.2,
          "after": 4.0113,
          "delta": -0.1887,
          "percent_delta": -0.0449,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 45
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0886,
        "predicted_3B": 0.0187,
        "predicted_AB": 4.0113,
        "predicted_AVG": 0.2364,
        "predicted_BB": 0.1946,
        "predicted_H": 0.9482,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.1546,
        "predicted_OBP": 0.2717,
        "predicted_R": 0.578,
        "predicted_RBI": 0.4904,
        "predicted_SLG": 0.3834,
        "predicted_SO": 1.0348
      },
      "changed_metrics": [
        {
          "metric": "predicted_SLG",
          "before": 0.3933,
          "after": 0.3834,
          "delta": -0.0099,
          "percent_delta": -0.0252,
          "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_SLG",
          "before": 0.3933,
          "after": 0.3834,
          "delta": -0.0099,
          "percent_delta": -0.0252,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=4.20), rates preserved: AVG=0.206 HR/AB=0.037",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0886,
          "after": 0.0,
          "delta": -0.0886,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.1946,
          "after": 0.0,
          "delta": -0.1946,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.9482,
          "after": 1.0,
          "delta": 0.0518,
          "percent_delta": 0.0546,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1546,
          "after": 0.0,
          "delta": -0.1546,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4904,
          "after": 0.0,
          "delta": -0.4904,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.9482,
          "after": 1.0,
          "delta": 0.0518,
          "percent_delta": 0.0546,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4904,
          "after": 0.0,
          "delta": -0.4904,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_R",
          "before": 0.578,
          "after": 1.0,
          "delta": 0.422,
          "percent_delta": 0.7301,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_R",
          "before": 0.578,
          "after": 1.0,
          "delta": 0.422,
          "percent_delta": 0.7301,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "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.1521,
        "predicted_3B": 0.0144,
        "predicted_BB": 0.2384,
        "predicted_H": 0.8208,
        "predicted_HR": 0.1651,
        "predicted_RBI": 0.5145,
        "predicted_SO": 1.2752
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1521,
          "delta": 0.1521,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2384,
          "delta": 0.2384,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8208,
          "delta": -0.1792,
          "percent_delta": -0.1792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1651,
          "delta": 0.1651,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.5145,
          "delta": 0.5145,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.2752,
          "delta": 0.2752,
          "percent_delta": 0.2752,
          "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.5145,
          "delta": 0.5145,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.8208,
          "delta": -0.1792,
          "percent_delta": -0.1792,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.218,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.397,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1521,
          "after": 0.0,
          "delta": -0.1521,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2364,
          "after": 0.218,
          "delta": -0.0184,
          "percent_delta": -0.0778,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2384,
          "after": 0.0,
          "delta": -0.2384,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.8208,
          "after": 1.0,
          "delta": 0.1792,
          "percent_delta": 0.2183,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1651,
          "after": 0.0,
          "delta": -0.1651,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.5145,
          "after": 1.0,
          "delta": 0.4855,
          "percent_delta": 0.9436,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3834,
          "after": 0.397,
          "delta": 0.0136,
          "percent_delta": 0.0355,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.2752,
          "after": 1.0,
          "delta": -0.2752,
          "percent_delta": -0.2158,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 3,
        "deboosted_metrics": 5,
        "better_metrics": 4,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_RBI",
          "before": 0.5145,
          "after": 1.0,
          "delta": 0.4855,
          "percent_delta": 0.9436,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 1.2752,
          "after": 1.0,
          "delta": -0.2752,
          "percent_delta": -0.2158,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "embedded_savant_player_context",
      "description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.218,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SLG": 0.397,
        "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
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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_RBI",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 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
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.218,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.27,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.397,
        "predicted_SO": 1.0,
        "predicted_SS": 0.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.089,
        "after": 0.0,
        "delta": -0.089,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 4.2,
        "after": 3.0,
        "delta": -1.2,
        "percent_delta": -0.2857,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.234,
        "after": 0.218,
        "delta": -0.016,
        "percent_delta": -0.0684,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.222,
        "after": 1.0,
        "delta": 0.778,
        "percent_delta": 3.5045,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.16,
        "after": 0.0,
        "delta": -0.16,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.578,
        "after": 1.0,
        "delta": 0.422,
        "percent_delta": 0.7301,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.49,
        "after": 0.0,
        "delta": -0.49,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.391,
        "after": 0.397,
        "delta": 0.006,
        "percent_delta": 0.0153,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 8,
      "boosted_metrics": 3,
      "deboosted_metrics": 5,
      "better_metrics": 3,
      "worse_metrics": 5,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.222,
        "after": 1.0,
        "delta": 0.778,
        "percent_delta": 3.5045,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_AB",
        "before": 4.2,
        "after": 3.0,
        "delta": -1.2,
        "percent_delta": -0.2857,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.089-
predicted_3B0.022-
predicted_AB4.200-
predicted_AVG0.234-
predicted_BB0.222-
predicted_H0.980-
predicted_HR0.160-
predicted_OBP0.274-
predicted_R0.578-
predicted_RBI0.490-
predicted_SLG0.391-
predicted_SO1.022-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.089-0.000
predicted_3B0.019-0.003
predicted_AB4.011-0.189
predicted_AVG0.2390.005
predicted_BB0.194-0.028
predicted_H0.954-0.026
predicted_HBP0.016-
predicted_HR0.156-0.004
predicted_OBP0.2750.001
predicted_R0.5830.005
predicted_RBI0.4950.005
predicted_SLG0.3930.002
predicted_SO1.0360.014
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0890.000
predicted_3B0.0190.000
predicted_AB4.0110.000
predicted_AVG0.236-0.002
predicted_BB0.1950.000
predicted_H0.948-0.006
predicted_HBP0.0160.000
predicted_HR0.155-0.001
predicted_OBP0.272-0.003
predicted_R0.578-0.005
predicted_RBI0.490-0.005
predicted_SLG0.383-0.010
predicted_SO1.035-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.20), rates preserved: AVG=0.206 HR/AB=0.037

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB4.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
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.1520.152
3B0.0140.014
BB0.2380.238
H0.821-0.179
HR0.1650.165
RBI0.5140.514
SO1.2750.275
8. 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.014
AB4.0000.000
AVG0.218-
BB0.000-0.238
H1.0000.179
HR0.000-0.165
OBP0.270-
R1.0000.000
RBI1.0000.486
SLG0.397-
SO1.000-0.275
9. embedded_savant_player_context

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

MetricValueDelta vs Prev Step
predicted_2B0.000-0.089
predicted_3B0.000-0.019
predicted_AB4.000-0.011
predicted_AVG0.218-0.018
predicted_BB0.000-0.195
predicted_H1.0000.052
predicted_HR0.000-0.155
predicted_OBP0.270-0.002
predicted_R1.0000.422
predicted_RBI1.0000.510
predicted_SLG0.3970.014
predicted_SO1.000-0.035
10. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0000.000
RBI0.000-1.000
SF0.0000.000
SO1.0000.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 45
Reference playing time: 4.200
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.0003.0000.0006.0000.21050.21050.21050.21050.00000.05260.00000.3158
last_100.2010-39.00011.0001.0000.0003.0008.0007.0000.00012.0000.28210.28210.53850.28210.07690.20510.00000.3077
season0.6045-164.00040.0004.0001.0007.00023.00026.00010.00046.0000.24390.28810.40850.24390.04270.14020.06100.2805
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0880
predicted_3B0.0140
predicted_AB3.7370
predicted_AVG0.2453
predicted_BB0.1540
predicted_H0.9170
predicted_HBP0.0160
predicted_HR0.1500
predicted_OBP0.2763
predicted_R0.5910
predicted_RBI0.5020
predicted_SLG0.3967
predicted_SO1.0570
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.08900.08800.0886model_form_blend
predicted_3B0.02200.01400.0187model_form_blend
predicted_AB4.20003.73704.0113model_form_blend
predicted_AVG0.23400.24530.2386model_form_blend
predicted_BB0.22200.15400.1943model_form_blend
predicted_H0.98000.91700.9543model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.16000.15000.1559model_form_blend
predicted_OBP0.27400.27630.2749model_form_blend
predicted_R0.57800.59100.5833model_form_blend
predicted_RBI0.49000.50200.4949model_form_blend
predicted_SLG0.39100.39670.3933model_form_blend
predicted_SO1.02201.05701.0363model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR0
R1
RBI0
BB1
SO1
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_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
gameID20261005_NYY@TB
game_typefull
mlbID806146
playerID806146
playerNameGeorge Lombard Jr.
posSS
startedTrue
startingPositionSS
teamNYY
teamID19
game_date2026-10-05
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
Austin Wells (669224) · BATTER · C · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 378
All-history rows before 20261008: 378
System season_avg: 0.1940
Data season_avg (2026 season-to-date): 0.1933
Diff (system - data): 0.0007
System opponent_avg: 0.1390

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0731.0001.000Hitting_2B0.0691.0000.9310.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB2.8054.0004.000Hitting_AB3.0113.0000.9891.000
predicted_AVG0.2460.2500.250Hitting_AVG0.1930.3330.057-0.083
predicted_BB0.3820.0000.000Hitting_BB0.4370.000-0.4370.000
predicted_CS-0.0000.000BaseRunning_CS0.0000.0000.0000.000
predicted_H0.6601.0001.000Hitting_H0.5821.0000.4180.000
predicted_HR0.0900.0000.000Hitting_HR0.1270.000-0.1270.000
predicted_OBP0.3390.2500.250Hitting_OBP0.2990.333-0.049-0.083
predicted_R0.3331.0001.000Hitting_R0.3700.0000.6301.000
predicted_RBI0.4601.0001.000Hitting_RBI0.3100.0000.6901.000
predicted_SLG0.4100.5000.500Hitting_SLG0.3430.6670.157-0.167
predicted_SO0.8542.0002.000Hitting_SO0.9132.0001.0870.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics6
Deboosted Metrics5
Better Metrics5
Worse Metrics6
Biggest Boostpredicted_AB: 2.8050 -> 4.0000 (boost 1.1950, better)
Biggest Deboostpredicted_BB: 0.3820 -> 0.0000 (deboost -0.3820, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend22020predicted_SLG: 0.4100 -> 0.4213 (boost 0.0113, better)-Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot20202-predicted_SLG: 0.4213 -> 0.3894 (deboost -0.0319, worse)Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling73425predicted_H: 0.6920 -> 1.0000 (boost 0.3080, better)predicted_RBI: 0.4562 -> 0.0000 (deboost -0.4562, worse)AB rounded to 3 (raw=2.83), rates preserved: AVG=0.224 HR/AB=0.035
6bvp_blend00000--Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.125)
7consistency_constraints10101-predicted_R: 0.3785 -> 0.0000 (deboost -0.3785, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine54141predicted_RBI: 0.0000 -> 0.3380 (boost 0.3380, better)predicted_H: 1.0000 -> 0.5867 (deboost -0.4133, 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_allocation80808-predicted_H: 0.5867 -> 0.0000 (deboost -0.5867, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization66051predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "669224",
  "player_name": "Austin Wells",
  "position": "C",
  "team": "NYY",
  "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": 2.805,
        "predicted_AVG": 0.246,
        "predicted_BB": 0.382,
        "predicted_H": 0.66,
        "predicted_HR": 0.09,
        "predicted_OBP": 0.339,
        "predicted_R": 0.333,
        "predicted_RBI": 0.46,
        "predicted_SLG": 0.41,
        "predicted_SO": 0.854
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1129,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.826,
        "predicted_AVG": 0.2524,
        "predicted_BB": 0.4086,
        "predicted_H": 0.6965,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.099,
        "predicted_OBP": 0.3416,
        "predicted_R": 0.382,
        "predicted_RBI": 0.4604,
        "predicted_SLG": 0.4213,
        "predicted_SO": 0.839
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.246,
          "after": 0.2524,
          "delta": 0.0064,
          "percent_delta": 0.026,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.4213,
          "delta": 0.0113,
          "percent_delta": 0.0276,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 2,
        "deboosted_metrics": 0,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.41,
          "after": 0.4213,
          "delta": 0.0113,
          "percent_delta": 0.0276,
          "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": 123
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1129,
        "predicted_3B": 0.0004,
        "predicted_AB": 2.826,
        "predicted_AVG": 0.2449,
        "predicted_BB": 0.4092,
        "predicted_H": 0.692,
        "predicted_HBP": 0.016,
        "predicted_HR": 0.0982,
        "predicted_OBP": 0.3404,
        "predicted_R": 0.3785,
        "predicted_RBI": 0.4562,
        "predicted_SLG": 0.3894,
        "predicted_SO": 0.8378
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.2524,
          "after": 0.2449,
          "delta": -0.0075,
          "percent_delta": -0.0297,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.4213,
          "after": 0.3894,
          "delta": -0.0319,
          "percent_delta": -0.0757,
          "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_SLG",
          "before": 0.4213,
          "after": 0.3894,
          "delta": -0.0319,
          "percent_delta": -0.0757,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=2.83), rates preserved: AVG=0.224 HR/AB=0.035",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1129,
          "after": 0.0,
          "delta": -0.1129,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 2.826,
          "after": 3.0,
          "delta": 0.174,
          "percent_delta": 0.0616,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.4092,
          "after": 0.0,
          "delta": -0.4092,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.692,
          "after": 1.0,
          "delta": 0.308,
          "percent_delta": 0.4451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0982,
          "after": 0.0,
          "delta": -0.0982,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.4562,
          "after": 0.0,
          "delta": -0.4562,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8378,
          "after": 1.0,
          "delta": 0.1622,
          "percent_delta": 0.1936,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 7,
        "boosted_metrics": 3,
        "deboosted_metrics": 4,
        "better_metrics": 2,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.692,
          "after": 1.0,
          "delta": 0.308,
          "percent_delta": 0.4451,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4562,
          "after": 0.0,
          "delta": -0.4562,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": [],
      "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
      }
    },
    {
      "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_R",
          "before": 0.3785,
          "after": 0.0,
          "delta": -0.3785,
          "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_R",
          "before": 0.3785,
          "after": 0.0,
          "delta": -0.3785,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1161,
        "predicted_3B": 0.0074,
        "predicted_BB": 0.3331,
        "predicted_H": 0.5867,
        "predicted_HR": 0.1502,
        "predicted_RBI": 0.338,
        "predicted_SO": 1.0082
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1161,
          "delta": 0.1161,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3331,
          "delta": 0.3331,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.5867,
          "delta": -0.4133,
          "percent_delta": -0.4133,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1502,
          "delta": 0.1502,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.338,
          "delta": 0.338,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "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.338,
          "delta": 0.338,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.5867,
          "delta": -0.4133,
          "percent_delta": -0.4133,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.191,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.276,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1161,
          "after": 0.0,
          "delta": -0.1161,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2449,
          "after": 0.191,
          "delta": -0.0539,
          "percent_delta": -0.2201,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3331,
          "after": 0.0,
          "delta": -0.3331,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.5867,
          "after": 0.0,
          "delta": -0.5867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "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_OBP",
          "before": 0.3404,
          "after": 0.276,
          "delta": -0.0644,
          "percent_delta": -0.1892,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.338,
          "after": 0.0,
          "delta": -0.338,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3894,
          "after": 0.38,
          "delta": -0.0094,
          "percent_delta": -0.0241,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 0,
        "deboosted_metrics": 8,
        "better_metrics": 0,
        "worse_metrics": 8,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.5867,
          "after": 0.0,
          "delta": -0.5867,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.276,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.38,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 1.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_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_R",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 2.0,
          "delta": 1.0,
          "percent_delta": 1.0,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 6,
        "boosted_metrics": 6,
        "deboosted_metrics": 0,
        "better_metrics": 5,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 1.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.191,
        "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.276,
        "predicted_R": 1.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.38,
        "predicted_SO": 2.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.073,
        "after": 1.0,
        "delta": 0.927,
        "percent_delta": 12.6986,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 2.805,
        "after": 4.0,
        "delta": 1.195,
        "percent_delta": 0.426,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.246,
        "after": 0.191,
        "delta": -0.055,
        "percent_delta": -0.2236,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.382,
        "after": 0.0,
        "delta": -0.382,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.66,
        "after": 1.0,
        "delta": 0.34,
        "percent_delta": 0.5152,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.09,
        "after": 0.0,
        "delta": -0.09,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.339,
        "after": 0.276,
        "delta": -0.063,
        "percent_delta": -0.1858,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.333,
        "after": 1.0,
        "delta": 0.667,
        "percent_delta": 2.003,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.46,
        "after": 1.0,
        "delta": 0.54,
        "percent_delta": 1.1739,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.41,
        "after": 0.38,
        "delta": -0.03,
        "percent_delta": -0.0732,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.854,
        "after": 2.0,
        "delta": 1.146,
        "percent_delta": 1.3419,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 6,
      "deboosted_metrics": 5,
      "better_metrics": 5,
      "worse_metrics": 6,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 2.805,
        "after": 4.0,
        "delta": 1.195,
        "percent_delta": 0.426,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 0.382,
        "after": 0.0,
        "delta": -0.382,
        "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_AB2.805-
predicted_AVG0.246-
predicted_BB0.382-
predicted_H0.660-
predicted_HR0.090-
predicted_OBP0.339-
predicted_R0.333-
predicted_RBI0.460-
predicted_SLG0.410-
predicted_SO0.854-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1130.040
predicted_3B0.0000.000
predicted_AB2.8260.021
predicted_AVG0.2520.006
predicted_BB0.4090.027
predicted_H0.6970.036
predicted_HBP0.016-
predicted_HR0.0990.009
predicted_OBP0.3420.003
predicted_R0.3820.049
predicted_RBI0.4600.000
predicted_SLG0.4210.011
predicted_SO0.839-0.015
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1130.000
predicted_3B0.0000.000
predicted_AB2.8260.000
predicted_AVG0.245-0.008
predicted_BB0.4090.001
predicted_H0.692-0.005
predicted_HBP0.0160.000
predicted_HR0.098-0.001
predicted_OBP0.340-0.001
predicted_R0.379-0.004
predicted_RBI0.456-0.004
predicted_SLG0.389-0.032
predicted_SO0.838-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.83), rates preserved: AVG=0.224 HR/AB=0.035

MetricValueDelta vs Prev Step
2B0.000-
3B0.000-
AB3.000-
BB0.000-
H1.000-
HBP0.000-
HR0.000-
RBI0.000-
SB0.000-
SO1.000-
6. 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.1160.116
3B0.0070.007
BB0.3330.333
H0.587-0.413
HR0.1500.150
RBI0.3380.338
SO1.0080.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.116
3B0.000-0.007
AB3.0000.000
AVG0.191-
BB0.000-0.333
H0.000-0.587
HR0.000-0.150
OBP0.276-
R0.0000.000
RBI0.000-0.338
SLG0.380-
SO1.000-0.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.113
predicted_3B0.000-0.000
predicted_AB3.0000.174
predicted_AVG0.191-0.054
predicted_BB0.000-0.409
predicted_H0.000-0.692
predicted_HR0.000-0.098
predicted_OBP0.276-0.064
predicted_R0.000-0.379
predicted_RBI0.000-0.456
predicted_SLG0.380-0.009
predicted_SO1.0000.162
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B1.0001.000
3B0.0000.000
AB4.0001.000
BB0.0000.000
H1.0001.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R1.0001.000
RBI1.0001.000
SF0.0000.000
SO2.0001.000
12. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. simulation_box_score_reference

Attached simulation box score without overwriting model prediction

MetricValueDelta vs Prev Step
2B1.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R1.0000.000
RBI1.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 123
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.0002.0000.0000.0004.0003.0002.0004.0000.35710.38890.50000.35710.00000.28570.14290.2857
last_100.2010-27.00010.0002.0000.0002.0006.0006.0007.0007.0000.37040.47220.66670.37040.07410.22220.25930.2593
season0.60123-345.00067.0009.0000.00014.00036.00041.00047.000105.0000.19420.29320.34200.19420.04060.10430.13620.3044
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1660
predicted_3B0.0010
predicted_AB2.8540
predicted_AVG0.2610
predicted_BB0.4440
predicted_H0.7450
predicted_HBP0.0160
predicted_HR0.1110
predicted_OBP0.3451
predicted_R0.4470
predicted_RBI0.4610
predicted_SLG0.4363
predicted_SO0.8190
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.07300.16600.1129model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB2.80502.85402.8260model_form_blend
predicted_AVG0.24600.26100.2524model_form_blend
predicted_BB0.38200.44400.4086model_form_blend
predicted_H0.66000.74500.6965model_form_blend
predicted_HBP-0.01600.0160form_only
predicted_HR0.09000.11100.0990model_form_blend
predicted_OBP0.33900.34510.3416model_form_blend
predicted_R0.33300.44700.3820model_form_blend
predicted_RBI0.46000.46100.4604model_form_blend
predicted_SLG0.41000.43630.4213model_form_blend
predicted_SO0.85400.81900.8390model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E1
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B1
Hitting_3B0
Hitting_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_SO2
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
gameID20261005_NYY@TB
game_typefull
mlbID669224
playerID669224
playerNameAustin Wells
posC
startedTrue
startingPositionC
teamNYY
teamID19
game_date2026-10-05
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
Anthony Volpe (683011) · BATTER · 2B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 224
All-history rows before 20261008: 224
System season_avg: 0.2450
Data season_avg (2026 season-to-date): 0.2639
Diff (system - data): -0.0189
System opponent_avg: 0.0000
System season_avg diverges from 2026 season-to-date by -0.0189. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1760.0000.000Hitting_2B0.1960.000-0.1960.000
predicted_3B0.0150.0000.000Hitting_3B0.0180.000-0.0180.000
predicted_AB3.2353.0003.000Hitting_AB3.3663.000-0.3660.000
predicted_AVG0.2450.3330.333Hitting_AVG0.2640.3330.0690.000
predicted_BB0.3681.0001.000Hitting_BB0.4110.0000.5891.000
predicted_CS-0.0000.000BaseRunning_CS0.0620.000-0.0620.000
predicted_H0.7941.0001.000Hitting_H0.8881.0000.1120.000
predicted_HR0.0290.0000.000Hitting_HR0.0450.000-0.0450.000
predicted_OBP0.3220.5000.500Hitting_OBP0.3440.3330.1560.167
predicted_R0.3530.0000.000Hitting_R0.4330.000-0.4330.000
predicted_RBI0.3821.0001.000Hitting_RBI0.4820.0000.5181.000
predicted_SB-0.0000.000BaseRunning_SB0.1830.000-0.1830.000
predicted_SLG0.3360.3330.333Hitting_SLG0.3730.333-0.0390.000
predicted_SO0.8241.0001.000Hitting_SO0.8170.0000.1831.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics10
Boosted Metrics4
Deboosted Metrics6
Better Metrics3
Worse Metrics7
Biggest Boostpredicted_BB: 0.3680 -> 1.0000 (boost 0.6320, better)
Biggest Deboostpredicted_R: 0.3530 -> 0.0000 (deboost -0.3530, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend32112predicted_AB: 3.2350 -> 3.3153 (boost 0.0803, better)predicted_OBP: 0.3220 -> 0.3164 (deboost -0.0056, worse)Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
3team_form_snapshot00000--Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
4matchup_context00000--Step 3b: at-bat volume from the batting slot blended with the player's prior playing time, then the opposing starter's hit, walk and strikeout rates applied
5ab_floor_and_scaling63324predicted_AB: 3.3153 -> 4.0000 (boost 0.6847, better)predicted_RBI: 0.3860 -> 0.0000 (deboost -0.3860, worse)AB rounded to 4 (raw=3.32), rates preserved: AVG=0.224 HR/AB=0.009
6bvp_blend00000--Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.000)
7consistency_constraints10101-predicted_R: 0.3133 -> 0.0000 (deboost -0.3133, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4060 (boost 0.4060, better)predicted_H: 1.0000 -> 0.7101 (deboost -0.2899, 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_allocation91827predicted_H: 0.7101 -> 1.0000 (boost 0.2899, better)predicted_RBI: 0.4060 -> 0.0000 (deboost -0.4060, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization32121predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "683011",
  "player_name": "Anthony Volpe",
  "position": "2B",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.176,
        "predicted_3B": 0.015,
        "predicted_AB": 3.235,
        "predicted_AVG": 0.245,
        "predicted_BB": 0.368,
        "predicted_H": 0.794,
        "predicted_HR": 0.029,
        "predicted_OBP": 0.322,
        "predicted_R": 0.353,
        "predicted_RBI": 0.382,
        "predicted_SLG": 0.336,
        "predicted_SO": 0.824
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1869,
        "predicted_3B": 0.0129,
        "predicted_AB": 3.3153,
        "predicted_AVG": 0.2459,
        "predicted_BB": 0.3404,
        "predicted_H": 0.8162,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0294,
        "predicted_OBP": 0.3164,
        "predicted_R": 0.3162,
        "predicted_RBI": 0.3895,
        "predicted_SLG": 0.3367,
        "predicted_SO": 0.8817
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.235,
          "after": 3.3153,
          "delta": 0.0803,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3164,
          "delta": -0.0056,
          "percent_delta": -0.0174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.824,
          "after": 0.8817,
          "delta": 0.0577,
          "percent_delta": 0.07,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.235,
          "after": 3.3153,
          "delta": 0.0803,
          "percent_delta": 0.0248,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_OBP",
          "before": 0.322,
          "after": 0.3164,
          "delta": -0.0056,
          "percent_delta": -0.0174,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 68
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1869,
        "predicted_3B": 0.0129,
        "predicted_AB": 3.3153,
        "predicted_AVG": 0.2446,
        "predicted_BB": 0.3409,
        "predicted_H": 0.811,
        "predicted_HBP": 0.003,
        "predicted_HR": 0.0292,
        "predicted_OBP": 0.315,
        "predicted_R": 0.3133,
        "predicted_RBI": 0.386,
        "predicted_SLG": 0.3352,
        "predicted_SO": 0.8805
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.32), rates preserved: AVG=0.224 HR/AB=0.009",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1869,
          "after": 0.0,
          "delta": -0.1869,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.3153,
          "after": 4.0,
          "delta": 0.6847,
          "percent_delta": 0.2065,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3409,
          "after": 0.0,
          "delta": -0.3409,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.811,
          "after": 1.0,
          "delta": 0.189,
          "percent_delta": 0.233,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.386,
          "after": 0.0,
          "delta": -0.386,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.8805,
          "after": 1.0,
          "delta": 0.1195,
          "percent_delta": 0.1357,
          "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.3153,
          "after": 4.0,
          "delta": 0.6847,
          "percent_delta": 0.2065,
          "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
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.000)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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
      }
    },
    {
      "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_R",
          "before": 0.3133,
          "after": 0.0,
          "delta": -0.3133,
          "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_R",
          "before": 0.3133,
          "after": 0.0,
          "delta": -0.3133,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.147,
        "predicted_3B": 0.0118,
        "predicted_BB": 0.3113,
        "predicted_H": 0.7101,
        "predicted_HR": 0.0823,
        "predicted_RBI": 0.406,
        "predicted_SO": 1.183
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.147,
          "delta": 0.147,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.3113,
          "delta": 0.3113,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7101,
          "delta": -0.2899,
          "percent_delta": -0.2899,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.0823,
          "delta": 0.0823,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.406,
          "delta": 0.406,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.183,
          "delta": 0.183,
          "percent_delta": 0.183,
          "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.406,
          "delta": 0.406,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7101,
          "delta": -0.2899,
          "percent_delta": -0.2899,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.203,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.273,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.322,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.147,
          "after": 0.0,
          "delta": -0.147,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2446,
          "after": 0.203,
          "delta": -0.0416,
          "percent_delta": -0.1701,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.3113,
          "after": 0.0,
          "delta": -0.3113,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7101,
          "after": 1.0,
          "delta": 0.2899,
          "percent_delta": 0.4083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0823,
          "after": 0.0,
          "delta": -0.0823,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.315,
          "after": 0.273,
          "delta": -0.042,
          "percent_delta": -0.1333,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.406,
          "after": 0.0,
          "delta": -0.406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3352,
          "after": 0.322,
          "delta": -0.0132,
          "percent_delta": -0.0394,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.183,
          "after": 1.0,
          "delta": -0.183,
          "percent_delta": -0.1547,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 9,
        "boosted_metrics": 1,
        "deboosted_metrics": 8,
        "better_metrics": 2,
        "worse_metrics": 7,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.7101,
          "after": 1.0,
          "delta": 0.2899,
          "percent_delta": 0.4083,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.406,
          "after": 0.0,
          "delta": -0.406,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.203,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.273,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.322,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 1.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "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_RBI",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 2,
        "deboosted_metrics": 1,
        "better_metrics": 2,
        "worse_metrics": 1,
        "biggest_boost": {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_AB",
          "before": 4.0,
          "after": 3.0,
          "delta": -1.0,
          "percent_delta": -0.25,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "step": "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_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_AVG": 0.203,
        "predicted_BB": 1.0,
        "predicted_CS": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.273,
        "predicted_R": 0.0,
        "predicted_RBI": 1.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.322,
        "predicted_SO": 1.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.176,
        "after": 0.0,
        "delta": -0.176,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.235,
        "after": 3.0,
        "delta": -0.235,
        "percent_delta": -0.0726,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.245,
        "after": 0.203,
        "delta": -0.042,
        "percent_delta": -0.1714,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.368,
        "after": 1.0,
        "delta": 0.632,
        "percent_delta": 1.7174,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.794,
        "after": 1.0,
        "delta": 0.206,
        "percent_delta": 0.2594,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.322,
        "after": 0.273,
        "delta": -0.049,
        "percent_delta": -0.1522,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.353,
        "after": 0.0,
        "delta": -0.353,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.382,
        "after": 1.0,
        "delta": 0.618,
        "percent_delta": 1.6178,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.336,
        "after": 0.322,
        "delta": -0.014,
        "percent_delta": -0.0417,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.824,
        "after": 1.0,
        "delta": 0.176,
        "percent_delta": 0.2136,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 10,
      "boosted_metrics": 4,
      "deboosted_metrics": 6,
      "better_metrics": 3,
      "worse_metrics": 7,
      "biggest_boost": {
        "metric": "predicted_BB",
        "before": 0.368,
        "after": 1.0,
        "delta": 0.632,
        "percent_delta": 1.7174,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_R",
        "before": 0.353,
        "after": 0.0,
        "delta": -0.353,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.176-
predicted_3B0.015-
predicted_AB3.235-
predicted_AVG0.245-
predicted_BB0.368-
predicted_H0.794-
predicted_HR0.029-
predicted_OBP0.322-
predicted_R0.353-
predicted_RBI0.382-
predicted_SLG0.336-
predicted_SO0.824-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.1870.011
predicted_3B0.013-0.002
predicted_AB3.3150.080
predicted_AVG0.2460.001
predicted_BB0.340-0.028
predicted_H0.8160.022
predicted_HBP0.003-
predicted_HR0.0290.000
predicted_OBP0.316-0.006
predicted_R0.316-0.037
predicted_RBI0.3900.008
predicted_SLG0.3370.001
predicted_SO0.8820.058
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1870.000
predicted_3B0.0130.000
predicted_AB3.3150.000
predicted_AVG0.245-0.001
predicted_BB0.3410.001
predicted_H0.811-0.005
predicted_HBP0.0030.000
predicted_HR0.029-0.000
predicted_OBP0.315-0.001
predicted_R0.313-0.003
predicted_RBI0.386-0.004
predicted_SLG0.335-0.002
predicted_SO0.880-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.32), rates preserved: AVG=0.224 HR/AB=0.009

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1470.147
3B0.0120.012
BB0.3110.311
H0.710-0.290
HR0.0820.082
RBI0.4060.406
SO1.1830.183
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.012
AB4.0000.000
AVG0.203-
BB0.000-0.311
H1.0000.290
HR0.000-0.082
OBP0.273-
R0.0000.000
RBI0.000-0.406
SLG0.322-
SO1.000-0.183
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.187
predicted_3B0.000-0.013
predicted_AB4.0000.685
predicted_AVG0.203-0.042
predicted_BB0.000-0.341
predicted_H1.0000.189
predicted_HR0.000-0.029
predicted_OBP0.273-0.042
predicted_R0.000-0.313
predicted_RBI0.000-0.386
predicted_SLG0.322-0.013
predicted_SO1.0000.120
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB3.000-1.000
BB1.0001.000
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.0000.000
RBI1.0001.000
SF0.0000.000
SO1.0000.000
12. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. 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
H1.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI1.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 68
Reference playing time: 3.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.0004.0001.0000.0000.0002.0000.0001.0007.0000.23530.27780.29410.23530.00000.11770.05880.4118
last_100.2010-38.00010.0003.0000.0000.0004.0001.0002.00010.0000.26320.30000.34210.26320.00000.10530.05260.2632
season0.6068-220.00054.00012.0001.0002.00026.00024.00025.00056.0000.24550.32240.33640.24550.00910.11820.11360.2545
Weighted Prediction From Real Data
MetricValue
predicted_2B0.2020
predicted_3B0.0100
predicted_AB3.4270
predicted_AVG0.2471
predicted_BB0.3020
predicted_H0.8470
predicted_HBP0.0030
predicted_HR0.0300
predicted_OBP0.3086
predicted_R0.2650
predicted_RBI0.4000
predicted_SLG0.3376
predicted_SO0.9620
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.17600.20200.1869model_form_blend
predicted_3B0.01500.01000.0129model_form_blend
predicted_AB3.23503.42703.3153model_form_blend
predicted_AVG0.24500.24710.2459model_form_blend
predicted_BB0.36800.30200.3404model_form_blend
predicted_H0.79400.84700.8162model_form_blend
predicted_HBP-0.00300.0030form_only
predicted_HR0.02900.03000.0294model_form_blend
predicted_OBP0.32200.30860.3164model_form_blend
predicted_R0.35300.26500.3162model_form_blend
predicted_RBI0.38200.40000.3895model_form_blend
predicted_SLG0.33600.33760.3367model_form_blend
predicted_SO0.82400.96200.8817model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
PA4
AB3
H1
2B0
3B0
HR0
R0
RBI1
BB1
SO1
SF0
HBP0

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB3
Hitting_AVG0.333
Hitting_BB0
Hitting_GIDP0
Hitting_H1
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC1
Hitting_SF0
Hitting_SO0
Hitting_TB1
Hitting_battingOrder7
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed2B
gameID20260929_BOS@NYY
game_typefull
mlbID683011
playerID683011
playerNameAnthony Volpe
posSS
startedTrue
startingPosition2B
teamNYY
teamID19
game_date2026-09-29
sl_k_percent22.8
sl_bb_percent10.2
sl_woba0.297
sl_xwoba0.291
sl_xba0.232
sl_xslg0.334
sl_sweet_spot_percent33.3
sl_barrel_batted_rate4.9
sl_hard_hit_percent37.0
sl_exit_velocity_avg87.9
sl_launch_angle_avg12.6
sl_whiff_percent25.2
sl_swing_percent45.9
Spencer Jones (682987) · BATTER · RF · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 271
All-history rows before 20261008: 271
System season_avg: 0.2380
Data season_avg (2026 season-to-date): 0.2559
Diff (system - data): -0.0179
System opponent_avg: 0.1670
System season_avg diverges from 2026 season-to-date by -0.0179. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.1510.0000.000Hitting_2B0.1810.000-0.1810.000
predicted_3B0.0120.0000.000Hitting_3B0.0150.000-0.0150.000
predicted_AB3.1744.0004.000Hitting_AB3.2884.0000.7120.000
predicted_AVG0.2380.0000.000Hitting_AVG0.2560.000-0.2560.000
predicted_BB0.2910.0000.000Hitting_BB0.3510.000-0.3510.000
predicted_CS-0.0000.000BaseRunning_CS0.0440.000-0.0440.000
predicted_H0.7560.0000.000Hitting_H0.8410.000-0.8410.000
predicted_HR0.1280.0000.000Hitting_HR0.1370.000-0.1370.000
predicted_OBP0.3020.0000.000Hitting_OBP0.3290.000-0.3290.000
predicted_R0.4530.0000.000Hitting_R0.4720.000-0.4720.000
predicted_RBI0.4650.0000.000Hitting_RBI0.5420.000-0.5420.000
predicted_SLG0.4140.0000.000Hitting_SLG0.4440.000-0.4440.000
predicted_SO1.2912.0002.000Hitting_SO1.3361.0000.6641.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics2
Deboosted Metrics9
Better Metrics1
Worse Metrics10
Biggest Boostpredicted_AB: 3.1740 -> 4.0000 (boost 0.8260, better)
Biggest Deboostpredicted_H: 0.7560 -> 0.0000 (deboost -0.7560, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend41313predicted_AB: 3.1740 -> 3.2947 (boost 0.1207, better)predicted_SLG: 0.4140 -> 0.3844 (deboost -0.0296, worse)Final model input calibrated 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_scaling73425predicted_AB: 3.2947 -> 4.0000 (boost 0.7053, better)predicted_RBI: 0.4260 -> 0.0000 (deboost -0.4260, worse)AB rounded to 4 (raw=3.29), rates preserved: AVG=0.207 HR/AB=0.035
6consistency_constraints10101-predicted_R: 0.4934 -> 0.0000 (deboost -0.4934, worse)Enforced H<=AB, HR<=H, safety nets, derived R
7hitter_rate_engine64251predicted_RBI: 0.0000 -> 0.4894 (boost 0.4894, better)predicted_SO: 2.0000 -> 1.6077 (deboost -0.3923, 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_allocation104637predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_RBI: 0.4894 -> 0.0000 (deboost -0.4894, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
9embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
10play_by_play_realization20202-predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse)Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
11kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
12simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
13current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "682987",
  "player_name": "Spencer Jones",
  "position": "RF",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.151,
        "predicted_3B": 0.012,
        "predicted_AB": 3.174,
        "predicted_AVG": 0.238,
        "predicted_BB": 0.291,
        "predicted_H": 0.756,
        "predicted_HR": 0.128,
        "predicted_OBP": 0.302,
        "predicted_R": 0.453,
        "predicted_RBI": 0.465,
        "predicted_SLG": 0.414,
        "predicted_SO": 1.291
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.1383,
        "predicted_3B": 0.0103,
        "predicted_AB": 3.2947,
        "predicted_AVG": 0.2281,
        "predicted_BB": 0.2783,
        "predicted_H": 0.7501,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1174,
        "predicted_OBP": 0.2887,
        "predicted_R": 0.4979,
        "predicted_RBI": 0.4299,
        "predicted_SLG": 0.3844,
        "predicted_SO": 1.3372
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.174,
          "after": 3.2947,
          "delta": 0.1207,
          "percent_delta": 0.038,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.238,
          "after": 0.2281,
          "delta": -0.0099,
          "percent_delta": -0.0416,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.302,
          "after": 0.2887,
          "delta": -0.0133,
          "percent_delta": -0.044,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.414,
          "after": 0.3844,
          "delta": -0.0296,
          "percent_delta": -0.0715,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 4,
        "boosted_metrics": 1,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 3,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.174,
          "after": 3.2947,
          "delta": 0.1207,
          "percent_delta": 0.038,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SLG",
          "before": 0.414,
          "after": 0.3844,
          "delta": -0.0296,
          "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": 86
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.1383,
        "predicted_3B": 0.0103,
        "predicted_AB": 3.2947,
        "predicted_AVG": 0.2262,
        "predicted_BB": 0.2787,
        "predicted_H": 0.7453,
        "predicted_HBP": 0.01,
        "predicted_HR": 0.1164,
        "predicted_OBP": 0.2866,
        "predicted_R": 0.4934,
        "predicted_RBI": 0.426,
        "predicted_SLG": 0.3805,
        "predicted_SO": 1.3353
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 4 (raw=3.29), rates preserved: AVG=0.207 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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1383,
          "after": 0.0,
          "delta": -0.1383,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.2947,
          "after": 4.0,
          "delta": 0.7053,
          "percent_delta": 0.2141,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2787,
          "after": 0.0,
          "delta": -0.2787,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7453,
          "after": 1.0,
          "delta": 0.2547,
          "percent_delta": 0.3417,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1164,
          "after": 0.0,
          "delta": -0.1164,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.426,
          "after": 0.0,
          "delta": -0.426,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.3353,
          "after": 2.0,
          "delta": 0.6647,
          "percent_delta": 0.4978,
          "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.2947,
          "after": 4.0,
          "delta": 0.7053,
          "percent_delta": 0.2141,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.426,
          "after": 0.0,
          "delta": -0.426,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_R",
          "before": 0.4934,
          "after": 0.0,
          "delta": -0.4934,
          "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_R",
          "before": 0.4934,
          "after": 0.0,
          "delta": -0.4934,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1633,
        "predicted_3B": 0.0126,
        "predicted_BB": 0.2924,
        "predicted_H": 0.7605,
        "predicted_HR": 0.1561,
        "predicted_RBI": 0.4894,
        "predicted_SO": 1.6077
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1633,
          "delta": 0.1633,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2924,
          "delta": 0.2924,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.7605,
          "delta": -0.2395,
          "percent_delta": -0.2395,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1561,
          "delta": 0.1561,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.4894,
          "delta": 0.4894,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.6077,
          "delta": -0.3923,
          "percent_delta": -0.1962,
          "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.4894,
          "delta": 0.4894,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 2.0,
          "after": 1.6077,
          "delta": -0.3923,
          "percent_delta": -0.1962,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.215,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.402,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1633,
          "after": 0.0,
          "delta": -0.1633,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AVG",
          "before": 0.2262,
          "after": 0.215,
          "delta": -0.0112,
          "percent_delta": -0.0495,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2924,
          "after": 0.0,
          "delta": -0.2924,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.7605,
          "after": 1.0,
          "delta": 0.2395,
          "percent_delta": 0.3149,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1561,
          "after": 0.0,
          "delta": -0.1561,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2866,
          "after": 0.281,
          "delta": -0.0056,
          "percent_delta": -0.0195,
          "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.4894,
          "after": 0.0,
          "delta": -0.4894,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3805,
          "after": 0.402,
          "delta": 0.0215,
          "percent_delta": 0.0565,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.6077,
          "after": 2.0,
          "delta": 0.3923,
          "percent_delta": 0.244,
          "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.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.4894,
          "after": 0.0,
          "delta": -0.4894,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.215,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 1.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.402,
        "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
      }
    },
    {
      "index": 10,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 2.0
      },
      "changed_metrics": [
        {
          "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_R",
          "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_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 11,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 12,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 13,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.215,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.281,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_RF": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.402,
        "predicted_SO": 2.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.151,
        "after": 0.0,
        "delta": -0.151,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.174,
        "after": 4.0,
        "delta": 0.826,
        "percent_delta": 0.2602,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.238,
        "after": 0.215,
        "delta": -0.023,
        "percent_delta": -0.0966,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.291,
        "after": 0.0,
        "delta": -0.291,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.756,
        "after": 0.0,
        "delta": -0.756,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.128,
        "after": 0.0,
        "delta": -0.128,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.302,
        "after": 0.281,
        "delta": -0.021,
        "percent_delta": -0.0695,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.453,
        "after": 0.0,
        "delta": -0.453,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.465,
        "after": 0.0,
        "delta": -0.465,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.414,
        "after": 0.402,
        "delta": -0.012,
        "percent_delta": -0.029,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 1.291,
        "after": 2.0,
        "delta": 0.709,
        "percent_delta": 0.5492,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 2,
      "deboosted_metrics": 9,
      "better_metrics": 1,
      "worse_metrics": 10,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.174,
        "after": 4.0,
        "delta": 0.826,
        "percent_delta": 0.2602,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.756,
        "after": 0.0,
        "delta": -0.756,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.151-
predicted_3B0.012-
predicted_AB3.174-
predicted_AVG0.238-
predicted_BB0.291-
predicted_H0.756-
predicted_HR0.128-
predicted_OBP0.302-
predicted_R0.453-
predicted_RBI0.465-
predicted_SLG0.414-
predicted_SO1.291-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.138-0.013
predicted_3B0.010-0.002
predicted_AB3.2950.121
predicted_AVG0.228-0.010
predicted_BB0.278-0.013
predicted_H0.750-0.006
predicted_HBP0.010-
predicted_HR0.117-0.011
predicted_OBP0.289-0.013
predicted_R0.4980.045
predicted_RBI0.430-0.035
predicted_SLG0.384-0.030
predicted_SO1.3370.046
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.1380.000
predicted_3B0.0100.000
predicted_AB3.2950.000
predicted_AVG0.226-0.002
predicted_BB0.2790.000
predicted_H0.745-0.005
predicted_HBP0.0100.000
predicted_HR0.116-0.001
predicted_OBP0.287-0.002
predicted_R0.493-0.005
predicted_RBI0.426-0.004
predicted_SLG0.381-0.004
predicted_SO1.335-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.207 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-
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
R0.000-
RBI0.0000.000
SB0.0000.000
SF0.000-
SO2.0000.000
7. hitter_rate_engine

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

MetricValueDelta vs Prev Step
2B0.1630.163
3B0.0130.013
BB0.2920.292
H0.760-0.240
HR0.1560.156
RBI0.4890.489
SO1.608-0.392
8. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.163
3B0.000-0.013
AB4.0000.000
AVG0.215-
BB0.000-0.292
H1.0000.240
HR0.000-0.156
OBP0.281-
R1.0001.000
RBI0.000-0.489
SLG0.402-
SO2.0000.392
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.138
predicted_3B0.000-0.010
predicted_AB4.0000.705
predicted_AVG0.215-0.011
predicted_BB0.000-0.279
predicted_H1.0000.255
predicted_HR0.000-0.116
predicted_OBP0.281-0.006
predicted_R1.0000.507
predicted_RBI0.000-0.426
predicted_SLG0.4020.022
predicted_SO2.0000.665
10. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

MetricValueDelta vs Prev Step
2B0.0000.000
3B0.0000.000
AB4.0000.000
BB0.0000.000
H0.000-1.000
HBP0.0000.000
HR0.0000.000
PA4.000-
R0.000-1.000
RBI0.0000.000
SF0.0000.000
SO2.0000.000
11. kpi_run_environment

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
12. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO2.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 86
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.0003.0000.0000.0000.0001.0004.0001.0009.0000.15790.20000.15790.15790.00000.05260.05260.4737
last_100.2010-38.0007.0001.0000.0001.0002.0007.0002.00016.0000.18420.22500.28950.18420.02630.05260.05260.4210
season0.6086-273.00065.00013.0001.00011.00040.00039.00025.000111.0000.23810.30330.41390.23810.04030.14650.09160.4066
Weighted Prediction From Real Data
MetricValue
predicted_2B0.1210
predicted_3B0.0080
predicted_AB3.4590
predicted_AVG0.2146
predicted_BB0.2610
predicted_H0.7420
predicted_HBP0.0100
predicted_HR0.1030
predicted_OBP0.2705
predicted_R0.5590
predicted_RBI0.3820
predicted_SLG0.3441
predicted_SO1.4000
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.15100.12100.1383model_form_blend
predicted_3B0.01200.00800.0103model_form_blend
predicted_AB3.17403.45903.2947model_form_blend
predicted_AVG0.23800.21460.2281model_form_blend
predicted_BB0.29100.26100.2783model_form_blend
predicted_H0.75600.74200.7501model_form_blend
predicted_HBP-0.01000.0100form_only
predicted_HR0.12800.10300.1174model_form_blend
predicted_OBP0.30200.27050.2887model_form_blend
predicted_R0.45300.55900.4979model_form_blend
predicted_RBI0.46500.38200.4299model_form_blend
predicted_SLG0.41400.34410.3844model_form_blend
predicted_SO1.29101.40001.3372model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB4
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO1
Hitting_TB0
Hitting_battingOrder4
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayedRF
gameID20261005_NYY@TB
game_typefull
mlbID682987
playerID682987
playerNameSpencer Jones
posCF
startedTrue
startingPositionRF
teamNYY
teamID19
game_date2026-10-05
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
José Caballero (676609) · BATTER · 3B · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 449
All-history rows before 20261008: 449
System season_avg: 0.2300
Data season_avg (2026 season-to-date): 0.2460
Diff (system - data): -0.0160
System opponent_avg: 0.1920
System season_avg diverges from 2026 season-to-date by -0.0160. This usually means mixed-season window logic.

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_2B0.0970.0000.000Hitting_2B0.1140.000-0.1140.000
predicted_3B0.0000.0000.000Hitting_3B0.0000.0000.0000.000
predicted_AB3.2984.0004.000Hitting_AB3.3760.0000.6244.000
predicted_AVG0.2300.0000.000Hitting_AVG0.246--0.246-
predicted_BB0.2340.0000.000Hitting_BB0.2360.000-0.2360.000
predicted_CS-0.0000.000BaseRunning_CS0.0820.000-0.0820.000
predicted_H0.7580.0000.000Hitting_H0.8310.000-0.8310.000
predicted_HR0.1130.0000.000Hitting_HR0.1290.000-0.1290.000
predicted_OBP0.2810.0000.000Hitting_OBP0.302--0.302-
predicted_R0.3870.0000.000Hitting_R0.4390.000-0.4390.000
predicted_RBI0.4030.0000.000Hitting_RBI0.4630.000-0.4630.000
predicted_SLG0.3620.0000.000Hitting_SLG0.394--0.394-
predicted_SO0.8951.0001.000Hitting_SO0.8820.0000.1181.000

Boost/Deboost Impact Trace

Impact ItemValue
Fromxgboost_raw
Tocurrent_json_final
Dominant Effectworse
Changed Metrics11
Boosted Metrics3
Deboosted Metrics8
Better Metrics2
Worse Metrics9
Biggest Boostpredicted_AB: 3.2980 -> 4.0000 (boost 0.7020, better)
Biggest Deboostpredicted_H: 0.7580 -> 0.0000 (deboost -0.7580, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1xgboost_raw00000--Raw model output with missing event categories filled from season-profile fallback
2weighted_recent_form_blend51405predicted_SO: 0.8950 -> 0.9455 (boost 0.0505, worse)predicted_H: 0.7580 -> 0.7032 (deboost -0.0548, worse)Final model input calibrated 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_H: 0.6987 -> 1.0000 (boost 0.3013, better)predicted_RBI: 0.3596 -> 0.0000 (deboost -0.3596, worse)AB rounded to 3 (raw=3.30), rates preserved: AVG=0.194 HR/AB=0.031
6bvp_blend00000--Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)
7consistency_constraints10101-predicted_R: 0.3638 -> 0.0000 (deboost -0.3638, worse)Enforced H<=AB, HR<=H, safety nets, derived R
8hitter_rate_engine65142predicted_RBI: 0.0000 -> 0.4220 (boost 0.4220, better)predicted_H: 1.0000 -> 0.6874 (deboost -0.3126, 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_allocation81726predicted_SLG: 0.3304 -> 0.3670 (boost 0.0366, better)predicted_H: 0.6874 -> 0.0000 (deboost -0.6874, worse)Lineup-level largest-remainder allocation so team totals match the summed model expectation
10embedded_savant_player_context00000--Player Savant profile contributed to the team run-environment adjustment against the opposing starter
11play_by_play_realization11010predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better)-Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score
12kpi_run_environment00000--KPI blend withheld: values_fresh; lineup line unchanged
13simulation_box_score_reference00000--Attached simulation box score without overwriting model prediction
14current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "batter",
  "player_id": "676609",
  "player_name": "José Caballero",
  "position": "3B",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "xgboost_raw",
      "description": "Raw model output with missing event categories filled from season-profile fallback",
      "stats": {
        "predicted_2B": 0.097,
        "predicted_3B": 0.0,
        "predicted_AB": 3.298,
        "predicted_AVG": 0.23,
        "predicted_BB": 0.234,
        "predicted_H": 0.758,
        "predicted_HR": 0.113,
        "predicted_OBP": 0.281,
        "predicted_R": 0.387,
        "predicted_RBI": 0.403,
        "predicted_SLG": 0.362,
        "predicted_SO": 0.895
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 2,
      "step": "weighted_recent_form_blend",
      "description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
      "stats": {
        "predicted_2B": 0.0828,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.2958,
        "predicted_AVG": 0.2135,
        "predicted_BB": 0.2625,
        "predicted_H": 0.7032,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.1031,
        "predicted_OBP": 0.2738,
        "predicted_R": 0.3671,
        "predicted_RBI": 0.3629,
        "predicted_SLG": 0.3324,
        "predicted_SO": 0.9455
      },
      "changed_metrics": [
        {
          "metric": "predicted_AVG",
          "before": 0.23,
          "after": 0.2135,
          "delta": -0.0165,
          "percent_delta": -0.0717,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.758,
          "after": 0.7032,
          "delta": -0.0548,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.281,
          "after": 0.2738,
          "delta": -0.0072,
          "percent_delta": -0.0256,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.362,
          "after": 0.3324,
          "delta": -0.0296,
          "percent_delta": -0.0818,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.895,
          "after": 0.9455,
          "delta": 0.0505,
          "percent_delta": 0.0564,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 1,
        "deboosted_metrics": 4,
        "better_metrics": 0,
        "worse_metrics": 5,
        "biggest_boost": {
          "metric": "predicted_SO",
          "before": 0.895,
          "after": 0.9455,
          "delta": 0.0505,
          "percent_delta": 0.0564,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.758,
          "after": 0.7032,
          "delta": -0.0548,
          "percent_delta": -0.0723,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      },
      "weights": {
        "xgboost_raw": 0.55,
        "weighted_form": 0.45,
        "form_windows": {
          "last_5": 0.2,
          "last_10": 0.2,
          "season": 0.6
        }
      },
      "window_games": {
        "last_5": 5,
        "last_10": 10,
        "season": 124
      }
    },
    {
      "index": 3,
      "step": "team_form_snapshot",
      "description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
      "stats": {
        "predicted_2B": 0.0828,
        "predicted_3B": 0.0004,
        "predicted_AB": 3.2958,
        "predicted_AVG": 0.212,
        "predicted_BB": 0.2629,
        "predicted_H": 0.6987,
        "predicted_HBP": 0.029,
        "predicted_HR": 0.1023,
        "predicted_OBP": 0.2702,
        "predicted_R": 0.3638,
        "predicted_RBI": 0.3596,
        "predicted_SLG": 0.3304,
        "predicted_SO": 0.9442
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "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
      }
    },
    {
      "index": 5,
      "step": "ab_floor_and_scaling",
      "description": "AB rounded to 3 (raw=3.30), rates preserved: AVG=0.194 HR/AB=0.031",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0828,
          "after": 0.0,
          "delta": -0.0828,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_AB",
          "before": 3.2958,
          "after": 3.0,
          "delta": -0.2958,
          "percent_delta": -0.0898,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2629,
          "after": 0.0,
          "delta": -0.2629,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6987,
          "after": 1.0,
          "delta": 0.3013,
          "percent_delta": 0.4312,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1023,
          "after": 0.0,
          "delta": -0.1023,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.3596,
          "after": 0.0,
          "delta": -0.3596,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.9442,
          "after": 1.0,
          "delta": 0.0558,
          "percent_delta": 0.0591,
          "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.6987,
          "after": 1.0,
          "delta": 0.3013,
          "percent_delta": 0.4312,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_RBI",
          "before": 0.3596,
          "after": 0.0,
          "delta": -0.3596,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 6,
      "step": "bvp_blend",
      "description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 3.0,
        "predicted_BB": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "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
      }
    },
    {
      "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_R",
          "before": 0.3638,
          "after": 0.0,
          "delta": -0.3638,
          "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_R",
          "before": 0.3638,
          "after": 0.0,
          "delta": -0.3638,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.1213,
        "predicted_3B": 0.0075,
        "predicted_BB": 0.2081,
        "predicted_H": 0.6874,
        "predicted_HR": 0.1246,
        "predicted_RBI": 0.422,
        "predicted_SO": 1.093
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.0,
          "after": 0.1213,
          "delta": 0.1213,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.0,
          "after": 0.2081,
          "delta": 0.2081,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6874,
          "delta": -0.3126,
          "percent_delta": -0.3126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 0.1246,
          "delta": 0.1246,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.0,
          "after": 0.422,
          "delta": 0.422,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.0,
          "after": 1.093,
          "delta": 0.093,
          "percent_delta": 0.093,
          "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.422,
          "delta": 0.422,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.6874,
          "delta": -0.3126,
          "percent_delta": -0.3126,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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_AVG": 0.21,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.264,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.367,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_2B",
          "before": 0.1213,
          "after": 0.0,
          "delta": -0.1213,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_BB",
          "before": 0.2081,
          "after": 0.0,
          "delta": -0.2081,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.6874,
          "after": 0.0,
          "delta": -0.6874,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.1246,
          "after": 0.0,
          "delta": -0.1246,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_OBP",
          "before": 0.2702,
          "after": 0.264,
          "delta": -0.0062,
          "percent_delta": -0.0229,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_RBI",
          "before": 0.422,
          "after": 0.0,
          "delta": -0.422,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SLG",
          "before": 0.3304,
          "after": 0.367,
          "delta": 0.0366,
          "percent_delta": 0.1108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 1.093,
          "after": 1.0,
          "delta": -0.093,
          "percent_delta": -0.0851,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 8,
        "boosted_metrics": 1,
        "deboosted_metrics": 7,
        "better_metrics": 2,
        "worse_metrics": 6,
        "biggest_boost": {
          "metric": "predicted_SLG",
          "before": 0.3304,
          "after": 0.367,
          "delta": 0.0366,
          "percent_delta": 0.1108,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 0.6874,
          "after": 0.0,
          "delta": -0.6874,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "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.21,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.264,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SLG": 0.367,
        "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
      }
    },
    {
      "index": 11,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_BB": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 1,
        "boosted_metrics": 1,
        "deboosted_metrics": 0,
        "better_metrics": 1,
        "worse_metrics": 0,
        "biggest_boost": {
          "metric": "predicted_AB",
          "before": 3.0,
          "after": 4.0,
          "delta": 1.0,
          "percent_delta": 0.3333,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        "biggest_deboost": null
      }
    },
    {
      "index": 12,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; lineup line unchanged",
      "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
      }
    },
    {
      "index": 13,
      "step": "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_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SF": 0.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
      },
      "reference_only": true
    },
    {
      "index": 14,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_2B": 0.0,
        "predicted_3B": 0.0,
        "predicted_AB": 4.0,
        "predicted_AVG": 0.21,
        "predicted_BB": 0.0,
        "predicted_CS": 0.0,
        "predicted_H": 0.0,
        "predicted_HBP": 0.0,
        "predicted_HR": 0.0,
        "predicted_OBP": 0.264,
        "predicted_R": 0.0,
        "predicted_RBI": 0.0,
        "predicted_SB": 0.0,
        "predicted_SF": 0.0,
        "predicted_SLG": 0.367,
        "predicted_SO": 1.0,
        "predicted_TB": 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
      }
    }
  ],
  "total_change": {
    "from_step": "xgboost_raw",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_2B",
        "before": 0.097,
        "after": 0.0,
        "delta": -0.097,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_AB",
        "before": 3.298,
        "after": 4.0,
        "delta": 0.702,
        "percent_delta": 0.2129,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_AVG",
        "before": 0.23,
        "after": 0.21,
        "delta": -0.02,
        "percent_delta": -0.087,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_BB",
        "before": 0.234,
        "after": 0.0,
        "delta": -0.234,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.758,
        "after": 0.0,
        "delta": -0.758,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.113,
        "after": 0.0,
        "delta": -0.113,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_OBP",
        "before": 0.281,
        "after": 0.264,
        "delta": -0.017,
        "percent_delta": -0.0605,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_R",
        "before": 0.387,
        "after": 0.0,
        "delta": -0.387,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_RBI",
        "before": 0.403,
        "after": 0.0,
        "delta": -0.403,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SLG",
        "before": 0.362,
        "after": 0.367,
        "delta": 0.005,
        "percent_delta": 0.0138,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.895,
        "after": 1.0,
        "delta": 0.105,
        "percent_delta": 0.1173,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 11,
      "boosted_metrics": 3,
      "deboosted_metrics": 8,
      "better_metrics": 2,
      "worse_metrics": 9,
      "biggest_boost": {
        "metric": "predicted_AB",
        "before": 3.298,
        "after": 4.0,
        "delta": 0.702,
        "percent_delta": 0.2129,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 0.758,
        "after": 0.0,
        "delta": -0.758,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. xgboost_raw

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

MetricValueDelta vs Prev Step
predicted_2B0.097-
predicted_3B0.000-
predicted_AB3.298-
predicted_AVG0.230-
predicted_BB0.234-
predicted_H0.758-
predicted_HR0.113-
predicted_OBP0.281-
predicted_R0.387-
predicted_RBI0.403-
predicted_SLG0.362-
predicted_SO0.895-
2. weighted_recent_form_blend

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

MetricValueDelta vs Prev Step
predicted_2B0.083-0.014
predicted_3B0.0000.000
predicted_AB3.296-0.002
predicted_AVG0.213-0.017
predicted_BB0.2630.028
predicted_H0.703-0.055
predicted_HBP0.029-
predicted_HR0.103-0.010
predicted_OBP0.274-0.007
predicted_R0.367-0.020
predicted_RBI0.363-0.040
predicted_SLG0.332-0.030
predicted_SO0.9460.050
3. team_form_snapshot

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

MetricValueDelta vs Prev Step
predicted_2B0.0830.000
predicted_3B0.0000.000
predicted_AB3.2960.000
predicted_AVG0.212-0.002
predicted_BB0.2630.000
predicted_H0.699-0.005
predicted_HBP0.0290.000
predicted_HR0.102-0.001
predicted_OBP0.270-0.004
predicted_R0.364-0.003
predicted_RBI0.360-0.003
predicted_SLG0.330-0.002
predicted_SO0.944-0.001
4. matchup_context

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

MetricValueDelta vs Prev Step
5. ab_floor_and_scaling

AB rounded to 3 (raw=3.30), rates preserved: AVG=0.194 HR/AB=0.031

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

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

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

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

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

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

MetricValueDelta vs Prev Step
2B0.1210.121
3B0.0070.007
BB0.2080.208
H0.687-0.313
HR0.1250.125
RBI0.4220.422
SO1.0930.093
9. lineup_integer_allocation

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

MetricValueDelta vs Prev Step
2B0.000-0.121
3B0.000-0.007
AB3.0000.000
AVG0.210-
BB0.000-0.208
H0.000-0.687
HR0.000-0.125
OBP0.264-
R0.0000.000
RBI0.000-0.422
SLG0.367-
SO1.000-0.093
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.083
predicted_3B0.000-0.000
predicted_AB3.000-0.296
predicted_AVG0.210-0.002
predicted_BB0.000-0.263
predicted_H0.000-0.699
predicted_HR0.000-0.102
predicted_OBP0.264-0.006
predicted_R0.000-0.364
predicted_RBI0.000-0.360
predicted_SLG0.3670.037
predicted_SO1.0000.056
11. play_by_play_realization

Integer line taken from the one realized game whose plays produce the published score; identical to the play by play and the box score

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

KPI blend withheld: values_fresh; lineup line unchanged

MetricValueDelta vs Prev Step
13. 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
H0.0000.000
HBP0.0000.000
HR0.0000.000
PA4.0000.000
R0.0000.000
RBI0.0000.000
SF0.0000.000
SO1.0000.000

Weighted Real-Data Form Profile

Blend weights: last 5=0.20, last 10=0.20, season=0.60
Rows used: 124
Reference playing time: 3.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.0000.0001.0002.0007.0000.06250.16670.06250.06250.00000.00000.12500.4375
last_100.2010-32.0006.0000.0000.0001.0003.0003.0004.00010.0000.18750.27780.28120.18750.03120.09380.12500.3125
season0.60124-409.00094.00012.0000.00014.00050.00048.00029.000111.0000.22980.28790.36190.22980.03420.12220.07090.2714
Weighted Prediction From Real Data
MetricValue
predicted_2B0.0640
predicted_3B0.0010
predicted_AB3.2930
predicted_AVG0.1917
predicted_BB0.3000
predicted_H0.6310
predicted_HBP0.0290
predicted_HR0.0900
predicted_OBP0.2644
predicted_R0.3410
predicted_RBI0.3100
predicted_SLG0.2935
predicted_SO1.0120
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_2B0.09700.06400.0828model_form_blend
predicted_3B0.00000.00100.0004model_form_blend
predicted_AB3.29803.29303.2958model_form_blend
predicted_AVG0.23000.19170.2135model_form_blend
predicted_BB0.23400.30000.2625model_form_blend
predicted_H0.75800.63100.7032model_form_blend
predicted_HBP-0.02900.0290form_only
predicted_HR0.11300.09000.1031model_form_blend
predicted_OBP0.28100.26440.2738model_form_blend
predicted_R0.38700.34100.3671model_form_blend
predicted_RBI0.40300.31000.3629model_form_blend
predicted_SLG0.36200.29350.3324model_form_blend
predicted_SO0.89501.01200.9455model_form_blend

Model Data Source Trace

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

Simulation Box Score (from JSON)

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

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder3
Hitting_substitutionOrder1
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced0
Pitching_ER0
Pitching_ERA0
Pitching_Flyouts0
Pitching_Groundouts0
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched0.0
Pitching_Pitches0
Pitching_R0
Pitching_SO0
Pitching_Strikes0
Pitching_Wild Pitch0
Pitching_pitchingOrder0
allPositionsPlayed3B
gameID20261005_NYY@TB
game_typeshort
mlbID676609
playerID676609
playerNameJosé Caballero
posSS
startedFalse
startingPosition3B
teamNYY
teamID19
game_date2026-10-05
sl_k_percent24.3
sl_bb_percent6.4
sl_woba0.29
sl_xwoba0.278
sl_xba0.227
sl_xslg0.333
sl_sweet_spot_percent31.7
sl_barrel_batted_rate4.2
sl_hard_hit_percent25.6
sl_exit_velocity_avg83.8
sl_launch_angle_avg13.9
sl_whiff_percent27.9
sl_swing_percent51.1
Carlos Rodón (607074) · PITCHER · Starter · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 16
All-history rows before 20261008: 16

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB1.0001.0001.000Pitching_BB2.3750.000-1.3751.000
predicted_ER2.0002.0002.000Pitching_ER1.5620.0000.4382.000
predicted_H5.0005.0005.000Pitching_H3.1883.0001.8122.000
predicted_IP5.1005.1005.100Pitching_InningsPitched5.1698.000-0.069-2.900
predicted_SO4.0004.0004.000Pitching_SO5.6888.000-1.688-4.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics5
Boosted Metrics2
Deboosted Metrics3
Better Metrics1
Worse Metrics4
Biggest Boostpredicted_H: 4.0000 -> 5.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_SO: 7.0000 -> 4.0000 (deboost -3.0000, worse)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7pitcher_quality_guardrail00000--Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
8play_by_play_realization52314predicted_H: 4.0000 -> 5.0000 (boost 1.0000, worse)predicted_SO: 7.0000 -> 4.0000 (deboost -3.0000, worse)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
9current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "607074",
  "player_name": "Carlos Rodón",
  "position": "Starter",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "pitcher_quality_guardrail",
      "description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
      "stats": {
        "predicted_BB": 2.0,
        "predicted_ER": 2.0,
        "predicted_H": 4.0,
        "predicted_HR": 0.0,
        "predicted_IP": 6.0,
        "predicted_SO": 7.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 8,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.1,
        "predicted_R": 3.0,
        "predicted_SO": 4.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 2.0,
          "after": 1.0,
          "delta": -1.0,
          "percent_delta": -0.5,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_HR",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 6.0,
          "after": 5.1,
          "delta": -0.9,
          "percent_delta": -0.15,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 5,
        "boosted_metrics": 2,
        "deboosted_metrics": 3,
        "better_metrics": 1,
        "worse_metrics": 4,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 4.0,
          "after": 5.0,
          "delta": 1.0,
          "percent_delta": 0.25,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_SO",
          "before": 7.0,
          "after": 4.0,
          "delta": -3.0,
          "percent_delta": -0.4286,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      }
    },
    {
      "index": 9,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 2.0,
        "predicted_H": 5.0,
        "predicted_HR": 1.0,
        "predicted_IP": 5.1,
        "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
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 2.0,
        "after": 1.0,
        "delta": -1.0,
        "percent_delta": -0.5,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_HR",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 6.0,
        "after": 5.1,
        "delta": -0.9,
        "percent_delta": -0.15,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 4.0,
        "delta": -3.0,
        "percent_delta": -0.4286,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 5,
      "boosted_metrics": 2,
      "deboosted_metrics": 3,
      "better_metrics": 1,
      "worse_metrics": 4,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 4.0,
        "after": 5.0,
        "delta": 1.0,
        "percent_delta": 0.25,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_SO",
        "before": 7.0,
        "after": 4.0,
        "delta": -3.0,
        "percent_delta": -0.4286,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB2.000-
predicted_ER2.000-
predicted_H4.000-
predicted_HR0.000-
predicted_IP6.000-
predicted_SO7.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. pitcher_quality_guardrail

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

MetricValueDelta vs Prev Step
predicted_BB2.0000.000
predicted_ER2.0000.000
predicted_H4.0000.000
predicted_HR0.0000.000
predicted_IP6.0000.000
predicted_SO7.0000.000
8. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB1.000-
BF23.000-
ER2.000-
H5.000-
HR1.000-
IP5.100-
Pitches87.000-
R3.000-
SO4.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 16
Reference playing time: 6.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45530.0006.00015.0008.00033.0003.0001.80000.76670.20000.50000.26671.10000.1000
last_100.351053.10014.00033.00019.00057.0005.0002.36250.97500.26250.61880.35631.06880.0938
season0.201684.10025.00051.00038.00091.0007.0002.66801.05530.29640.60470.45061.07910.0830
Weighted Prediction From Real Data
MetricValue
predicted_BB1.9770
predicted_ER1.7510
predicted_ERA2.7548
predicted_H3.7940
predicted_HR0.6130
predicted_IP5.2000
predicted_SO6.0010
predicted_WHIP1.0088
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB2.00001.97701.9874model_form_blend
predicted_ER2.00001.75101.8632model_form_blend
predicted_ERA-2.75482.7548form_only
predicted_H4.00003.79403.8868model_form_blend
predicted_HR0.00000.61300.3368model_form_blend
predicted_IP6.00005.20005.2000model_form_blend
predicted_SO7.00006.00106.4511model_form_blend
predicted_WHIP-1.00881.0088form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP5.1
H5
R3
ER2
BB1
SO4
HR1
BF23
Pitches87

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced25
Pitching_ER0
Pitching_ERA2.67
Pitching_Flyouts4
Pitching_Groundouts7
Pitching_H3
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners0
Pitching_Inherited Runners Scored0
Pitching_InningsPitched8.0
Pitching_Pitches96
Pitching_R0
Pitching_SO8
Pitching_Strikes65
Pitching_Wild Pitch0
Pitching_decisionW
Pitching_pitchingOrder1
allPositionsPlayedP
gameID20260922_TB@NYY
game_typefull
mlbID607074
playerID607074
playerNameCarlos Rodón
posP
startedTrue
startingPositionP
teamNYY
teamID19
game_date2026-09-22
sl_k_percent26.8
sl_bb_percent11.2
sl_woba0.254
sl_xwoba0.304
sl_sweet_spot_percent38.3
sl_barrel_batted_rate6.8
sl_hard_hit_percent38.3
sl_whiff_percent30.0
sl_swing_percent48.0
sl_avg_best_speed80.209887087
sl_avg_hyper_speed94.09593561
Ryan Weathers (677960) · PITCHER · Middle Reliever · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 27
All-history rows before 20261008: 27

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB1.4441.000-1.444-1.000
predicted_ER1.0001.0001.000Pitching_ER2.0370.000-1.0371.000
predicted_H1.0001.0001.000Pitching_H4.8150.000-3.8151.000
predicted_IP1.0001.0001.000Pitching_InningsPitched4.9410.200-3.9410.800
predicted_SO1.0001.0001.000Pitching_SO5.2960.000-4.2961.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics2
Boosted Metrics0
Deboosted Metrics2
Better Metrics2
Worse Metrics0
Biggest Boost-
Biggest Deboostpredicted_H: 3.0000 -> 1.0000 (deboost -2.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization20220-predicted_H: 3.0000 -> 1.0000 (deboost -2.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "677960",
  "player_name": "Ryan Weathers",
  "position": "Middle Reliever",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 2.0,
        "predicted_H": 3.0,
        "predicted_HR": 1.0,
        "predicted_IP": 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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_R": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_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": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 2,
        "boosted_metrics": 0,
        "deboosted_metrics": 2,
        "better_metrics": 2,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": {
          "metric": "predicted_H",
          "before": 3.0,
          "after": 1.0,
          "delta": -2.0,
          "percent_delta": -0.6667,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 1.0,
        "predicted_H": 1.0,
        "predicted_HR": 1.0,
        "predicted_IP": 1.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "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": 1.0,
        "delta": -2.0,
        "percent_delta": -0.6667,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 2,
      "boosted_metrics": 0,
      "deboosted_metrics": 2,
      "better_metrics": 2,
      "worse_metrics": 0,
      "biggest_boost": null,
      "biggest_deboost": {
        "metric": "predicted_H",
        "before": 3.0,
        "after": 1.0,
        "delta": -2.0,
        "percent_delta": -0.6667,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER2.000-
predicted_H3.000-
predicted_HR1.000-
predicted_IP1.000-
predicted_SO1.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF4.000-
ER1.000-
H1.000-
HR1.000-
IP1.000-
Pitches18.000-
R1.000-
SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 27
Reference playing time: 1.000
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.45518.0004.00016.0005.00011.0001.0002.00001.16670.22220.88890.27780.61110.0556
last_100.351046.20011.00042.00012.00039.0002.0002.12141.15710.23570.90000.25710.83570.0429
season0.2027139.00055.000130.00039.000143.00018.0003.56121.21580.39570.93530.28061.02880.1295
Weighted Prediction From Real Data
MetricValue
predicted_BB1.0870
predicted_ER1.1350
predicted_ERA2.7093
predicted_H3.4500
predicted_HR0.2970
predicted_IP3.2000
predicted_SO3.0100
predicted_WHIP1.2032
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00001.08700.6348model_form_blend
predicted_ER2.00001.13501.4948model_form_blend
predicted_ERA-2.70932.7093form_only
predicted_H3.00003.45003.2628model_form_blend
predicted_HR1.00000.29700.5894model_form_blend
predicted_IP1.00003.20002.2000model_form_blend
predicted_SO1.00003.01002.1739model_form_blend
predicted_WHIP-1.20321.2032form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.0
H1
R1
ER1
BB0
SO1
HR1
BF4
Pitches18

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB1
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_InningsPitched0.2
Pitching_Pitches13
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_pitchingOrder4
allPositionsPlayedP
gameID20261005_NYY@TB
game_typefull
mlbID677960
playerID677960
playerNameRyan Weathers
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-10-05
sl_k_percent25.2
sl_bb_percent6.7
sl_woba0.306
sl_xwoba0.319
sl_sweet_spot_percent32.0
sl_barrel_batted_rate8.6
sl_hard_hit_percent40.6
sl_whiff_percent27.0
sl_swing_percent44.8
sl_avg_best_speed77.68228672
sl_avg_hyper_speed94.601750608
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 20261008: 65
All-history rows before 20261008: 65

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.5230.000-0.5230.000
predicted_ER0.0000.0000.000Pitching_ER0.2310.000-0.2310.000
predicted_H1.0001.0001.000Pitching_H0.9230.0000.0771.000
predicted_IP1.1001.1001.100Pitching_InningsPitched1.2201.000-0.1200.100
predicted_SO1.0001.0001.000Pitching_SO1.0620.000-0.0621.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectworse
Changed Metrics3
Boosted Metrics1
Deboosted Metrics2
Better Metrics1
Worse Metrics2
Biggest Boostpredicted_H: 0.0000 -> 1.0000 (boost 1.0000, worse)
Biggest Deboostpredicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization31212predicted_H: 0.0000 -> 1.0000 (boost 1.0000, worse)predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "621112",
  "player_name": "Paul Blackburn",
  "position": "Middle Reliever (High Leverage)",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 1.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.3333,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 1.3333,
          "after": 1.1,
          "delta": -0.2333,
          "percent_delta": -0.175,
          "direction": "deboost",
          "projection_effect": "worse",
          "material": true
        }
      ],
      "summary": {
        "changed_metrics": 3,
        "boosted_metrics": 1,
        "deboosted_metrics": 2,
        "better_metrics": 1,
        "worse_metrics": 2,
        "biggest_boost": {
          "metric": "predicted_H",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "projection_effect": "worse",
          "material": true
        },
        "biggest_deboost": {
          "metric": "predicted_BB",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 1.3333,
        "after": 1.1,
        "delta": -0.2333,
        "percent_delta": -0.175,
        "direction": "deboost",
        "projection_effect": "worse",
        "material": true
      }
    ],
    "summary": {
      "changed_metrics": 3,
      "boosted_metrics": 1,
      "deboosted_metrics": 2,
      "better_metrics": 1,
      "worse_metrics": 2,
      "biggest_boost": {
        "metric": "predicted_H",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "projection_effect": "worse",
        "material": true
      },
      "biggest_deboost": {
        "metric": "predicted_BB",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "worse"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

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

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF5.000-
ER0.000-
H1.000-
HR0.000-
IP1.100-
Pitches17.000-
R0.000-
SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 65
Reference playing time: 1.333
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4556.1000.0003.0002.0001.0000.0000.00000.78950.00000.47370.31580.15790.0000
last_100.351011.0000.0007.0006.0004.0000.0000.00001.18180.00000.63640.54540.36360.0000
season0.206589.10015.00060.00034.00069.0007.0001.51121.05220.16790.67160.38060.77240.0784
Weighted Prediction From Real Data
MetricValue
predicted_BB0.5000
predicted_ER0.1690
predicted_ERA1.2242
predicted_H0.8180
predicted_HR0.0550
predicted_IP1.1000
predicted_SO0.5920
predicted_WHIP1.0617
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB1.00000.50000.7201model_form_blend
predicted_ER0.00000.16900.0946model_form_blend
predicted_ERA-1.22421.2242form_only
predicted_H0.00000.81800.4580model_form_blend
predicted_HR0.00000.05500.0308model_form_blend
predicted_IP1.10001.10001.1000model_form_blend
predicted_SO1.00000.59200.7716model_form_blend
predicted_WHIP-1.06171.0617form_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.1
H1
R0
ER0
BB0
SO1
HR0
BF5
Pitches17

Latest Real Data Snapshot (before report date)

Latest Real Data ColumnValue
BaseRunning_CS0
BaseRunning_PO0
BaseRunning_SB0
Fielding_E0
Fielding_Outfield assists0
Fielding_Passed Ball0
Fielding_Pickoffs0
Hitting_2B0
Hitting_3B0
Hitting_AB0
Hitting_AVG0.0
Hitting_BB0
Hitting_GIDP0
Hitting_H0
Hitting_HBP0
Hitting_HR0
Hitting_IBB0
Hitting_R0
Hitting_RBI0
Hitting_SAC0
Hitting_SF0
Hitting_SO0
Hitting_TB0
Hitting_battingOrder0
Hitting_substitutionOrder0
Pitching_BB0
Pitching_Balk0
Pitching_Batters Faced3
Pitching_ER0
Pitching_ERA0.00
Pitching_Flyouts0
Pitching_Groundouts3
Pitching_H0
Pitching_HBP0
Pitching_HR0
Pitching_Inherited Runners1
Pitching_Inherited Runners Scored0
Pitching_InningsPitched1.0
Pitching_Pitches12
Pitching_R0
Pitching_SO0
Pitching_Strikes7
Pitching_Wild Pitch0
Pitching_pitchingOrder5
allPositionsPlayedP
gameID20261005_NYY@TB
game_typefull
mlbID621112
playerID621112
playerNamePaul Blackburn
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-10-05
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
John Schreiber (670167) · PITCHER · Middle Reliever (High Leverage) · Team NYY
Player Historical Window (helpers): 75 games (system)
Player Historical Window (balancing): 162 games (system)
2026 rows before 20261008: 13
All-history rows before 20261008: 13

Metric-by-Metric Comparison

MetricXGBoost RawFinal Simulated PredictionPre-Sim FinalizedTrue Data ColumnHistorical BaselineLatest Real GameFinal - BaselineFinal - Latest Real
predicted_BB0.0000.0000.000Pitching_BB0.3080.000-0.3080.000
predicted_ER0.0000.0000.000Pitching_ER0.1540.000-0.1540.000
predicted_H0.0000.0000.000Pitching_H0.6150.000-0.6150.000
predicted_IP1.1001.1001.100Pitching_InningsPitched0.8921.0000.2080.100
predicted_SO1.0001.0001.000Pitching_SO0.4621.0000.5380.000

Boost/Deboost Impact Trace

Impact ItemValue
Frompitcher_rate_projection
Tocurrent_json_final
Dominant Effectbetter
Changed Metrics3
Boosted Metrics2
Deboosted Metrics1
Better Metrics3
Worse Metrics0
Biggest Boostpredicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better)
Biggest Deboostpredicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better)
#StepChangedBoostedDeboostedBetterWorseBiggest BoostBiggest DeboostReason
1pitcher_rate_projection00000--Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty
2pitcher_form_blend00000--Pitcher model/profile expectation with Bayesian recent-form shrinkage
3team_form_adjustment00000--Club form: innings, run prevention and strikeout factors
4savant_pitcher_quality00000--Statcast pitch quality: strikeout, walk, home-run and run-prevention factors
5opposing_lineup_context00000--The nine hitters he faces: batter quality, weighted by plate appearances
6kpi_run_environment00000--KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale
7play_by_play_realization32130predicted_SO: 0.0000 -> 1.0000 (boost 1.0000, better)predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, better)Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play
8current_json_final00000--Published player line stored in the game JSON (model predictions and finalized integer line)
Raw Prediction Impact Trace JSON
{
  "trace_version": "1.1",
  "role": "pitcher",
  "player_id": "670167",
  "player_name": "John Schreiber",
  "position": "Middle Reliever (High Leverage)",
  "team": "NYY",
  "steps": [
    {
      "index": 1,
      "step": "pitcher_rate_projection",
      "description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
      "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
      }
    },
    {
      "index": 2,
      "step": "pitcher_form_blend",
      "description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 1.0,
        "predicted_HR": 0.0,
        "predicted_IP": 0.6667,
        "predicted_SO": 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
      }
    },
    {
      "index": 3,
      "step": "team_form_adjustment",
      "description": "Club form: innings, run prevention and strikeout factors",
      "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
      }
    },
    {
      "index": 4,
      "step": "savant_pitcher_quality",
      "description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
      "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
      }
    },
    {
      "index": 5,
      "step": "opposing_lineup_context",
      "description": "The nine hitters he faces: batter quality, weighted by plate appearances",
      "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": {
        "H": 0.0,
        "BB": 0.15,
        "SO": 0.35,
        "HR": 0.0
      }
    },
    {
      "index": 6,
      "step": "kpi_run_environment",
      "description": "KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale",
      "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
      }
    },
    {
      "index": 7,
      "step": "play_by_play_realization",
      "description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_R": 0.0,
        "predicted_SO": 1.0
      },
      "changed_metrics": [
        {
          "metric": "predicted_H",
          "before": 1.0,
          "after": 0.0,
          "delta": -1.0,
          "percent_delta": -1.0,
          "direction": "deboost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_IP",
          "before": 0.6667,
          "after": 1.1,
          "delta": 0.4333,
          "percent_delta": 0.65,
          "direction": "boost",
          "projection_effect": "better",
          "material": true
        },
        {
          "metric": "predicted_SO",
          "before": 0.0,
          "after": 1.0,
          "delta": 1.0,
          "percent_delta": null,
          "direction": "boost",
          "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_SO",
          "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": "better",
          "material": true
        }
      }
    },
    {
      "index": 8,
      "step": "current_json_final",
      "description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
      "stats": {
        "predicted_BB": 0.0,
        "predicted_ER": 0.0,
        "predicted_H": 0.0,
        "predicted_HR": 0.0,
        "predicted_IP": 1.1,
        "predicted_SO": 1.0
      },
      "changed_metrics": [],
      "summary": {
        "changed_metrics": 0,
        "boosted_metrics": 0,
        "deboosted_metrics": 0,
        "better_metrics": 0,
        "worse_metrics": 0,
        "biggest_boost": null,
        "biggest_deboost": null
      }
    }
  ],
  "total_change": {
    "from_step": "pitcher_rate_projection",
    "to_step": "current_json_final",
    "changed_metrics": [
      {
        "metric": "predicted_H",
        "before": 1.0,
        "after": 0.0,
        "delta": -1.0,
        "percent_delta": -1.0,
        "direction": "deboost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_IP",
        "before": 0.6667,
        "after": 1.1,
        "delta": 0.4333,
        "percent_delta": 0.65,
        "direction": "boost",
        "projection_effect": "better",
        "material": true
      },
      {
        "metric": "predicted_SO",
        "before": 0.0,
        "after": 1.0,
        "delta": 1.0,
        "percent_delta": null,
        "direction": "boost",
        "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_SO",
        "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": "better",
        "material": true
      },
      "has_material_change": true,
      "dominant_effect": "better"
    }
  }
}

Prediction Evolution Trace (from JSON)

1. pitcher_rate_projection

Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty

MetricValueDelta vs Prev Step
2. pitcher_form_blend

Pitcher model/profile expectation with Bayesian recent-form shrinkage

MetricValueDelta vs Prev Step
predicted_BB0.000-
predicted_ER0.000-
predicted_H1.000-
predicted_HR0.000-
predicted_IP0.667-
predicted_SO0.000-
3. team_form_adjustment

Club form: innings, run prevention and strikeout factors

MetricValueDelta vs Prev Step
4. savant_pitcher_quality

Statcast pitch quality: strikeout, walk, home-run and run-prevention factors

MetricValueDelta vs Prev Step
5. opposing_lineup_context

The nine hitters he faces: batter quality, weighted by plate appearances

MetricValueDelta vs Prev Step
6. kpi_run_environment

KPI blend withheld: values_fresh; the staff line follows the published score, not a KPI rescale

MetricValueDelta vs Prev Step
7. play_by_play_realization

Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play

MetricValueDelta vs Prev Step
BB0.000-
BF4.000-
ER0.000-
H0.000-
HR0.000-
IP1.100-
Pitches15.000-
R0.000-
SO1.000-

Weighted Real-Data Form Profile

Blend weights: last 5=0.45, last 10=0.35, season=0.20
Rows used: 68
Reference playing time: 0.667
WindowWeightGamesTotal IPTotal ERTotal HTotal BBTotal SOTotal HRERAWHIPER_per_IPH_per_IPBB_per_IPSO_per_IPHR_per_IP
last_50.4554.0000.0003.0000.0003.0000.0000.00000.75000.00000.75000.00000.75000.0000
last_100.35109.2002.0008.0002.0005.0000.0001.86211.03450.20690.82760.20690.51720.0000
season0.206862.10022.00049.00026.00042.0007.0003.17651.20320.35290.78610.41710.67380.1123
Weighted Prediction From Real Data
MetricValue
predicted_BB0.1750
predicted_ER0.1970
predicted_ERA2.2209
predicted_H0.6710
predicted_HR0.0460
predicted_IP0.2000
predicted_SO0.5850
predicted_WHIP1.0593
Model/Form Calibration Trace
MetricModelWeighted FormFinal Model InputSource
predicted_BB0.00000.17500.0931model_form_blend
predicted_ER0.00000.19700.1048model_form_blend
predicted_ERA-2.22092.2209form_only
predicted_H1.00000.67100.8250model_form_blend
predicted_HR0.00000.04600.0245model_form_blend
predicted_IP0.20000.20000.2000model_form_blend
predicted_SO0.00000.58500.3111model_form_blend
predicted_WHIP-1.05931.0593form_only

Model Data Source Trace

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

Simulation Box Score (from JSON)

Simulation Box Score FieldValue
IP1.1
H0
R0
ER0
BB0
SO1
HR0
BF4
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_Pitches15
Pitching_R0
Pitching_SO1
Pitching_Strikes10
Pitching_Wild Pitch0
Pitching_pitchingOrder3
allPositionsPlayedP
gameID20261005_NYY@TB
game_typefull
mlbID670167
playerID670167
playerNameJohn Schreiber
posP
startedFalse
startingPositionP
teamNYY
teamID19
game_date2026-10-05
sl_k_percent16.3
sl_bb_percent10.6
sl_woba0.3
sl_xwoba0.309
sl_sweet_spot_percent33.5
sl_barrel_batted_rate5.1
sl_hard_hit_percent38.0
sl_whiff_percent20.9
sl_swing_percent44.6
sl_avg_best_speed77.86320375
sl_avg_hyper_speed93.8817088